Skip to content

Instantly share code, notes, and snippets.

@gnachman
Created October 5, 2023 16:06
Show Gist options
  • Save gnachman/f7d05bf54f766692e7b2c963d1c56338 to your computer and use it in GitHub Desktop.
Save gnachman/f7d05bf54f766692e7b2c963d1c56338 to your computer and use it in GitHub Desktop.
SwiftLanguageRuntime: _swift_disableExclusivityChecking = 8089784864
== [UserExpression::Evaluate] Parsing expression
struct {
const char *issue_kind;
const char *message;
const char *filename;
unsigned line;
unsigned col;
char *memory_addr;
} t;
__ubsan_get_current_report_data(&t.issue_kind, &t.message, &t.filename, &t.line,
&t.col, &t.memory_addr);
t;
==
ClangUserExpression::ScanContext()
[CUE::SC] Null function
ClangModulesDeclVendor's compiler flags clang -fmodules -fimplicit-module-maps -fcxx-modules -fsyntax-only -femit-all-decls -target arm64-apple-macosx11.0.0 -fmodules-validate-system-headers -Werror=non-modular-include-in-framework-module -Rmodule-build -x objective-c++ -fobjc-arc -fblocks -D_ISO646_H -D__ISO646_H -fgnuc-version=4.2.1 -mmacos-version-min=14.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk LLDBModulesMemoryBuffer -fmodules-cache-path=/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/C/clang/ModuleCache -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/clang
Parsing the following code:
#line 1 "<lldb wrapper prefix>"
#ifndef offsetof
#define offsetof(t, d) __builtin_offsetof(t, d)
#endif
#ifndef NULL
#define NULL (__null)
#endif
#ifndef Nil
#define Nil (__null)
#endif
#ifndef nil
#define nil (__null)
#endif
#ifndef YES
#define YES ((BOOL)1)
#endif
#ifndef NO
#define NO ((BOOL)0)
#endif
typedef __INT8_TYPE__ int8_t;
typedef __UINT8_TYPE__ uint8_t;
typedef __INT16_TYPE__ int16_t;
typedef __UINT16_TYPE__ uint16_t;
typedef __INT32_TYPE__ int32_t;
typedef __UINT32_TYPE__ uint32_t;
typedef __INT64_TYPE__ int64_t;
typedef __UINT64_TYPE__ uint64_t;
typedef __INTPTR_TYPE__ intptr_t;
typedef __UINTPTR_TYPE__ uintptr_t;
typedef __SIZE_TYPE__ size_t;
typedef __PTRDIFF_TYPE__ ptrdiff_t;
typedef unsigned short unichar;
extern "C"
{
int printf(const char * __restrict, ...);
}
typedef bool BOOL;
extern "C" {
void
__ubsan_get_current_report_data(const char **OutIssueKind,
const char **OutMessage, const char **OutFilename, unsigned *OutLine,
unsigned *OutCol, char **OutMemoryAddr);
}
void
$__lldb_expr(void *$__lldb_arg)
{
;
#line 1 "<user expression 0>"
struct {
const char *issue_kind;
const char *message;
const char *filename;
unsigned line;
unsigned col;
char *memory_addr;
} t;
__ubsan_get_current_report_data(&t.issue_kind, &t.message, &t.filename, &t.line,
&t.col, &t.memory_addr);
t;
;
#line 1 "<lldb wrapper suffix>"
}
Frame has language of type objective-c++
Using arm64-apple-macosx11.0.0 as the target triple
Using SIMD alignment: 0
Target datalayout string: 'e-m:o-i64:64-i128:128-n32:64-S128'
Target ABI: 'aapcs'
Target vector alignment: 128
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x00000001411CB000 'Expression ASTContext for '<user expression 0>'' for '$__lldb_arg' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x00000001411CB000 'Expression ASTContext for '<user expression 0>'' for '$__lldb_expr' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
ClangExpressionDeclMap::FindExternalVisibleDecls for 't' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
TypeSystemSwiftTypeRef("iTerm2")::TypeSystemSwiftTypeRef()
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x00000001411CB000 'Expression ASTContext for '<user expression 0>'' for 't' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
AppleObjCDeclVendor::FindDecls ('t', false, 1, )
AOCTV::FT Couldn't find t in the ASTContext
objc_debug_realized_class_generation_count changed from 0 to 4430
Creating utility function __lldb_apple_objc_v2_get_dynamic_class_info3
Using arm64-apple-macosx11.0.0 as the target triple
Using SIMD alignment: 0
Target datalayout string: 'e-m:o-i64:64-i128:128-n32:64-S128'
Target ABI: 'aapcs'
Target vector alignment: 128
LayoutRecordType on (ASTContext*)0x0000000127BE3800 'Expression ASTContext for '<clang expression>'' for (RecordDecl*)0x0000000127C28BB0 [name = 'ClassInfo']
Found function _Z44__lldb_apple_objc_v2_get_dynamic_class_info3PvS_jS_jj for __lldb_apple_objc_v2_get_dynamic_class_info3
DoPrepareForExecution - Current expression language is unknown
Module as passed in to IRForTarget:
"; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.ClassInfo = type <{ ptr, i32 }>
@.str = private unnamed_addr constant [22 x i8] c"class_infos_ptr = %p\0A\00", align 1, !dbg !0
@.str.1 = private unnamed_addr constant [28 x i8] c"class_infos_byte_size = %u\0A\00", align 1, !dbg !8
@.str.2 = private unnamed_addr constant [22 x i8] c"max_class_infos = %u\0A\00", align 1, !dbg !13
@.str.3 = private unnamed_addr constant [12 x i8] c"count = %u\0A\00", align 1, !dbg !15
@.str.4 = private unnamed_addr constant [19 x i8] c"[%u] isa = %8p %s\0A\00", align 1, !dbg !20
; Function Attrs: convergent mustprogress noinline nounwind optnone
define i32 @_Z44__lldb_apple_objc_v2_get_dynamic_class_info3PvS_jS_jj(ptr %gdb_objc_realized_classes_ptr, ptr %class_infos_ptr, i32 %class_infos_byte_size, ptr %class_buffer, i32 %class_buffer_len, i32 %should_log) #0 !dbg !56 {
entry:
%gdb_objc_realized_classes_ptr.addr = alloca ptr, align 8, !clang.decl.ptr !61
%class_infos_ptr.addr = alloca ptr, align 8, !clang.decl.ptr !62
%class_infos_byte_size.addr = alloca i32, align 4, !clang.decl.ptr !63
%class_buffer.addr = alloca ptr, align 8, !clang.decl.ptr !64
%class_buffer_len.addr = alloca i32, align 4, !clang.decl.ptr !65
%should_log.addr = alloca i32, align 4, !clang.decl.ptr !66
%max_class_infos = alloca i64, align 8, !clang.decl.ptr !67
%class_infos = alloca ptr, align 8, !clang.decl.ptr !68
%realized_class_list = alloca ptr, align 8, !clang.decl.ptr !69
%count = alloca i32, align 4, !clang.decl.ptr !70
%idx = alloca i32, align 4, !clang.decl.ptr !71
%i = alloca i32, align 4, !clang.decl.ptr !72
%isa = alloca ptr, align 8, !clang.decl.ptr !73
%name_ptr = alloca ptr, align 8, !clang.decl.ptr !74
%s = alloca ptr, align 8, !clang.decl.ptr !75
%h = alloca i32, align 4, !clang.decl.ptr !76
%c = alloca i8, align 1, !clang.decl.ptr !77
store ptr %gdb_objc_realized_classes_ptr, ptr %gdb_objc_realized_classes_ptr.addr, align 8
call void @llvm.dbg.declare(metadata ptr %gdb_objc_realized_classes_ptr.addr, metadata !78, metadata !DIExpression()), !dbg !79
store ptr %class_infos_ptr, ptr %class_infos_ptr.addr, align 8
call void @llvm.dbg.declare(metadata ptr %class_infos_ptr.addr, metadata !80, metadata !DIExpression()), !dbg !81
store i32 %class_infos_byte_size, ptr %class_infos_byte_size.addr, align 4
call void @llvm.dbg.declare(metadata ptr %class_infos_byte_size.addr, metadata !82, metadata !DIExpression()), !dbg !83
store ptr %class_buffer, ptr %class_buffer.addr, align 8
call void @llvm.dbg.declare(metadata ptr %class_buffer.addr, metadata !84, metadata !DIExpression()), !dbg !85
store i32 %class_buffer_len, ptr %class_buffer_len.addr, align 4
call void @llvm.dbg.declare(metadata ptr %class_buffer_len.addr, metadata !86, metadata !DIExpression()), !dbg !87
store i32 %should_log, ptr %should_log.addr, align 4
call void @llvm.dbg.declare(metadata ptr %should_log.addr, metadata !88, metadata !DIExpression()), !dbg !89
%0 = load i32, ptr %should_log.addr, align 4, !dbg !90
%tobool = icmp ne i32 %0, 0, !dbg !90
br i1 %tobool, label %if.then, label %if.end, !dbg !92
if.then: ; preds = %entry
%1 = load ptr, ptr %class_infos_ptr.addr, align 8, !dbg !90
%call = call i32 (ptr, ...) @printf(ptr @.str, ptr %1) #3, !dbg !90
br label %if.end, !dbg !90
if.end: ; preds = %if.then, %entry
%2 = load i32, ptr %should_log.addr, align 4, !dbg !93
%tobool1 = icmp ne i32 %2, 0, !dbg !93
br i1 %tobool1, label %if.then2, label %if.end4, !dbg !95
if.then2: ; preds = %if.end
%3 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !93
%call3 = call i32 (ptr, ...) @printf(ptr @.str.1, i32 %3) #3, !dbg !93
br label %if.end4, !dbg !93
if.end4: ; preds = %if.then2, %if.end
call void @llvm.dbg.declare(metadata ptr %max_class_infos, metadata !96, metadata !DIExpression()), !dbg !100
%4 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !100
%conv = zext i32 %4 to i64, !dbg !100
%div = udiv i64 %conv, 12, !dbg !100
store i64 %div, ptr %max_class_infos, align 8, !dbg !100
%5 = load i32, ptr %should_log.addr, align 4, !dbg !101
%tobool5 = icmp ne i32 %5, 0, !dbg !101
br i1 %tobool5, label %if.then6, label %if.end8, !dbg !103
if.then6: ; preds = %if.end4
%6 = load i64, ptr %max_class_infos, align 8, !dbg !101
%call7 = call i32 (ptr, ...) @printf(ptr @.str.2, i64 %6) #3, !dbg !101
br label %if.end8, !dbg !101
if.end8: ; preds = %if.then6, %if.end4
call void @llvm.dbg.declare(metadata ptr %class_infos, metadata !104, metadata !DIExpression()), !dbg !105
%7 = load ptr, ptr %class_infos_ptr.addr, align 8, !dbg !105
store ptr %7, ptr %class_infos, align 8, !dbg !105
call void @llvm.dbg.declare(metadata ptr %realized_class_list, metadata !106, metadata !DIExpression()), !dbg !107
%8 = load ptr, ptr %class_buffer.addr, align 8, !dbg !107
store ptr %8, ptr %realized_class_list, align 8, !dbg !107
call void @llvm.dbg.declare(metadata ptr %count, metadata !108, metadata !DIExpression()), !dbg !109
%9 = load ptr, ptr %realized_class_list, align 8, !dbg !109
%10 = load i32, ptr %class_buffer_len.addr, align 4, !dbg !110
%conv9 = zext i32 %10 to i64, !dbg !110
%call10 = call i64 @objc_getRealizedClassList_trylock(ptr %9, i64 %conv9) #3, !dbg !109
%conv11 = trunc i64 %call10 to i32, !dbg !109
store i32 %conv11, ptr %count, align 4, !dbg !109
%11 = load i32, ptr %should_log.addr, align 4, !dbg !111
%tobool12 = icmp ne i32 %11, 0, !dbg !111
br i1 %tobool12, label %if.then13, label %if.end15, !dbg !113
if.then13: ; preds = %if.end8
%12 = load i32, ptr %count, align 4, !dbg !111
%call14 = call i32 (ptr, ...) @printf(ptr @.str.3, i32 %12) #3, !dbg !111
br label %if.end15, !dbg !111
if.end15: ; preds = %if.then13, %if.end8
call void @llvm.dbg.declare(metadata ptr %idx, metadata !114, metadata !DIExpression()), !dbg !115
store i32 0, ptr %idx, align 4, !dbg !115
call void @llvm.dbg.declare(metadata ptr %i, metadata !116, metadata !DIExpression()), !dbg !118
store i32 0, ptr %i, align 4, !dbg !118
br label %for.cond, !dbg !118
for.cond: ; preds = %for.inc46, %if.end15
%13 = load i32, ptr %i, align 4, !dbg !119
%14 = load i32, ptr %count, align 4, !dbg !119
%cmp = icmp ult i32 %13, %14, !dbg !119
br i1 %cmp, label %for.body, label %for.end48, !dbg !118
for.body: ; preds = %for.cond
%15 = load i32, ptr %idx, align 4, !dbg !121
%conv16 = zext i32 %15 to i64, !dbg !121
%16 = load i64, ptr %max_class_infos, align 8, !dbg !121
%cmp17 = icmp ult i64 %conv16, %16, !dbg !121
br i1 %cmp17, label %if.then18, label %if.end45, !dbg !124
if.then18: ; preds = %for.body
call void @llvm.dbg.declare(metadata ptr %isa, metadata !125, metadata !DIExpression()), !dbg !127
%17 = load ptr, ptr %realized_class_list, align 8, !dbg !127
%18 = load i32, ptr %i, align 4, !dbg !127
%idxprom = zext i32 %18 to i64, !dbg !127
%arrayidx = getelementptr inbounds ptr, ptr %17, i64 %idxprom, !dbg !127
%19 = load ptr, ptr %arrayidx, align 8, !dbg !127
store ptr %19, ptr %isa, align 8, !dbg !127
call void @llvm.dbg.declare(metadata ptr %name_ptr, metadata !128, metadata !DIExpression()), !dbg !130
%20 = load ptr, ptr %isa, align 8, !dbg !130
%call19 = call ptr @objc_debug_class_getNameRaw(ptr %20) #3, !dbg !130
store ptr %call19, ptr %name_ptr, align 8, !dbg !130
%21 = load ptr, ptr %name_ptr, align 8, !dbg !131
%tobool20 = icmp ne ptr %21, null, !dbg !131
br i1 %tobool20, label %if.end24, label %if.then21, !dbg !133
if.then21: ; preds = %if.then18
%22 = load ptr, ptr %isa, align 8, !dbg !134
%call22 = call ptr @class_getName(ptr %22) #3, !dbg !134
%23 = load ptr, ptr %isa, align 8, !dbg !136
%call23 = call ptr @objc_debug_class_getNameRaw(ptr %23) #3, !dbg !136
store ptr %call23, ptr %name_ptr, align 8, !dbg !136
br label %if.end24, !dbg !137
if.end24: ; preds = %if.then21, %if.then18
%24 = load ptr, ptr %name_ptr, align 8, !dbg !138
%tobool25 = icmp ne ptr %24, null, !dbg !138
br i1 %tobool25, label %if.end27, label %if.then26, !dbg !140
if.then26: ; preds = %if.end24
br label %for.inc46, !dbg !141
if.end27: ; preds = %if.end24
call void @llvm.dbg.declare(metadata ptr %s, metadata !142, metadata !DIExpression()), !dbg !143
%25 = load ptr, ptr %name_ptr, align 8, !dbg !143
store ptr %25, ptr %s, align 8, !dbg !143
call void @llvm.dbg.declare(metadata ptr %h, metadata !144, metadata !DIExpression()), !dbg !145
store i32 5381, ptr %h, align 4, !dbg !145
call void @llvm.dbg.declare(metadata ptr %c, metadata !146, metadata !DIExpression()), !dbg !149
%26 = load ptr, ptr %s, align 8, !dbg !149
%27 = load i8, ptr %26, align 1, !dbg !149
store i8 %27, ptr %c, align 1, !dbg !149
br label %for.cond28, !dbg !149
for.cond28: ; preds = %for.inc, %if.end27
%28 = load i8, ptr %c, align 1, !dbg !150
%tobool29 = icmp ne i8 %28, 0, !dbg !150
br i1 %tobool29, label %for.body30, label %for.end, !dbg !149
for.body30: ; preds = %for.cond28
%29 = load i32, ptr %h, align 4, !dbg !152
%shl = shl i32 %29, 5, !dbg !152
%30 = load i32, ptr %h, align 4, !dbg !152
%add = add i32 %shl, %30, !dbg !152
%31 = load i8, ptr %c, align 1, !dbg !152
%conv31 = zext i8 %31 to i32, !dbg !152
%add32 = add i32 %add, %conv31, !dbg !152
store i32 %add32, ptr %h, align 4, !dbg !152
br label %for.inc, !dbg !152
for.inc: ; preds = %for.body30
%32 = load ptr, ptr %s, align 8, !dbg !150
%incdec.ptr = getelementptr inbounds i8, ptr %32, i32 1, !dbg !150
store ptr %incdec.ptr, ptr %s, align 8, !dbg !150
%33 = load i8, ptr %incdec.ptr, align 1, !dbg !150
store i8 %33, ptr %c, align 1, !dbg !150
br label %for.cond28, !dbg !150, !llvm.loop !153
for.end: ; preds = %for.cond28
%34 = load i32, ptr %h, align 4, !dbg !156
%35 = load ptr, ptr %class_infos, align 8, !dbg !156
%36 = load i32, ptr %idx, align 4, !dbg !156
%idxprom33 = zext i32 %36 to i64, !dbg !156
%arrayidx34 = getelementptr inbounds %struct.ClassInfo, ptr %35, i64 %idxprom33, !dbg !156
%hash = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx34, i32 0, i32 1, !dbg !156
store i32 %34, ptr %hash, align 1, !dbg !156
%37 = load ptr, ptr %isa, align 8, !dbg !157
%38 = load ptr, ptr %class_infos, align 8, !dbg !157
%39 = load i32, ptr %idx, align 4, !dbg !157
%idxprom35 = zext i32 %39 to i64, !dbg !157
%arrayidx36 = getelementptr inbounds %struct.ClassInfo, ptr %38, i64 %idxprom35, !dbg !157
%isa37 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx36, i32 0, i32 0, !dbg !157
store ptr %37, ptr %isa37, align 1, !dbg !157
%40 = load i32, ptr %should_log.addr, align 4, !dbg !158
%tobool38 = icmp ne i32 %40, 0, !dbg !158
br i1 %tobool38, label %if.then39, label %if.end44, !dbg !160
if.then39: ; preds = %for.end
%41 = load i32, ptr %idx, align 4, !dbg !158
%42 = load ptr, ptr %class_infos, align 8, !dbg !158
%43 = load i32, ptr %idx, align 4, !dbg !158
%idxprom40 = zext i32 %43 to i64, !dbg !158
%arrayidx41 = getelementptr inbounds %struct.ClassInfo, ptr %42, i64 %idxprom40, !dbg !158
%isa42 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx41, i32 0, i32 0, !dbg !158
%44 = load ptr, ptr %isa42, align 1, !dbg !158
%45 = load ptr, ptr %name_ptr, align 8, !dbg !158
%call43 = call i32 (ptr, ...) @printf(ptr @.str.4, i32 %41, ptr %44, ptr %45) #3, !dbg !158
br label %if.end44, !dbg !158
if.end44: ; preds = %if.then39, %for.end
br label %if.end45, !dbg !161
if.end45: ; preds = %if.end44, %for.body
%46 = load i32, ptr %idx, align 4, !dbg !162
%inc = add i32 %46, 1, !dbg !162
store i32 %inc, ptr %idx, align 4, !dbg !162
br label %for.inc46, !dbg !163
for.inc46: ; preds = %if.end45, %if.then26
%47 = load i32, ptr %i, align 4, !dbg !119
%inc47 = add i32 %47, 1, !dbg !119
store i32 %inc47, ptr %i, align 4, !dbg !119
br label %for.cond, !dbg !119, !llvm.loop !164
for.end48: ; preds = %for.cond
%48 = load i32, ptr %idx, align 4, !dbg !166
%conv49 = zext i32 %48 to i64, !dbg !166
%49 = load i64, ptr %max_class_infos, align 8, !dbg !166
%cmp50 = icmp ult i64 %conv49, %49, !dbg !166
br i1 %cmp50, label %if.then51, label %if.end58, !dbg !168
if.then51: ; preds = %for.end48
%50 = load ptr, ptr %class_infos, align 8, !dbg !169
%51 = load i32, ptr %idx, align 4, !dbg !169
%idxprom52 = zext i32 %51 to i64, !dbg !169
%arrayidx53 = getelementptr inbounds %struct.ClassInfo, ptr %50, i64 %idxprom52, !dbg !169
%isa54 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx53, i32 0, i32 0, !dbg !169
store ptr null, ptr %isa54, align 1, !dbg !169
%52 = load ptr, ptr %class_infos, align 8, !dbg !171
%53 = load i32, ptr %idx, align 4, !dbg !171
%idxprom55 = zext i32 %53 to i64, !dbg !171
%arrayidx56 = getelementptr inbounds %struct.ClassInfo, ptr %52, i64 %idxprom55, !dbg !171
%hash57 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx56, i32 0, i32 1, !dbg !171
store i32 0, ptr %hash57, align 1, !dbg !171
br label %if.end58, !dbg !172
if.end58: ; preds = %if.then51, %for.end48
%54 = load i32, ptr %count, align 4, !dbg !173
ret i32 %54, !dbg !173
}
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: convergent
declare i32 @printf(ptr, ...) #2
; Function Attrs: convergent
declare i64 @objc_getRealizedClassList_trylock(ptr, i64) #2
; Function Attrs: convergent
declare ptr @objc_debug_class_getNameRaw(ptr) #2
; Function Attrs: convergent
declare ptr @class_getName(ptr) #2
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn }
attributes #2 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #3 = { convergent "no-builtins" }
!llvm.dbg.cu = !{!25}
!llvm.module.flags = !{!41, !42, !43, !44, !45, !46, !47, !48, !49}
!clang.global.decl.ptrs = !{!50, !51, !52, !53, !54}
!llvm.ident = !{!55}
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(scope: null, file: !2, line: 62, type: !3, isLocal: true, isDefinition: true)
!2 = !DIFile(filename: "<lldb wrapper prefix>", directory: "/")
!3 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 176, elements: !6)
!4 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !5)
!5 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
!6 = !{!7}
!7 = !DISubrange(count: 22)
!8 = !DIGlobalVariableExpression(var: !9, expr: !DIExpression())
!9 = distinct !DIGlobalVariable(scope: null, file: !2, line: 63, type: !10, isLocal: true, isDefinition: true)
!10 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 224, elements: !11)
!11 = !{!12}
!12 = !DISubrange(count: 28)
!13 = !DIGlobalVariableExpression(var: !14, expr: !DIExpression())
!14 = distinct !DIGlobalVariable(scope: null, file: !2, line: 66, type: !3, isLocal: true, isDefinition: true)
!15 = !DIGlobalVariableExpression(var: !16, expr: !DIExpression())
!16 = distinct !DIGlobalVariable(scope: null, file: !2, line: 74, type: !17, isLocal: true, isDefinition: true)
!17 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 96, elements: !18)
!18 = !{!19}
!19 = !DISubrange(count: 12)
!20 = !DIGlobalVariableExpression(var: !21, expr: !DIExpression())
!21 = distinct !DIGlobalVariable(scope: null, file: !2, line: 95, type: !22, isLocal: true, isDefinition: true)
!22 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 152, elements: !23)
!23 = !{!24}
!24 = !DISubrange(count: 19)
!25 = distinct !DICompileUnit(language: DW_LANG_ObjC_plus_plus, file: !26, producer: "Apple clang version 15.0.0 (clang-1500.0.40.1)", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug, retainedTypes: !27, globals: !40)
!26 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "/")
!27 = !{!28, !39}
!28 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !29, size: 64)
!29 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "ClassInfo", file: !2, line: 48, size: 96, flags: DIFlagTypePassByValue, elements: !30, identifier: "_ZTS9ClassInfo")
!30 = !{!31, !36}
!31 = !DIDerivedType(tag: DW_TAG_member, name: "isa", scope: !29, file: !2, line: 50, baseType: !32, size: 64)
!32 = !DIDerivedType(tag: DW_TAG_typedef, name: "Class", file: !33, baseType: !34)
!33 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "")
!34 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !35, size: 64)
!35 = !DICompositeType(tag: DW_TAG_structure_type, name: "objc_class", file: !26, flags: DIFlagFwdDecl)
!36 = !DIDerivedType(tag: DW_TAG_member, name: "hash", scope: !29, file: !2, line: 51, baseType: !37, size: 32, offset: 64)
!37 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !2, line: 24, baseType: !38)
!38 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
!39 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !32, size: 64)
!40 = !{!0, !8, !13, !15, !20}
!41 = !{i32 1, !"Objective-C Version", i32 2}
!42 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!43 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!44 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!45 = !{i32 1, !"Objective-C Class Properties", i32 64}
!46 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!47 = !{i32 2, !"Debug Info Version", i32 3}
!48 = !{i32 1, !"wchar_size", i32 4}
!49 = !{i32 7, !"frame-pointer", i32 2}
!50 = !{ptr @_Z44__lldb_apple_objc_v2_get_dynamic_class_info3PvS_jS_jj, i64 4962055680}
!51 = !{ptr @printf, i64 4961922488}
!52 = !{ptr @objc_getRealizedClassList_trylock, i64 4962027368}
!53 = !{ptr @objc_debug_class_getNameRaw, i64 4962027872}
!54 = !{ptr @class_getName, i64 4962028264}
!55 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!56 = distinct !DISubprogram(name: "__lldb_apple_objc_v2_get_dynamic_class_info3", linkageName: "_Z44__lldb_apple_objc_v2_get_dynamic_class_info3PvS_jS_jj", scope: !2, file: !2, line: 55, type: !57, scopeLine: 61, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !25, retainedNodes: !60)
!57 = !DISubroutineType(types: !58)
!58 = !{!37, !59, !59, !37, !59, !37, !37}
!59 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!60 = !{}
!61 = !{i64 4962029320}
!62 = !{i64 4962029448}
!63 = !{i64 4962029568}
!64 = !{i64 4962029696}
!65 = !{i64 4962029816}
!66 = !{i64 4962029936}
!67 = !{i64 4962057080}
!68 = !{i64 4962058280}
!69 = !{i64 4962058576}
!70 = !{i64 4962058864}
!71 = !{i64 4961962216}
!72 = !{i64 4961962440}
!73 = !{i64 4961963032}
!74 = !{i64 4961963376}
!75 = !{i64 4961964696}
!76 = !{i64 4961964920}
!77 = !{i64 4961965152}
!78 = !DILocalVariable(name: "gdb_objc_realized_classes_ptr", arg: 1, scope: !56, file: !2, line: 55, type: !59)
!79 = !DILocation(line: 55, scope: !56)
!80 = !DILocalVariable(name: "class_infos_ptr", arg: 2, scope: !56, file: !2, line: 56, type: !59)
!81 = !DILocation(line: 56, scope: !56)
!82 = !DILocalVariable(name: "class_infos_byte_size", arg: 3, scope: !56, file: !2, line: 57, type: !37)
!83 = !DILocation(line: 57, scope: !56)
!84 = !DILocalVariable(name: "class_buffer", arg: 4, scope: !56, file: !2, line: 58, type: !59)
!85 = !DILocation(line: 58, scope: !56)
!86 = !DILocalVariable(name: "class_buffer_len", arg: 5, scope: !56, file: !2, line: 59, type: !37)
!87 = !DILocation(line: 59, scope: !56)
!88 = !DILocalVariable(name: "should_log", arg: 6, scope: !56, file: !2, line: 60, type: !37)
!89 = !DILocation(line: 60, scope: !56)
!90 = !DILocation(line: 62, scope: !91)
!91 = distinct !DILexicalBlock(scope: !56, file: !2, line: 62)
!92 = !DILocation(line: 62, scope: !56)
!93 = !DILocation(line: 63, scope: !94)
!94 = distinct !DILexicalBlock(scope: !56, file: !2, line: 63)
!95 = !DILocation(line: 63, scope: !56)
!96 = !DILocalVariable(name: "max_class_infos", scope: !56, file: !2, line: 65, type: !97)
!97 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !98)
!98 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_t", file: !2, line: 29, baseType: !99)
!99 = !DIBasicType(name: "unsigned long", size: 64, encoding: DW_ATE_unsigned)
!100 = !DILocation(line: 65, scope: !56)
!101 = !DILocation(line: 66, scope: !102)
!102 = distinct !DILexicalBlock(scope: !56, file: !2, line: 66)
!103 = !DILocation(line: 66, scope: !56)
!104 = !DILocalVariable(name: "class_infos", scope: !56, file: !2, line: 68, type: !28)
!105 = !DILocation(line: 68, scope: !56)
!106 = !DILocalVariable(name: "realized_class_list", scope: !56, file: !2, line: 70, type: !39)
!107 = !DILocation(line: 70, scope: !56)
!108 = !DILocalVariable(name: "count", scope: !56, file: !2, line: 72, type: !37)
!109 = !DILocation(line: 72, scope: !56)
!110 = !DILocation(line: 73, scope: !56)
!111 = !DILocation(line: 74, scope: !112)
!112 = distinct !DILexicalBlock(scope: !56, file: !2, line: 74)
!113 = !DILocation(line: 74, scope: !56)
!114 = !DILocalVariable(name: "idx", scope: !56, file: !2, line: 76, type: !37)
!115 = !DILocation(line: 76, scope: !56)
!116 = !DILocalVariable(name: "i", scope: !117, file: !2, line: 77, type: !37)
!117 = distinct !DILexicalBlock(scope: !56, file: !2, line: 77)
!118 = !DILocation(line: 77, scope: !117)
!119 = !DILocation(line: 77, scope: !120)
!120 = distinct !DILexicalBlock(scope: !117, file: !2, line: 77)
!121 = !DILocation(line: 79, scope: !122)
!122 = distinct !DILexicalBlock(scope: !123, file: !2, line: 79)
!123 = distinct !DILexicalBlock(scope: !120, file: !2, line: 78)
!124 = !DILocation(line: 79, scope: !123)
!125 = !DILocalVariable(name: "isa", scope: !126, file: !2, line: 81, type: !32)
!126 = distinct !DILexicalBlock(scope: !122, file: !2, line: 80)
!127 = !DILocation(line: 81, scope: !126)
!128 = !DILocalVariable(name: "name_ptr", scope: !126, file: !2, line: 82, type: !129)
!129 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !4, size: 64)
!130 = !DILocation(line: 82, scope: !126)
!131 = !DILocation(line: 83, scope: !132)
!132 = distinct !DILexicalBlock(scope: !126, file: !2, line: 83)
!133 = !DILocation(line: 83, scope: !126)
!134 = !DILocation(line: 84, scope: !135)
!135 = distinct !DILexicalBlock(scope: !132, file: !2, line: 83)
!136 = !DILocation(line: 85, scope: !135)
!137 = !DILocation(line: 86, scope: !135)
!138 = !DILocation(line: 87, scope: !139)
!139 = distinct !DILexicalBlock(scope: !126, file: !2, line: 87)
!140 = !DILocation(line: 87, scope: !126)
!141 = !DILocation(line: 88, scope: !139)
!142 = !DILocalVariable(name: "s", scope: !126, file: !2, line: 89, type: !129)
!143 = !DILocation(line: 89, scope: !126)
!144 = !DILocalVariable(name: "h", scope: !126, file: !2, line: 90, type: !37)
!145 = !DILocation(line: 90, scope: !126)
!146 = !DILocalVariable(name: "c", scope: !147, file: !2, line: 91, type: !148)
!147 = distinct !DILexicalBlock(scope: !126, file: !2, line: 91)
!148 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char)
!149 = !DILocation(line: 91, scope: !147)
!150 = !DILocation(line: 91, scope: !151)
!151 = distinct !DILexicalBlock(scope: !147, file: !2, line: 91)
!152 = !DILocation(line: 92, scope: !151)
!153 = distinct !{!153, !149, !154, !155}
!154 = !DILocation(line: 92, scope: !147)
!155 = !{!"llvm.loop.mustprogress"}
!156 = !DILocation(line: 93, scope: !126)
!157 = !DILocation(line: 94, scope: !126)
!158 = !DILocation(line: 95, scope: !159)
!159 = distinct !DILexicalBlock(scope: !126, file: !2, line: 95)
!160 = !DILocation(line: 95, scope: !126)
!161 = !DILocation(line: 96, scope: !126)
!162 = !DILocation(line: 97, scope: !123)
!163 = !DILocation(line: 98, scope: !123)
!164 = distinct !{!164, !118, !165, !155}
!165 = !DILocation(line: 98, scope: !117)
!166 = !DILocation(line: 100, scope: !167)
!167 = distinct !DILexicalBlock(scope: !56, file: !2, line: 100)
!168 = !DILocation(line: 100, scope: !56)
!169 = !DILocation(line: 102, scope: !170)
!170 = distinct !DILexicalBlock(scope: !167, file: !2, line: 101)
!171 = !DILocation(line: 103, scope: !170)
!172 = !DILocation(line: 104, scope: !170)
!173 = !DILocation(line: 106, scope: !56)
"
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %gdb_objc_realized_classes_ptr.addr, metadata !78, metadata !DIExpression()), !dbg !79)
MaybeHandleVariable (ptr %gdb_objc_realized_classes_ptr.addr)
MaybeHandleVariable (!78 = !DILocalVariable(name: "gdb_objc_realized_classes_ptr", arg: 1, scope: !56, file: !2, line: 55, type: !59))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %class_infos_ptr.addr, metadata !80, metadata !DIExpression()), !dbg !81)
MaybeHandleVariable (ptr %class_infos_ptr.addr)
MaybeHandleVariable (!80 = !DILocalVariable(name: "class_infos_ptr", arg: 2, scope: !56, file: !2, line: 56, type: !59))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %class_infos_byte_size.addr, metadata !82, metadata !DIExpression()), !dbg !83)
MaybeHandleVariable (ptr %class_infos_byte_size.addr)
MaybeHandleVariable (!82 = !DILocalVariable(name: "class_infos_byte_size", arg: 3, scope: !56, file: !2, line: 57, type: !37))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %class_buffer.addr, metadata !84, metadata !DIExpression()), !dbg !85)
MaybeHandleVariable (ptr %class_buffer.addr)
MaybeHandleVariable (!84 = !DILocalVariable(name: "class_buffer", arg: 4, scope: !56, file: !2, line: 58, type: !59))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %class_buffer_len.addr, metadata !86, metadata !DIExpression()), !dbg !87)
MaybeHandleVariable (ptr %class_buffer_len.addr)
MaybeHandleVariable (!86 = !DILocalVariable(name: "class_buffer_len", arg: 5, scope: !56, file: !2, line: 59, type: !37))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %should_log.addr, metadata !88, metadata !DIExpression()), !dbg !89)
MaybeHandleVariable (ptr %should_log.addr)
MaybeHandleVariable (!88 = !DILocalVariable(name: "should_log", arg: 6, scope: !56, file: !2, line: 60, type: !37))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call = call i32 (ptr, ...) @printf(ptr @.str, ptr %1) #3, !dbg !90)
MaybeHandleVariable (@.str = private unnamed_addr constant [22 x i8] c"class_infos_ptr = %p\0A\00", align 1, !dbg !0)
MaybeHandleVariable ( %1 = load ptr, ptr %class_infos_ptr.addr, align 8, !dbg !90)
MaybeHandleCallArguments( %call3 = call i32 (ptr, ...) @printf(ptr @.str.1, i32 %3) #3, !dbg !93)
MaybeHandleVariable (@.str.1 = private unnamed_addr constant [28 x i8] c"class_infos_byte_size = %u\0A\00", align 1, !dbg !8)
MaybeHandleVariable ( %3 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !93)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %max_class_infos, metadata !96, metadata !DIExpression()), !dbg !100)
MaybeHandleVariable (ptr %max_class_infos)
MaybeHandleVariable (!96 = !DILocalVariable(name: "max_class_infos", scope: !56, file: !2, line: 65, type: !97))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call7 = call i32 (ptr, ...) @printf(ptr @.str.2, i64 %6) #3, !dbg !101)
MaybeHandleVariable (@.str.2 = private unnamed_addr constant [22 x i8] c"max_class_infos = %u\0A\00", align 1, !dbg !13)
MaybeHandleVariable ( %6 = load i64, ptr %max_class_infos, align 8, !dbg !101)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %class_infos, metadata !104, metadata !DIExpression()), !dbg !105)
MaybeHandleVariable (ptr %class_infos)
MaybeHandleVariable (!104 = !DILocalVariable(name: "class_infos", scope: !56, file: !2, line: 68, type: !28))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %realized_class_list, metadata !106, metadata !DIExpression()), !dbg !107)
MaybeHandleVariable (ptr %realized_class_list)
MaybeHandleVariable (!106 = !DILocalVariable(name: "realized_class_list", scope: !56, file: !2, line: 70, type: !39))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %count, metadata !108, metadata !DIExpression()), !dbg !109)
MaybeHandleVariable (ptr %count)
MaybeHandleVariable (!108 = !DILocalVariable(name: "count", scope: !56, file: !2, line: 72, type: !37))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call10 = call i64 @objc_getRealizedClassList_trylock(ptr %9, i64 %conv9) #3, !dbg !109)
MaybeHandleVariable ( %9 = load ptr, ptr %realized_class_list, align 8, !dbg !109)
MaybeHandleVariable ( %conv9 = zext i32 %10 to i64, !dbg !110)
MaybeHandleCallArguments( %call14 = call i32 (ptr, ...) @printf(ptr @.str.3, i32 %12) #3, !dbg !111)
MaybeHandleVariable (@.str.3 = private unnamed_addr constant [12 x i8] c"count = %u\0A\00", align 1, !dbg !15)
MaybeHandleVariable ( %12 = load i32, ptr %count, align 4, !dbg !111)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %idx, metadata !114, metadata !DIExpression()), !dbg !115)
MaybeHandleVariable (ptr %idx)
MaybeHandleVariable (!114 = !DILocalVariable(name: "idx", scope: !56, file: !2, line: 76, type: !37))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %i, metadata !116, metadata !DIExpression()), !dbg !118)
MaybeHandleVariable (ptr %i)
MaybeHandleVariable (!116 = !DILocalVariable(name: "i", scope: !117, file: !2, line: 77, type: !37))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %isa, metadata !125, metadata !DIExpression()), !dbg !127)
MaybeHandleVariable (ptr %isa)
MaybeHandleVariable (!125 = !DILocalVariable(name: "isa", scope: !126, file: !2, line: 81, type: !32))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %name_ptr, metadata !128, metadata !DIExpression()), !dbg !130)
MaybeHandleVariable (ptr %name_ptr)
MaybeHandleVariable (!128 = !DILocalVariable(name: "name_ptr", scope: !126, file: !2, line: 82, type: !129))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call19 = call ptr @objc_debug_class_getNameRaw(ptr %20) #3, !dbg !130)
MaybeHandleVariable ( %20 = load ptr, ptr %isa, align 8, !dbg !130)
MaybeHandleCallArguments( %call22 = call ptr @class_getName(ptr %22) #3, !dbg !134)
MaybeHandleVariable ( %22 = load ptr, ptr %isa, align 8, !dbg !134)
MaybeHandleCallArguments( %call23 = call ptr @objc_debug_class_getNameRaw(ptr %23) #3, !dbg !136)
MaybeHandleVariable ( %23 = load ptr, ptr %isa, align 8, !dbg !136)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %s, metadata !142, metadata !DIExpression()), !dbg !143)
MaybeHandleVariable (ptr %s)
MaybeHandleVariable (!142 = !DILocalVariable(name: "s", scope: !126, file: !2, line: 89, type: !129))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %h, metadata !144, metadata !DIExpression()), !dbg !145)
MaybeHandleVariable (ptr %h)
MaybeHandleVariable (!144 = !DILocalVariable(name: "h", scope: !126, file: !2, line: 90, type: !37))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %c, metadata !146, metadata !DIExpression()), !dbg !149)
MaybeHandleVariable (ptr %c)
MaybeHandleVariable (!146 = !DILocalVariable(name: "c", scope: !147, file: !2, line: 91, type: !148))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call43 = call i32 (ptr, ...) @printf(ptr @.str.4, i32 %41, ptr %44, ptr %45) #3, !dbg !158)
MaybeHandleVariable (@.str.4 = private unnamed_addr constant [19 x i8] c"[%u] isa = %8p %s\0A\00", align 1, !dbg !20)
MaybeHandleVariable ( %41 = load i32, ptr %idx, align 4, !dbg !158)
MaybeHandleVariable ( %44 = load ptr, ptr %isa42, align 1, !dbg !158)
MaybeHandleVariable ( %45 = load ptr, ptr %name_ptr, align 8, !dbg !158)
Examining .str, DeclForGlobalValue returns 0x0000000000000000
Examining .str.1, DeclForGlobalValue returns 0x0000000000000000
Examining .str.2, DeclForGlobalValue returns 0x0000000000000000
Examining .str.3, DeclForGlobalValue returns 0x0000000000000000
Examining .str.4, DeclForGlobalValue returns 0x0000000000000000
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000
Module being sent to JIT:
; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.ClassInfo = type <{ ptr, i32 }>
@.str = private unnamed_addr constant [22 x i8] c"class_infos_ptr = %p\0A\00", align 1, !dbg !0
@.str.1 = private unnamed_addr constant [28 x i8] c"class_infos_byte_size = %u\0A\00", align 1, !dbg !8
@.str.2 = private unnamed_addr constant [22 x i8] c"max_class_infos = %u\0A\00", align 1, !dbg !13
@.str.3 = private unnamed_addr constant [12 x i8] c"count = %u\0A\00", align 1, !dbg !15
@.str.4 = private unnamed_addr constant [19 x i8] c"[%u] isa = %8p %s\0A\00", align 1, !dbg !20
@reloc_placeholder = internal global i8 0
; Function Attrs: convergent mustprogress noinline nounwind optnone
define i32 @_Z44__lldb_apple_objc_v2_get_dynamic_class_info3PvS_jS_jj(ptr %gdb_objc_realized_classes_ptr, ptr %class_infos_ptr, i32 %class_infos_byte_size, ptr %class_buffer, i32 %class_buffer_len, i32 %should_log) #0 !dbg !56 {
entry:
%gdb_objc_realized_classes_ptr.addr = alloca ptr, align 8, !clang.decl.ptr !61
%class_infos_ptr.addr = alloca ptr, align 8, !clang.decl.ptr !62
%class_infos_byte_size.addr = alloca i32, align 4, !clang.decl.ptr !63
%class_buffer.addr = alloca ptr, align 8, !clang.decl.ptr !64
%class_buffer_len.addr = alloca i32, align 4, !clang.decl.ptr !65
%should_log.addr = alloca i32, align 4, !clang.decl.ptr !66
%max_class_infos = alloca i64, align 8, !clang.decl.ptr !67
%class_infos = alloca ptr, align 8, !clang.decl.ptr !68
%realized_class_list = alloca ptr, align 8, !clang.decl.ptr !69
%count = alloca i32, align 4, !clang.decl.ptr !70
%idx = alloca i32, align 4, !clang.decl.ptr !71
%i = alloca i32, align 4, !clang.decl.ptr !72
%isa = alloca ptr, align 8, !clang.decl.ptr !73
%name_ptr = alloca ptr, align 8, !clang.decl.ptr !74
%s = alloca ptr, align 8, !clang.decl.ptr !75
%h = alloca i32, align 4, !clang.decl.ptr !76
%c = alloca i8, align 1, !clang.decl.ptr !77
store ptr %gdb_objc_realized_classes_ptr, ptr %gdb_objc_realized_classes_ptr.addr, align 8
call void @llvm.dbg.declare(metadata ptr %gdb_objc_realized_classes_ptr.addr, metadata !78, metadata !DIExpression()), !dbg !79
store ptr %class_infos_ptr, ptr %class_infos_ptr.addr, align 8
call void @llvm.dbg.declare(metadata ptr %class_infos_ptr.addr, metadata !80, metadata !DIExpression()), !dbg !81
store i32 %class_infos_byte_size, ptr %class_infos_byte_size.addr, align 4
call void @llvm.dbg.declare(metadata ptr %class_infos_byte_size.addr, metadata !82, metadata !DIExpression()), !dbg !83
store ptr %class_buffer, ptr %class_buffer.addr, align 8
call void @llvm.dbg.declare(metadata ptr %class_buffer.addr, metadata !84, metadata !DIExpression()), !dbg !85
store i32 %class_buffer_len, ptr %class_buffer_len.addr, align 4
call void @llvm.dbg.declare(metadata ptr %class_buffer_len.addr, metadata !86, metadata !DIExpression()), !dbg !87
store i32 %should_log, ptr %should_log.addr, align 4
call void @llvm.dbg.declare(metadata ptr %should_log.addr, metadata !88, metadata !DIExpression()), !dbg !89
%0 = load i32, ptr %should_log.addr, align 4, !dbg !90
%tobool = icmp ne i32 %0, 0, !dbg !90
br i1 %tobool, label %if.then, label %if.end, !dbg !92
if.then: ; preds = %entry
%1 = load ptr, ptr %class_infos_ptr.addr, align 8, !dbg !90
%call = call i32 (ptr, ...) @printf(ptr @.str, ptr %1) #3, !dbg !90
br label %if.end, !dbg !90
if.end: ; preds = %if.then, %entry
%2 = load i32, ptr %should_log.addr, align 4, !dbg !93
%tobool1 = icmp ne i32 %2, 0, !dbg !93
br i1 %tobool1, label %if.then2, label %if.end4, !dbg !95
if.then2: ; preds = %if.end
%3 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !93
%call3 = call i32 (ptr, ...) @printf(ptr @.str.1, i32 %3) #3, !dbg !93
br label %if.end4, !dbg !93
if.end4: ; preds = %if.then2, %if.end
call void @llvm.dbg.declare(metadata ptr %max_class_infos, metadata !96, metadata !DIExpression()), !dbg !100
%4 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !100
%conv = zext i32 %4 to i64, !dbg !100
%div = udiv i64 %conv, 12, !dbg !100
store i64 %div, ptr %max_class_infos, align 8, !dbg !100
%5 = load i32, ptr %should_log.addr, align 4, !dbg !101
%tobool5 = icmp ne i32 %5, 0, !dbg !101
br i1 %tobool5, label %if.then6, label %if.end8, !dbg !103
if.then6: ; preds = %if.end4
%6 = load i64, ptr %max_class_infos, align 8, !dbg !101
%call7 = call i32 (ptr, ...) @printf(ptr @.str.2, i64 %6) #3, !dbg !101
br label %if.end8, !dbg !101
if.end8: ; preds = %if.then6, %if.end4
call void @llvm.dbg.declare(metadata ptr %class_infos, metadata !104, metadata !DIExpression()), !dbg !105
%7 = load ptr, ptr %class_infos_ptr.addr, align 8, !dbg !105
store ptr %7, ptr %class_infos, align 8, !dbg !105
call void @llvm.dbg.declare(metadata ptr %realized_class_list, metadata !106, metadata !DIExpression()), !dbg !107
%8 = load ptr, ptr %class_buffer.addr, align 8, !dbg !107
store ptr %8, ptr %realized_class_list, align 8, !dbg !107
call void @llvm.dbg.declare(metadata ptr %count, metadata !108, metadata !DIExpression()), !dbg !109
%9 = load ptr, ptr %realized_class_list, align 8, !dbg !109
%10 = load i32, ptr %class_buffer_len.addr, align 4, !dbg !110
%conv9 = zext i32 %10 to i64, !dbg !110
%call10 = call i64 @objc_getRealizedClassList_trylock(ptr %9, i64 %conv9) #3, !dbg !109
%conv11 = trunc i64 %call10 to i32, !dbg !109
store i32 %conv11, ptr %count, align 4, !dbg !109
%11 = load i32, ptr %should_log.addr, align 4, !dbg !111
%tobool12 = icmp ne i32 %11, 0, !dbg !111
br i1 %tobool12, label %if.then13, label %if.end15, !dbg !113
if.then13: ; preds = %if.end8
%12 = load i32, ptr %count, align 4, !dbg !111
%call14 = call i32 (ptr, ...) @printf(ptr @.str.3, i32 %12) #3, !dbg !111
br label %if.end15, !dbg !111
if.end15: ; preds = %if.then13, %if.end8
call void @llvm.dbg.declare(metadata ptr %idx, metadata !114, metadata !DIExpression()), !dbg !115
store i32 0, ptr %idx, align 4, !dbg !115
call void @llvm.dbg.declare(metadata ptr %i, metadata !116, metadata !DIExpression()), !dbg !118
store i32 0, ptr %i, align 4, !dbg !118
br label %for.cond, !dbg !118
for.cond: ; preds = %for.inc46, %if.end15
%13 = load i32, ptr %i, align 4, !dbg !119
%14 = load i32, ptr %count, align 4, !dbg !119
%cmp = icmp ult i32 %13, %14, !dbg !119
br i1 %cmp, label %for.body, label %for.end48, !dbg !118
for.body: ; preds = %for.cond
%15 = load i32, ptr %idx, align 4, !dbg !121
%conv16 = zext i32 %15 to i64, !dbg !121
%16 = load i64, ptr %max_class_infos, align 8, !dbg !121
%cmp17 = icmp ult i64 %conv16, %16, !dbg !121
br i1 %cmp17, label %if.then18, label %if.end45, !dbg !124
if.then18: ; preds = %for.body
call void @llvm.dbg.declare(metadata ptr %isa, metadata !125, metadata !DIExpression()), !dbg !127
%17 = load ptr, ptr %realized_class_list, align 8, !dbg !127
%18 = load i32, ptr %i, align 4, !dbg !127
%idxprom = zext i32 %18 to i64, !dbg !127
%arrayidx = getelementptr inbounds ptr, ptr %17, i64 %idxprom, !dbg !127
%19 = load ptr, ptr %arrayidx, align 8, !dbg !127
store ptr %19, ptr %isa, align 8, !dbg !127
call void @llvm.dbg.declare(metadata ptr %name_ptr, metadata !128, metadata !DIExpression()), !dbg !130
%20 = load ptr, ptr %isa, align 8, !dbg !130
%call19 = call ptr @objc_debug_class_getNameRaw(ptr %20) #3, !dbg !130
store ptr %call19, ptr %name_ptr, align 8, !dbg !130
%21 = load ptr, ptr %name_ptr, align 8, !dbg !131
%tobool20 = icmp ne ptr %21, null, !dbg !131
br i1 %tobool20, label %if.end24, label %if.then21, !dbg !133
if.then21: ; preds = %if.then18
%22 = load ptr, ptr %isa, align 8, !dbg !134
%call22 = call ptr @class_getName(ptr %22) #3, !dbg !134
%23 = load ptr, ptr %isa, align 8, !dbg !136
%call23 = call ptr @objc_debug_class_getNameRaw(ptr %23) #3, !dbg !136
store ptr %call23, ptr %name_ptr, align 8, !dbg !136
br label %if.end24, !dbg !137
if.end24: ; preds = %if.then21, %if.then18
%24 = load ptr, ptr %name_ptr, align 8, !dbg !138
%tobool25 = icmp ne ptr %24, null, !dbg !138
br i1 %tobool25, label %if.end27, label %if.then26, !dbg !140
if.then26: ; preds = %if.end24
br label %for.inc46, !dbg !141
if.end27: ; preds = %if.end24
call void @llvm.dbg.declare(metadata ptr %s, metadata !142, metadata !DIExpression()), !dbg !143
%25 = load ptr, ptr %name_ptr, align 8, !dbg !143
store ptr %25, ptr %s, align 8, !dbg !143
call void @llvm.dbg.declare(metadata ptr %h, metadata !144, metadata !DIExpression()), !dbg !145
store i32 5381, ptr %h, align 4, !dbg !145
call void @llvm.dbg.declare(metadata ptr %c, metadata !146, metadata !DIExpression()), !dbg !149
%26 = load ptr, ptr %s, align 8, !dbg !149
%27 = load i8, ptr %26, align 1, !dbg !149
store i8 %27, ptr %c, align 1, !dbg !149
br label %for.cond28, !dbg !149
for.cond28: ; preds = %for.inc, %if.end27
%28 = load i8, ptr %c, align 1, !dbg !150
%tobool29 = icmp ne i8 %28, 0, !dbg !150
br i1 %tobool29, label %for.body30, label %for.end, !dbg !149
for.body30: ; preds = %for.cond28
%29 = load i32, ptr %h, align 4, !dbg !152
%shl = shl i32 %29, 5, !dbg !152
%30 = load i32, ptr %h, align 4, !dbg !152
%add = add i32 %shl, %30, !dbg !152
%31 = load i8, ptr %c, align 1, !dbg !152
%conv31 = zext i8 %31 to i32, !dbg !152
%add32 = add i32 %add, %conv31, !dbg !152
store i32 %add32, ptr %h, align 4, !dbg !152
br label %for.inc, !dbg !152
for.inc: ; preds = %for.body30
%32 = load ptr, ptr %s, align 8, !dbg !150
%incdec.ptr = getelementptr inbounds i8, ptr %32, i32 1, !dbg !150
store ptr %incdec.ptr, ptr %s, align 8, !dbg !150
%33 = load i8, ptr %incdec.ptr, align 1, !dbg !150
store i8 %33, ptr %c, align 1, !dbg !150
br label %for.cond28, !dbg !150, !llvm.loop !153
for.end: ; preds = %for.cond28
%34 = load i32, ptr %h, align 4, !dbg !156
%35 = load ptr, ptr %class_infos, align 8, !dbg !156
%36 = load i32, ptr %idx, align 4, !dbg !156
%idxprom33 = zext i32 %36 to i64, !dbg !156
%arrayidx34 = getelementptr inbounds %struct.ClassInfo, ptr %35, i64 %idxprom33, !dbg !156
%hash = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx34, i32 0, i32 1, !dbg !156
store i32 %34, ptr %hash, align 1, !dbg !156
%37 = load ptr, ptr %isa, align 8, !dbg !157
%38 = load ptr, ptr %class_infos, align 8, !dbg !157
%39 = load i32, ptr %idx, align 4, !dbg !157
%idxprom35 = zext i32 %39 to i64, !dbg !157
%arrayidx36 = getelementptr inbounds %struct.ClassInfo, ptr %38, i64 %idxprom35, !dbg !157
%isa37 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx36, i32 0, i32 0, !dbg !157
store ptr %37, ptr %isa37, align 1, !dbg !157
%40 = load i32, ptr %should_log.addr, align 4, !dbg !158
%tobool38 = icmp ne i32 %40, 0, !dbg !158
br i1 %tobool38, label %if.then39, label %if.end44, !dbg !160
if.then39: ; preds = %for.end
%41 = load i32, ptr %idx, align 4, !dbg !158
%42 = load ptr, ptr %class_infos, align 8, !dbg !158
%43 = load i32, ptr %idx, align 4, !dbg !158
%idxprom40 = zext i32 %43 to i64, !dbg !158
%arrayidx41 = getelementptr inbounds %struct.ClassInfo, ptr %42, i64 %idxprom40, !dbg !158
%isa42 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx41, i32 0, i32 0, !dbg !158
%44 = load ptr, ptr %isa42, align 1, !dbg !158
%45 = load ptr, ptr %name_ptr, align 8, !dbg !158
%call43 = call i32 (ptr, ...) @printf(ptr @.str.4, i32 %41, ptr %44, ptr %45) #3, !dbg !158
br label %if.end44, !dbg !158
if.end44: ; preds = %if.then39, %for.end
br label %if.end45, !dbg !161
if.end45: ; preds = %if.end44, %for.body
%46 = load i32, ptr %idx, align 4, !dbg !162
%inc = add i32 %46, 1, !dbg !162
store i32 %inc, ptr %idx, align 4, !dbg !162
br label %for.inc46, !dbg !163
for.inc46: ; preds = %if.end45, %if.then26
%47 = load i32, ptr %i, align 4, !dbg !119
%inc47 = add i32 %47, 1, !dbg !119
store i32 %inc47, ptr %i, align 4, !dbg !119
br label %for.cond, !dbg !119, !llvm.loop !164
for.end48: ; preds = %for.cond
%48 = load i32, ptr %idx, align 4, !dbg !166
%conv49 = zext i32 %48 to i64, !dbg !166
%49 = load i64, ptr %max_class_infos, align 8, !dbg !166
%cmp50 = icmp ult i64 %conv49, %49, !dbg !166
br i1 %cmp50, label %if.then51, label %if.end58, !dbg !168
if.then51: ; preds = %for.end48
%50 = load ptr, ptr %class_infos, align 8, !dbg !169
%51 = load i32, ptr %idx, align 4, !dbg !169
%idxprom52 = zext i32 %51 to i64, !dbg !169
%arrayidx53 = getelementptr inbounds %struct.ClassInfo, ptr %50, i64 %idxprom52, !dbg !169
%isa54 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx53, i32 0, i32 0, !dbg !169
store ptr null, ptr %isa54, align 1, !dbg !169
%52 = load ptr, ptr %class_infos, align 8, !dbg !171
%53 = load i32, ptr %idx, align 4, !dbg !171
%idxprom55 = zext i32 %53 to i64, !dbg !171
%arrayidx56 = getelementptr inbounds %struct.ClassInfo, ptr %52, i64 %idxprom55, !dbg !171
%hash57 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx56, i32 0, i32 1, !dbg !171
store i32 0, ptr %hash57, align 1, !dbg !171
br label %if.end58, !dbg !172
if.end58: ; preds = %if.then51, %for.end48
%54 = load i32, ptr %count, align 4, !dbg !173
ret i32 %54, !dbg !173
}
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: convergent
declare i32 @printf(ptr, ...) #2
; Function Attrs: convergent
declare i64 @objc_getRealizedClassList_trylock(ptr, i64) #2
; Function Attrs: convergent
declare ptr @objc_debug_class_getNameRaw(ptr) #2
; Function Attrs: convergent
declare ptr @class_getName(ptr) #2
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn }
attributes #2 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #3 = { convergent "no-builtins" }
!llvm.dbg.cu = !{!25}
!llvm.module.flags = !{!41, !42, !43, !44, !45, !46, !47, !48, !49}
!clang.global.decl.ptrs = !{!50, !51, !52, !53, !54}
!llvm.ident = !{!55}
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(scope: null, file: !2, line: 62, type: !3, isLocal: true, isDefinition: true)
!2 = !DIFile(filename: "<lldb wrapper prefix>", directory: "/")
!3 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 176, elements: !6)
!4 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !5)
!5 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
!6 = !{!7}
!7 = !DISubrange(count: 22)
!8 = !DIGlobalVariableExpression(var: !9, expr: !DIExpression())
!9 = distinct !DIGlobalVariable(scope: null, file: !2, line: 63, type: !10, isLocal: true, isDefinition: true)
!10 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 224, elements: !11)
!11 = !{!12}
!12 = !DISubrange(count: 28)
!13 = !DIGlobalVariableExpression(var: !14, expr: !DIExpression())
!14 = distinct !DIGlobalVariable(scope: null, file: !2, line: 66, type: !3, isLocal: true, isDefinition: true)
!15 = !DIGlobalVariableExpression(var: !16, expr: !DIExpression())
!16 = distinct !DIGlobalVariable(scope: null, file: !2, line: 74, type: !17, isLocal: true, isDefinition: true)
!17 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 96, elements: !18)
!18 = !{!19}
!19 = !DISubrange(count: 12)
!20 = !DIGlobalVariableExpression(var: !21, expr: !DIExpression())
!21 = distinct !DIGlobalVariable(scope: null, file: !2, line: 95, type: !22, isLocal: true, isDefinition: true)
!22 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 152, elements: !23)
!23 = !{!24}
!24 = !DISubrange(count: 19)
!25 = distinct !DICompileUnit(language: DW_LANG_ObjC_plus_plus, file: !26, producer: "Apple clang version 15.0.0 (clang-1500.0.40.1)", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug, retainedTypes: !27, globals: !40)
!26 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "/")
!27 = !{!28, !39}
!28 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !29, size: 64)
!29 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "ClassInfo", file: !2, line: 48, size: 96, flags: DIFlagTypePassByValue, elements: !30, identifier: "_ZTS9ClassInfo")
!30 = !{!31, !36}
!31 = !DIDerivedType(tag: DW_TAG_member, name: "isa", scope: !29, file: !2, line: 50, baseType: !32, size: 64)
!32 = !DIDerivedType(tag: DW_TAG_typedef, name: "Class", file: !33, baseType: !34)
!33 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "")
!34 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !35, size: 64)
!35 = !DICompositeType(tag: DW_TAG_structure_type, name: "objc_class", file: !26, flags: DIFlagFwdDecl)
!36 = !DIDerivedType(tag: DW_TAG_member, name: "hash", scope: !29, file: !2, line: 51, baseType: !37, size: 32, offset: 64)
!37 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !2, line: 24, baseType: !38)
!38 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
!39 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !32, size: 64)
!40 = !{!0, !8, !13, !15, !20}
!41 = !{i32 1, !"Objective-C Version", i32 2}
!42 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!43 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!44 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!45 = !{i32 1, !"Objective-C Class Properties", i32 64}
!46 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!47 = !{i32 2, !"Debug Info Version", i32 3}
!48 = !{i32 1, !"wchar_size", i32 4}
!49 = !{i32 7, !"frame-pointer", i32 2}
!50 = !{ptr @_Z44__lldb_apple_objc_v2_get_dynamic_class_info3PvS_jS_jj, i64 4962055680}
!51 = !{ptr @printf, i64 4961922488}
!52 = !{ptr @objc_getRealizedClassList_trylock, i64 4962027368}
!53 = !{ptr @objc_debug_class_getNameRaw, i64 4962027872}
!54 = !{ptr @class_getName, i64 4962028264}
!55 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!56 = distinct !DISubprogram(name: "__lldb_apple_objc_v2_get_dynamic_class_info3", linkageName: "_Z44__lldb_apple_objc_v2_get_dynamic_class_info3PvS_jS_jj", scope: !2, file: !2, line: 55, type: !57, scopeLine: 61, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !25, retainedNodes: !60)
!57 = !DISubroutineType(types: !58)
!58 = !{!37, !59, !59, !37, !59, !37, !37}
!59 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!60 = !{}
!61 = !{i64 4962029320}
!62 = !{i64 4962029448}
!63 = !{i64 4962029568}
!64 = !{i64 4962029696}
!65 = !{i64 4962029816}
!66 = !{i64 4962029936}
!67 = !{i64 4962057080}
!68 = !{i64 4962058280}
!69 = !{i64 4962058576}
!70 = !{i64 4962058864}
!71 = !{i64 4961962216}
!72 = !{i64 4961962440}
!73 = !{i64 4961963032}
!74 = !{i64 4961963376}
!75 = !{i64 4961964696}
!76 = !{i64 4961964920}
!77 = !{i64 4961965152}
!78 = !DILocalVariable(name: "gdb_objc_realized_classes_ptr", arg: 1, scope: !56, file: !2, line: 55, type: !59)
!79 = !DILocation(line: 55, scope: !56)
!80 = !DILocalVariable(name: "class_infos_ptr", arg: 2, scope: !56, file: !2, line: 56, type: !59)
!81 = !DILocation(line: 56, scope: !56)
!82 = !DILocalVariable(name: "class_infos_byte_size", arg: 3, scope: !56, file: !2, line: 57, type: !37)
!83 = !DILocation(line: 57, scope: !56)
!84 = !DILocalVariable(name: "class_buffer", arg: 4, scope: !56, file: !2, line: 58, type: !59)
!85 = !DILocation(line: 58, scope: !56)
!86 = !DILocalVariable(name: "class_buffer_len", arg: 5, scope: !56, file: !2, line: 59, type: !37)
!87 = !DILocation(line: 59, scope: !56)
!88 = !DILocalVariable(name: "should_log", arg: 6, scope: !56, file: !2, line: 60, type: !37)
!89 = !DILocation(line: 60, scope: !56)
!90 = !DILocation(line: 62, scope: !91)
!91 = distinct !DILexicalBlock(scope: !56, file: !2, line: 62)
!92 = !DILocation(line: 62, scope: !56)
!93 = !DILocation(line: 63, scope: !94)
!94 = distinct !DILexicalBlock(scope: !56, file: !2, line: 63)
!95 = !DILocation(line: 63, scope: !56)
!96 = !DILocalVariable(name: "max_class_infos", scope: !56, file: !2, line: 65, type: !97)
!97 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !98)
!98 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_t", file: !2, line: 29, baseType: !99)
!99 = !DIBasicType(name: "unsigned long", size: 64, encoding: DW_ATE_unsigned)
!100 = !DILocation(line: 65, scope: !56)
!101 = !DILocation(line: 66, scope: !102)
!102 = distinct !DILexicalBlock(scope: !56, file: !2, line: 66)
!103 = !DILocation(line: 66, scope: !56)
!104 = !DILocalVariable(name: "class_infos", scope: !56, file: !2, line: 68, type: !28)
!105 = !DILocation(line: 68, scope: !56)
!106 = !DILocalVariable(name: "realized_class_list", scope: !56, file: !2, line: 70, type: !39)
!107 = !DILocation(line: 70, scope: !56)
!108 = !DILocalVariable(name: "count", scope: !56, file: !2, line: 72, type: !37)
!109 = !DILocation(line: 72, scope: !56)
!110 = !DILocation(line: 73, scope: !56)
!111 = !DILocation(line: 74, scope: !112)
!112 = distinct !DILexicalBlock(scope: !56, file: !2, line: 74)
!113 = !DILocation(line: 74, scope: !56)
!114 = !DILocalVariable(name: "idx", scope: !56, file: !2, line: 76, type: !37)
!115 = !DILocation(line: 76, scope: !56)
!116 = !DILocalVariable(name: "i", scope: !117, file: !2, line: 77, type: !37)
!117 = distinct !DILexicalBlock(scope: !56, file: !2, line: 77)
!118 = !DILocation(line: 77, scope: !117)
!119 = !DILocation(line: 77, scope: !120)
!120 = distinct !DILexicalBlock(scope: !117, file: !2, line: 77)
!121 = !DILocation(line: 79, scope: !122)
!122 = distinct !DILexicalBlock(scope: !123, file: !2, line: 79)
!123 = distinct !DILexicalBlock(scope: !120, file: !2, line: 78)
!124 = !DILocation(line: 79, scope: !123)
!125 = !DILocalVariable(name: "isa", scope: !126, file: !2, line: 81, type: !32)
!126 = distinct !DILexicalBlock(scope: !122, file: !2, line: 80)
!127 = !DILocation(line: 81, scope: !126)
!128 = !DILocalVariable(name: "name_ptr", scope: !126, file: !2, line: 82, type: !129)
!129 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !4, size: 64)
!130 = !DILocation(line: 82, scope: !126)
!131 = !DILocation(line: 83, scope: !132)
!132 = distinct !DILexicalBlock(scope: !126, file: !2, line: 83)
!133 = !DILocation(line: 83, scope: !126)
!134 = !DILocation(line: 84, scope: !135)
!135 = distinct !DILexicalBlock(scope: !132, file: !2, line: 83)
!136 = !DILocation(line: 85, scope: !135)
!137 = !DILocation(line: 86, scope: !135)
!138 = !DILocation(line: 87, scope: !139)
!139 = distinct !DILexicalBlock(scope: !126, file: !2, line: 87)
!140 = !DILocation(line: 87, scope: !126)
!141 = !DILocation(line: 88, scope: !139)
!142 = !DILocalVariable(name: "s", scope: !126, file: !2, line: 89, type: !129)
!143 = !DILocation(line: 89, scope: !126)
!144 = !DILocalVariable(name: "h", scope: !126, file: !2, line: 90, type: !37)
!145 = !DILocation(line: 90, scope: !126)
!146 = !DILocalVariable(name: "c", scope: !147, file: !2, line: 91, type: !148)
!147 = distinct !DILexicalBlock(scope: !126, file: !2, line: 91)
!148 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char)
!149 = !DILocation(line: 91, scope: !147)
!150 = !DILocation(line: 91, scope: !151)
!151 = distinct !DILexicalBlock(scope: !147, file: !2, line: 91)
!152 = !DILocation(line: 92, scope: !151)
!153 = distinct !{!153, !149, !154, !155}
!154 = !DILocation(line: 92, scope: !147)
!155 = !{!"llvm.loop.mustprogress"}
!156 = !DILocation(line: 93, scope: !126)
!157 = !DILocation(line: 94, scope: !126)
!158 = !DILocation(line: 95, scope: !159)
!159 = distinct !DILexicalBlock(scope: !126, file: !2, line: 95)
!160 = !DILocation(line: 95, scope: !126)
!161 = !DILocation(line: 96, scope: !126)
!162 = !DILocation(line: 97, scope: !123)
!163 = !DILocation(line: 98, scope: !123)
!164 = distinct !{!164, !118, !165, !155}
!165 = !DILocation(line: 98, scope: !117)
!166 = !DILocation(line: 100, scope: !167)
!167 = distinct !DILexicalBlock(scope: !56, file: !2, line: 100)
!168 = !DILocation(line: 100, scope: !56)
!169 = !DILocation(line: 102, scope: !170)
!170 = distinct !DILexicalBlock(scope: !167, file: !2, line: 101)
!171 = !DILocation(line: 103, scope: !170)
!172 = !DILocation(line: 104, scope: !170)
!173 = !DILocation(line: 106, scope: !56)
IRExecutionUnit::allocateCodeSection(Size=0x397, Alignment=8, SectionID=0) = 0x100898000
IRExecutionUnit::allocateDataSection(Size=0x75, Alignment=8, SectionID=1) = 0x1055f8000
IRExecutionUnit::allocateDataSection(Size=0xf, Alignment=8, SectionID=2) = 0x1055f8078
IRExecutionUnit::allocateDataSection(Size=0x16, Alignment=8, SectionID=3) = 0x1055f8088
IRExecutionUnit::allocateDataSection(Size=0xe6, Alignment=8, SectionID=4) = 0x1055f80a0
IRExecutionUnit::allocateDataSection(Size=0x2d0, Alignment=8, SectionID=5) = 0x1055f8188
IRExecutionUnit::allocateDataSection(Size=0x219, Alignment=8, SectionID=6) = 0x1055f8458
IRExecutionUnit::allocateDataSection(Size=0x92, Alignment=8, SectionID=7) = 0x1055f8678
IRExecutionUnit::allocateDataSection(Size=0x32, Alignment=8, SectionID=8) = 0x1055f8710
IRExecutionUnit::allocateDataSection(Size=0x32, Alignment=8, SectionID=9) = 0x1055f8748
IRExecutionUnit::allocateDataSection(Size=0x14d, Alignment=8, SectionID=10) = 0x1055f8780
IRExecutionUnit::allocateDataSection(Size=0xc1, Alignment=8, SectionID=11) = 0x1055f88d0
IRMemoryMap::Malloc (927, 0x8, 0x6, eAllocationPolicyProcessOnly) -> 0x11ceec000
IRMemoryMap::Malloc (127, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8000
IRMemoryMap::Malloc (23, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8080
IRMemoryMap::Malloc (31, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f80a0
IRExecutionUnit::getSymbolAddress(Name="_class_getName") = 18a5fb4fc
IRExecutionUnit::getSymbolAddress(Name="_objc_debug_class_getNameRaw") = 18a621204
IRExecutionUnit::getSymbolAddress(Name="_objc_getRealizedClassList_trylock") = 18a61ddf8
IRExecutionUnit::getSymbolAddress(Name="_printf") = 18a88001c
IRMemoryMap::WriteMemory (0x11ceec000, 0x100898000, 0x919) went to [0x11ceec000..0x11ceec39f)
IRMemoryMap::WriteMemory (0x11d0f8000, 0x1055f8000, 0x117) went to [0x11d0f8000..0x11d0f807f)
IRMemoryMap::WriteMemory (0x11d0f8080, 0x1055f8078, 0x15) went to [0x11d0f8080..0x11d0f8097)
IRMemoryMap::WriteMemory (0x11d0f80a0, 0x1055f8088, 0x22) went to [0x11d0f80a0..0x11d0f80bf)
IRExecutionUnit::GetRemoteAddressForLocal() found 0x100898000 in [0x100898000..0x100898397], and returned 0x11ceec000 from [0x11ceec000..0x11ceec397].
Code can be run in the target.
Found function, has local address 0x100898000 and remote address 0x11ceec000
Function's code range is [0x11ceec000+0x397]
Function data has contents:
0x11ceec000: ff 83 02 d1 fd 7b 09 a9 fd 43 02 91 a0 83 1f f8
0x11ceec010: a1 03 1f f8 a2 c3 1e b8 a3 03 1e f8 a4 c3 1d b8
0x11ceec020: a5 83 1d b8 a8 83 5d b8 08 01 00 34 a8 03 5f f8
0x11ceec030: e8 03 00 f9 00 00 00 90 00 78 41 f9 08 00 00 90
0x11ceec040: 08 59 41 f9 00 01 3f d6 a8 83 5d b8 08 01 00 34
0x11ceec050: a8 c3 5e b8 e8 03 00 f9 00 00 00 90 00 74 41 f9
0x11ceec060: 08 00 00 90 08 59 41 f9 00 01 3f d6 a8 c3 5e b8
0x11ceec070: 89 01 80 d2 08 09 c9 9a a8 03 1d f8 a8 83 5d b8
0x11ceec080: 08 01 00 34 a8 03 5d f8 e8 03 00 f9 00 00 00 90
0x11ceec090: 00 70 41 f9 08 00 00 90 08 59 41 f9 00 01 3f d6
0x11ceec0a0: a8 03 5f f8 a8 83 1c f8 a8 03 5e f8 a8 03 1c f8
0x11ceec0b0: a0 03 5c f8 a1 c3 5d b8 08 00 00 90 08 6d 41 f9
0x11ceec0c0: 00 01 3f d6 a0 c3 1b b8 a8 83 5d b8 08 01 00 34
0x11ceec0d0: a8 c3 5b b8 e8 03 00 f9 00 00 00 90 00 68 41 f9
0x11ceec0e0: 08 00 00 90 08 59 41 f9 00 01 3f d6 ff 4b 00 b9
0x11ceec0f0: ff 47 00 b9 e8 47 40 b9 a9 c3 5b b8 1f 01 09 6b
0x11ceec100: 22 0b 00 54 e8 4b 40 b9 a9 03 5d f8 1f 01 09 eb
0x11ceec110: c2 09 00 54 a8 03 5c f8 e9 47 40 b9 0a 01 80 d2
0x11ceec120: 28 21 0a 9b 08 01 40 f9 e8 1f 00 f9 e0 1f 40 f9
0x11ceec130: 08 00 00 90 08 61 41 f9 00 01 3f d6 e0 1b 00 f9
0x11ceec140: e8 1b 40 f9 48 01 00 b5 e0 1f 40 f9 08 00 00 90
0x11ceec150: 08 65 41 f9 00 01 3f d6 e0 1f 40 f9 08 00 00 90
0x11ceec160: 08 61 41 f9 00 01 3f d6 e0 1b 00 f9 e8 1b 40 f9
0x11ceec170: 48 00 00 b5 38 00 00 14 e8 1b 40 f9 e8 17 00 f9
0x11ceec180: a8 a0 82 52 e8 27 00 b9 e8 17 40 f9 08 01 40 39
0x11ceec190: e8 8f 00 39 e8 8f 40 39 08 1d 00 53 a8 01 00 34
0x11ceec1a0: e8 27 40 b9 e9 27 40 b9 28 15 08 0b e9 8f 40 39
0x11ceec1b0: 08 01 09 0b e8 27 00 b9 e8 17 40 f9 09 05 00 91
0x11ceec1c0: e9 17 00 f9 08 05 40 39 e8 8f 00 39 f2 ff ff 17
0x11ceec1d0: e8 27 40 b9 a9 83 5c f8 ea 4b 40 b9 8b 01 80 d2
0x11ceec1e0: 49 25 0b 9b 28 09 00 b9 e8 1f 40 f9 a9 83 5c f8
0x11ceec1f0: ea 4b 40 b9 8b 01 80 d2 49 25 0b 9b 28 01 00 f9
0x11ceec200: a8 83 5d b8 08 02 00 34 e8 4b 40 b9 a9 83 5c f8
0x11ceec210: ea 4b 40 b9 8b 01 80 d2 49 25 0b 9b 29 01 40 f9
0x11ceec220: ea 1b 40 f9 ea 0b 00 f9 e9 07 00 f9 e8 03 00 f9
0x11ceec230: 00 00 00 90 00 5c 41 f9 08 00 00 90 08 59 41 f9
0x11ceec240: 00 01 3f d6 01 00 00 14 e8 4b 40 b9 08 05 00 11
0x11ceec250: e8 4b 00 b9 e8 47 40 b9 08 05 00 11 e8 47 00 b9
0x11ceec260: a5 ff ff 17 e8 4b 40 b9 a9 03 5d f8 1f 01 09 eb
0x11ceec270: 62 01 00 54 a8 83 5c f8 e9 4b 40 b9 8a 01 80 d2
0x11ceec280: 28 21 0a 9b 1f 01 00 f9 a8 83 5c f8 e9 4b 40 b9
0x11ceec290: 8a 01 80 d2 28 21 0a 9b 1f 09 00 b9 a0 c3 5b b8
0x11ceec2a0: fd 7b 49 a9 ff 83 02 91 c0 03 5f d6 00 00 00 00
0x11ceec2b0: 1c 00 88 8a 01 00 00 00 54 80 0f 1d 01 00 00 00
0x11ceec2c0: 04 12 62 8a 01 00 00 00 fc b4 5f 8a 01 00 00 00
0x11ceec2d0: 48 80 0f 1d 01 00 00 00 f8 dd 61 8a 01 00 00 00
0x11ceec2e0: 32 80 0f 1d 01 00 00 00 16 80 0f 1d 01 00 00 00
0x11ceec2f0: 00 80 0f 1d 01 00 00 00 00 00 00 00 00 00 00 00
0x11ceec300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec390: 00 00 00 00 00 00 00
Function disassembly:
0x11ceec000: 0xd10283ff unknown sub sp, sp, #0xa0
0x11ceec004: 0xa9097bfd unknown stp x29, x30, [sp, #0x90]
0x11ceec008: 0x910243fd unknown add x29, sp, #0x90
0x11ceec00c: 0xf81f83a0 unknown stur x0, [x29, #-0x8]
0x11ceec010: 0xf81f03a1 unknown stur x1, [x29, #-0x10]
0x11ceec014: 0xb81ec3a2 unknown stur w2, [x29, #-0x14]
0x11ceec018: 0xf81e03a3 unknown stur x3, [x29, #-0x20]
0x11ceec01c: 0xb81dc3a4 unknown stur w4, [x29, #-0x24]
0x11ceec020: 0xb81d83a5 unknown stur w5, [x29, #-0x28]
0x11ceec024: 0xb85d83a8 unknown ldur w8, [x29, #-0x28]
0x11ceec028: 0x34000108 unknown cbz w8, 0x11ceec048
0x11ceec02c: 0xf85f03a8 unknown ldur x8, [x29, #-0x10]
0x11ceec030: 0xf90003e8 unknown str x8, [sp]
0x11ceec034: 0x90000000 unknown adrp x0, 0
0x11ceec038: 0xf9417800 unknown ldr x0, [x0, #0x2f0]
0x11ceec03c: 0x90000008 unknown adrp x8, 0
0x11ceec040: 0xf9415908 unknown ldr x8, [x8, #0x2b0]
0x11ceec044: 0xd63f0100 unknown blr x8
0x11ceec048: 0xb85d83a8 unknown ldur w8, [x29, #-0x28]
0x11ceec04c: 0x34000108 unknown cbz w8, 0x11ceec06c
0x11ceec050: 0xb85ec3a8 unknown ldur w8, [x29, #-0x14]
0x11ceec054: 0xf90003e8 unknown str x8, [sp]
0x11ceec058: 0x90000000 unknown adrp x0, 0
0x11ceec05c: 0xf9417400 unknown ldr x0, [x0, #0x2e8]
0x11ceec060: 0x90000008 unknown adrp x8, 0
0x11ceec064: 0xf9415908 unknown ldr x8, [x8, #0x2b0]
0x11ceec068: 0xd63f0100 unknown blr x8
0x11ceec06c: 0xb85ec3a8 unknown ldur w8, [x29, #-0x14]
0x11ceec070: 0xd2800189 unknown mov x9, #0xc
0x11ceec074: 0x9ac90908 unknown udiv x8, x8, x9
0x11ceec078: 0xf81d03a8 unknown stur x8, [x29, #-0x30]
0x11ceec07c: 0xb85d83a8 unknown ldur w8, [x29, #-0x28]
0x11ceec080: 0x34000108 unknown cbz w8, 0x11ceec0a0
0x11ceec084: 0xf85d03a8 unknown ldur x8, [x29, #-0x30]
0x11ceec088: 0xf90003e8 unknown str x8, [sp]
0x11ceec08c: 0x90000000 unknown adrp x0, 0
0x11ceec090: 0xf9417000 unknown ldr x0, [x0, #0x2e0]
0x11ceec094: 0x90000008 unknown adrp x8, 0
0x11ceec098: 0xf9415908 unknown ldr x8, [x8, #0x2b0]
0x11ceec09c: 0xd63f0100 unknown blr x8
0x11ceec0a0: 0xf85f03a8 unknown ldur x8, [x29, #-0x10]
0x11ceec0a4: 0xf81c83a8 unknown stur x8, [x29, #-0x38]
0x11ceec0a8: 0xf85e03a8 unknown ldur x8, [x29, #-0x20]
0x11ceec0ac: 0xf81c03a8 unknown stur x8, [x29, #-0x40]
0x11ceec0b0: 0xf85c03a0 unknown ldur x0, [x29, #-0x40]
0x11ceec0b4: 0xb85dc3a1 unknown ldur w1, [x29, #-0x24]
0x11ceec0b8: 0x90000008 unknown adrp x8, 0
0x11ceec0bc: 0xf9416d08 unknown ldr x8, [x8, #0x2d8]
0x11ceec0c0: 0xd63f0100 unknown blr x8
0x11ceec0c4: 0xb81bc3a0 unknown stur w0, [x29, #-0x44]
0x11ceec0c8: 0xb85d83a8 unknown ldur w8, [x29, #-0x28]
0x11ceec0cc: 0x34000108 unknown cbz w8, 0x11ceec0ec
0x11ceec0d0: 0xb85bc3a8 unknown ldur w8, [x29, #-0x44]
0x11ceec0d4: 0xf90003e8 unknown str x8, [sp]
0x11ceec0d8: 0x90000000 unknown adrp x0, 0
0x11ceec0dc: 0xf9416800 unknown ldr x0, [x0, #0x2d0]
0x11ceec0e0: 0x90000008 unknown adrp x8, 0
0x11ceec0e4: 0xf9415908 unknown ldr x8, [x8, #0x2b0]
0x11ceec0e8: 0xd63f0100 unknown blr x8
0x11ceec0ec: 0xb9004bff unknown str wzr, [sp, #0x48]
0x11ceec0f0: 0xb90047ff unknown str wzr, [sp, #0x44]
0x11ceec0f4: 0xb94047e8 unknown ldr w8, [sp, #0x44]
0x11ceec0f8: 0xb85bc3a9 unknown ldur w9, [x29, #-0x44]
0x11ceec0fc: 0x6b09011f unknown cmp w8, w9
0x11ceec100: 0x54000b22 unknown b.hs 0x11ceec264
0x11ceec104: 0xb9404be8 unknown ldr w8, [sp, #0x48]
0x11ceec108: 0xf85d03a9 unknown ldur x9, [x29, #-0x30]
0x11ceec10c: 0xeb09011f unknown cmp x8, x9
0x11ceec110: 0x540009c2 unknown b.hs 0x11ceec248
0x11ceec114: 0xf85c03a8 unknown ldur x8, [x29, #-0x40]
0x11ceec118: 0xb94047e9 unknown ldr w9, [sp, #0x44]
0x11ceec11c: 0xd280010a unknown mov x10, #0x8
0x11ceec120: 0x9b0a2128 unknown madd x8, x9, x10, x8
0x11ceec124: 0xf9400108 unknown ldr x8, [x8]
0x11ceec128: 0xf9001fe8 unknown str x8, [sp, #0x38]
0x11ceec12c: 0xf9401fe0 unknown ldr x0, [sp, #0x38]
0x11ceec130: 0x90000008 unknown adrp x8, 0
0x11ceec134: 0xf9416108 unknown ldr x8, [x8, #0x2c0]
0x11ceec138: 0xd63f0100 unknown blr x8
0x11ceec13c: 0xf9001be0 unknown str x0, [sp, #0x30]
0x11ceec140: 0xf9401be8 unknown ldr x8, [sp, #0x30]
0x11ceec144: 0xb5000148 unknown cbnz x8, 0x11ceec16c
0x11ceec148: 0xf9401fe0 unknown ldr x0, [sp, #0x38]
0x11ceec14c: 0x90000008 unknown adrp x8, 0
0x11ceec150: 0xf9416508 unknown ldr x8, [x8, #0x2c8]
0x11ceec154: 0xd63f0100 unknown blr x8
0x11ceec158: 0xf9401fe0 unknown ldr x0, [sp, #0x38]
0x11ceec15c: 0x90000008 unknown adrp x8, 0
0x11ceec160: 0xf9416108 unknown ldr x8, [x8, #0x2c0]
0x11ceec164: 0xd63f0100 unknown blr x8
0x11ceec168: 0xf9001be0 unknown str x0, [sp, #0x30]
0x11ceec16c: 0xf9401be8 unknown ldr x8, [sp, #0x30]
0x11ceec170: 0xb5000048 unknown cbnz x8, 0x11ceec178
0x11ceec174: 0x14000038 unknown b 0x11ceec254
0x11ceec178: 0xf9401be8 unknown ldr x8, [sp, #0x30]
0x11ceec17c: 0xf90017e8 unknown str x8, [sp, #0x28]
0x11ceec180: 0x5282a0a8 unknown mov w8, #0x1505
0x11ceec184: 0xb90027e8 unknown str w8, [sp, #0x24]
0x11ceec188: 0xf94017e8 unknown ldr x8, [sp, #0x28]
0x11ceec18c: 0x39400108 unknown ldrb w8, [x8]
0x11ceec190: 0x39008fe8 unknown strb w8, [sp, #0x23]
0x11ceec194: 0x39408fe8 unknown ldrb w8, [sp, #0x23]
0x11ceec198: 0x53001d08 unknown uxtb w8, w8
0x11ceec19c: 0x340001a8 unknown cbz w8, 0x11ceec1d0
0x11ceec1a0: 0xb94027e8 unknown ldr w8, [sp, #0x24]
0x11ceec1a4: 0xb94027e9 unknown ldr w9, [sp, #0x24]
0x11ceec1a8: 0x0b081528 unknown add w8, w9, w8, lsl #5
0x11ceec1ac: 0x39408fe9 unknown ldrb w9, [sp, #0x23]
0x11ceec1b0: 0x0b090108 unknown add w8, w8, w9
0x11ceec1b4: 0xb90027e8 unknown str w8, [sp, #0x24]
0x11ceec1b8: 0xf94017e8 unknown ldr x8, [sp, #0x28]
0x11ceec1bc: 0x91000509 unknown add x9, x8, #0x1
0x11ceec1c0: 0xf90017e9 unknown str x9, [sp, #0x28]
0x11ceec1c4: 0x39400508 unknown ldrb w8, [x8, #0x1]
0x11ceec1c8: 0x39008fe8 unknown strb w8, [sp, #0x23]
0x11ceec1cc: 0x17fffff2 unknown b 0x11ceec194
0x11ceec1d0: 0xb94027e8 unknown ldr w8, [sp, #0x24]
0x11ceec1d4: 0xf85c83a9 unknown ldur x9, [x29, #-0x38]
0x11ceec1d8: 0xb9404bea unknown ldr w10, [sp, #0x48]
0x11ceec1dc: 0xd280018b unknown mov x11, #0xc
0x11ceec1e0: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11ceec1e4: 0xb9000928 unknown str w8, [x9, #0x8]
0x11ceec1e8: 0xf9401fe8 unknown ldr x8, [sp, #0x38]
0x11ceec1ec: 0xf85c83a9 unknown ldur x9, [x29, #-0x38]
0x11ceec1f0: 0xb9404bea unknown ldr w10, [sp, #0x48]
0x11ceec1f4: 0xd280018b unknown mov x11, #0xc
0x11ceec1f8: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11ceec1fc: 0xf9000128 unknown str x8, [x9]
0x11ceec200: 0xb85d83a8 unknown ldur w8, [x29, #-0x28]
0x11ceec204: 0x34000208 unknown cbz w8, 0x11ceec244
0x11ceec208: 0xb9404be8 unknown ldr w8, [sp, #0x48]
0x11ceec20c: 0xf85c83a9 unknown ldur x9, [x29, #-0x38]
0x11ceec210: 0xb9404bea unknown ldr w10, [sp, #0x48]
0x11ceec214: 0xd280018b unknown mov x11, #0xc
0x11ceec218: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11ceec21c: 0xf9400129 unknown ldr x9, [x9]
0x11ceec220: 0xf9401bea unknown ldr x10, [sp, #0x30]
0x11ceec224: 0xf9000bea unknown str x10, [sp, #0x10]
0x11ceec228: 0xf90007e9 unknown str x9, [sp, #0x8]
0x11ceec22c: 0xf90003e8 unknown str x8, [sp]
0x11ceec230: 0x90000000 unknown adrp x0, 0
0x11ceec234: 0xf9415c00 unknown ldr x0, [x0, #0x2b8]
0x11ceec238: 0x90000008 unknown adrp x8, 0
0x11ceec23c: 0xf9415908 unknown ldr x8, [x8, #0x2b0]
0x11ceec240: 0xd63f0100 unknown blr x8
0x11ceec244: 0x14000001 unknown b 0x11ceec248
0x11ceec248: 0xb9404be8 unknown ldr w8, [sp, #0x48]
0x11ceec24c: 0x11000508 unknown add w8, w8, #0x1
0x11ceec250: 0xb9004be8 unknown str w8, [sp, #0x48]
0x11ceec254: 0xb94047e8 unknown ldr w8, [sp, #0x44]
0x11ceec258: 0x11000508 unknown add w8, w8, #0x1
0x11ceec25c: 0xb90047e8 unknown str w8, [sp, #0x44]
0x11ceec260: 0x17ffffa5 unknown b 0x11ceec0f4
0x11ceec264: 0xb9404be8 unknown ldr w8, [sp, #0x48]
0x11ceec268: 0xf85d03a9 unknown ldur x9, [x29, #-0x30]
0x11ceec26c: 0xeb09011f unknown cmp x8, x9
0x11ceec270: 0x54000162 unknown b.hs 0x11ceec29c
0x11ceec274: 0xf85c83a8 unknown ldur x8, [x29, #-0x38]
0x11ceec278: 0xb9404be9 unknown ldr w9, [sp, #0x48]
0x11ceec27c: 0xd280018a unknown mov x10, #0xc
0x11ceec280: 0x9b0a2128 unknown madd x8, x9, x10, x8
0x11ceec284: 0xf900011f unknown str xzr, [x8]
0x11ceec288: 0xf85c83a8 unknown ldur x8, [x29, #-0x38]
0x11ceec28c: 0xb9404be9 unknown ldr w9, [sp, #0x48]
0x11ceec290: 0xd280018a unknown mov x10, #0xc
0x11ceec294: 0x9b0a2128 unknown madd x8, x9, x10, x8
0x11ceec298: 0xb900091f unknown str wzr, [x8, #0x8]
0x11ceec29c: 0xb85bc3a0 unknown ldur w0, [x29, #-0x44]
0x11ceec2a0: 0xa9497bfd unknown ldp x29, x30, [sp, #0x90]
0x11ceec2a4: 0x910283ff unknown add sp, sp, #0xa0
0x11ceec2a8: 0xd65f03c0 unknown ret
0x11ceec2ac: 0x00000000 unknown udf #0x0
0x11ceec2b0: 0x8a88001c unknown and x28, x0, x8, asr #0
0x11ceec2b4: 0x00000001 unknown udf #0x1
0x11ceec2b8: 0x1d0f8054 unknown .long 0x1d0f8054 ; unknown opcode
0x11ceec2bc: 0x00000001 unknown udf #0x1
0x11ceec2c0: 0x8a621204 unknown bic x4, x16, x2, lsr #4
0x11ceec2c4: 0x00000001 unknown udf #0x1
0x11ceec2c8: 0x8a5fb4fc unknown and x28, x7, xzr, lsr #45
0x11ceec2cc: 0x00000001 unknown udf #0x1
0x11ceec2d0: 0x1d0f8048 unknown .long 0x1d0f8048 ; unknown opcode
0x11ceec2d4: 0x00000001 unknown udf #0x1
0x11ceec2d8: 0x8a61ddf8 unknown bic x24, x15, x1, lsr #55
0x11ceec2dc: 0x00000001 unknown udf #0x1
0x11ceec2e0: 0x1d0f8032 unknown .long 0x1d0f8032 ; unknown opcode
0x11ceec2e4: 0x00000001 unknown udf #0x1
0x11ceec2e8: 0x1d0f8016 unknown .long 0x1d0f8016 ; unknown opcode
0x11ceec2ec: 0x00000001 unknown udf #0x1
0x11ceec2f0: 0x1d0f8000 unknown .long 0x1d0f8000 ; unknown opcode
0x11ceec2f4: 0x00000001 unknown udf #0x1
0x11ceec2f8: 0x00000000 unknown udf #0x0
0x11ceec2fc: 0x00000000 unknown udf #0x0
0x11ceec300: 0x00000000 unknown udf #0x0
0x11ceec304: 0x00000000 unknown udf #0x0
0x11ceec308: 0x00000000 unknown udf #0x0
0x11ceec30c: 0x00000000 unknown udf #0x0
0x11ceec310: 0x00000000 unknown udf #0x0
0x11ceec314: 0x00000000 unknown udf #0x0
0x11ceec318: 0x00000000 unknown udf #0x0
0x11ceec31c: 0x00000000 unknown udf #0x0
0x11ceec320: 0x00000000 unknown udf #0x0
0x11ceec324: 0x00000000 unknown udf #0x0
0x11ceec328: 0x00000000 unknown udf #0x0
0x11ceec32c: 0x00000000 unknown udf #0x0
0x11ceec330: 0x00000000 unknown udf #0x0
0x11ceec334: 0x00000000 unknown udf #0x0
0x11ceec338: 0x00000000 unknown udf #0x0
0x11ceec33c: 0x00000000 unknown udf #0x0
0x11ceec340: 0x00000000 unknown udf #0x0
0x11ceec344: 0x00000000 unknown udf #0x0
0x11ceec348: 0x00000000 unknown udf #0x0
0x11ceec34c: 0x00000000 unknown udf #0x0
0x11ceec350: 0x00000000 unknown udf #0x0
0x11ceec354: 0x00000000 unknown udf #0x0
0x11ceec358: 0x00000000 unknown udf #0x0
0x11ceec35c: 0x00000000 unknown udf #0x0
0x11ceec360: 0x00000000 unknown udf #0x0
0x11ceec364: 0x00000000 unknown udf #0x0
0x11ceec368: 0x00000000 unknown udf #0x0
0x11ceec36c: 0x00000000 unknown udf #0x0
0x11ceec370: 0x00000000 unknown udf #0x0
0x11ceec374: 0x00000000 unknown udf #0x0
0x11ceec378: 0x00000000 unknown udf #0x0
0x11ceec37c: 0x00000000 unknown udf #0x0
0x11ceec380: 0x00000000 unknown udf #0x0
0x11ceec384: 0x00000000 unknown udf #0x0
0x11ceec388: 0x00000000 unknown udf #0x0
0x11ceec38c: 0x00000000 unknown udf #0x0
0x11ceec390: 0x00000000 unknown udf #0x0
Sections:
[0x100898000+0x397]->0x11ceec000 (alignment 8, section ID 0, name __text)
IRMemoryMap::ReadMemory (0x11ceec000, 0x125482810, 0x919) came from [0x11ceec000..0x11ceec39f)
0x11ceec000: ff 83 02 d1 fd 7b 09 a9 fd 43 02 91 a0 83 1f f8
0x11ceec010: a1 03 1f f8 a2 c3 1e b8 a3 03 1e f8 a4 c3 1d b8
0x11ceec020: a5 83 1d b8 a8 83 5d b8 08 01 00 34 a8 03 5f f8
0x11ceec030: e8 03 00 f9 00 00 00 90 00 78 41 f9 08 00 00 90
0x11ceec040: 08 59 41 f9 00 01 3f d6 a8 83 5d b8 08 01 00 34
0x11ceec050: a8 c3 5e b8 e8 03 00 f9 00 00 00 90 00 74 41 f9
0x11ceec060: 08 00 00 90 08 59 41 f9 00 01 3f d6 a8 c3 5e b8
0x11ceec070: 89 01 80 d2 08 09 c9 9a a8 03 1d f8 a8 83 5d b8
0x11ceec080: 08 01 00 34 a8 03 5d f8 e8 03 00 f9 00 00 00 90
0x11ceec090: 00 70 41 f9 08 00 00 90 08 59 41 f9 00 01 3f d6
0x11ceec0a0: a8 03 5f f8 a8 83 1c f8 a8 03 5e f8 a8 03 1c f8
0x11ceec0b0: a0 03 5c f8 a1 c3 5d b8 08 00 00 90 08 6d 41 f9
0x11ceec0c0: 00 01 3f d6 a0 c3 1b b8 a8 83 5d b8 08 01 00 34
0x11ceec0d0: a8 c3 5b b8 e8 03 00 f9 00 00 00 90 00 68 41 f9
0x11ceec0e0: 08 00 00 90 08 59 41 f9 00 01 3f d6 ff 4b 00 b9
0x11ceec0f0: ff 47 00 b9 e8 47 40 b9 a9 c3 5b b8 1f 01 09 6b
0x11ceec100: 22 0b 00 54 e8 4b 40 b9 a9 03 5d f8 1f 01 09 eb
0x11ceec110: c2 09 00 54 a8 03 5c f8 e9 47 40 b9 0a 01 80 d2
0x11ceec120: 28 21 0a 9b 08 01 40 f9 e8 1f 00 f9 e0 1f 40 f9
0x11ceec130: 08 00 00 90 08 61 41 f9 00 01 3f d6 e0 1b 00 f9
0x11ceec140: e8 1b 40 f9 48 01 00 b5 e0 1f 40 f9 08 00 00 90
0x11ceec150: 08 65 41 f9 00 01 3f d6 e0 1f 40 f9 08 00 00 90
0x11ceec160: 08 61 41 f9 00 01 3f d6 e0 1b 00 f9 e8 1b 40 f9
0x11ceec170: 48 00 00 b5 38 00 00 14 e8 1b 40 f9 e8 17 00 f9
0x11ceec180: a8 a0 82 52 e8 27 00 b9 e8 17 40 f9 08 01 40 39
0x11ceec190: e8 8f 00 39 e8 8f 40 39 08 1d 00 53 a8 01 00 34
0x11ceec1a0: e8 27 40 b9 e9 27 40 b9 28 15 08 0b e9 8f 40 39
0x11ceec1b0: 08 01 09 0b e8 27 00 b9 e8 17 40 f9 09 05 00 91
0x11ceec1c0: e9 17 00 f9 08 05 40 39 e8 8f 00 39 f2 ff ff 17
0x11ceec1d0: e8 27 40 b9 a9 83 5c f8 ea 4b 40 b9 8b 01 80 d2
0x11ceec1e0: 49 25 0b 9b 28 09 00 b9 e8 1f 40 f9 a9 83 5c f8
0x11ceec1f0: ea 4b 40 b9 8b 01 80 d2 49 25 0b 9b 28 01 00 f9
0x11ceec200: a8 83 5d b8 08 02 00 34 e8 4b 40 b9 a9 83 5c f8
0x11ceec210: ea 4b 40 b9 8b 01 80 d2 49 25 0b 9b 29 01 40 f9
0x11ceec220: ea 1b 40 f9 ea 0b 00 f9 e9 07 00 f9 e8 03 00 f9
0x11ceec230: 00 00 00 90 00 5c 41 f9 08 00 00 90 08 59 41 f9
0x11ceec240: 00 01 3f d6 01 00 00 14 e8 4b 40 b9 08 05 00 11
0x11ceec250: e8 4b 00 b9 e8 47 40 b9 08 05 00 11 e8 47 00 b9
0x11ceec260: a5 ff ff 17 e8 4b 40 b9 a9 03 5d f8 1f 01 09 eb
0x11ceec270: 62 01 00 54 a8 83 5c f8 e9 4b 40 b9 8a 01 80 d2
0x11ceec280: 28 21 0a 9b 1f 01 00 f9 a8 83 5c f8 e9 4b 40 b9
0x11ceec290: 8a 01 80 d2 28 21 0a 9b 1f 09 00 b9 a0 c3 5b b8
0x11ceec2a0: fd 7b 49 a9 ff 83 02 91 c0 03 5f d6 00 00 00 00
0x11ceec2b0: 1c 00 88 8a 01 00 00 00 54 80 0f 1d 01 00 00 00
0x11ceec2c0: 04 12 62 8a 01 00 00 00 fc b4 5f 8a 01 00 00 00
0x11ceec2d0: 48 80 0f 1d 01 00 00 00 f8 dd 61 8a 01 00 00 00
0x11ceec2e0: 32 80 0f 1d 01 00 00 00 16 80 0f 1d 01 00 00 00
0x11ceec2f0: 00 80 0f 1d 01 00 00 00 00 00 00 00 00 00 00 00
0x11ceec300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec390: 00 00 00 00 00 00 00
[0x1055f8000+0x75]->0x11d0f8000 (alignment 8, section ID 1, name __cstring)
IRMemoryMap::ReadMemory (0x11d0f8000, 0x600002ea0a00, 0x117) came from [0x11d0f8000..0x11d0f807f)
0x11d0f8000: 63 6c 61 73 73 5f 69 6e 66 6f 73 5f 70 74 72 20
0x11d0f8010: 3d 20 25 70 0a 00 63 6c 61 73 73 5f 69 6e 66 6f
0x11d0f8020: 73 5f 62 79 74 65 5f 73 69 7a 65 20 3d 20 25 75
0x11d0f8030: 0a 00 6d 61 78 5f 63 6c 61 73 73 5f 69 6e 66 6f
0x11d0f8040: 73 20 3d 20 25 75 0a 00 63 6f 75 6e 74 20 3d 20
0x11d0f8050: 25 75 0a 00 5b 25 75 5d 20 69 73 61 20 3d 20 25
0x11d0f8060: 38 70 20 25 73 0a 00 00 00 00 00 00 00 00 00 00
0x11d0f8070: 00 00 00 00 00
[0x1055f8078+0xf]->0x11d0f8080 (alignment 8, section ID 2, name __bss)
IRMemoryMap::ReadMemory (0x11d0f8080, 0x60000031c110, 0x15) came from [0x11d0f8080..0x11d0f8097)
0x11d0f8080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[0x1055f8088+0x16]->0x11d0f80a0 (alignment 8, section ID 3, name __objc_imageinfo)
IRMemoryMap::ReadMemory (0x11d0f80a0, 0x600000573000, 0x22) came from [0x11d0f80a0..0x11d0f80bf)
0x11d0f80a0: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00
0x11d0f80b0: 00 00 00 00 00 00
[0x1055f80a0+0xe6]->0xffffffffffffffff (alignment 8, section ID 4, name __debug_abbrev)
0x1055f80a0: 01 11 01 25 0e 13 05 03 0e 10 17 1b 0e e5 7f 0b
0x1055f80b0: 11 01 12 06 00 00 02 34 00 49 13 3a 0b 3b 0b 02
0x1055f80c0: 18 00 00 03 01 01 49 13 00 00 04 21 00 49 13 37
0x1055f80d0: 0b 00 00 05 26 00 49 13 00 00 06 24 00 03 0e 3e
0x1055f80e0: 0b 0b 0b 00 00 07 24 00 03 0e 0b 0b 3e 0b 00 00
0x1055f80f0: 08 0f 00 49 13 00 00 09 13 01 36 0b 03 0e 0b 0b
0x1055f8100: 3a 0b 3b 0b 00 00 0a 0d 00 03 0e 49 13 3a 0b 3b
0x1055f8110: 0b 38 0b 00 00 0b 16 00 49 13 03 0e 00 00 0c 13
0x1055f8120: 00 03 0e 3c 19 00 00 0d 16 00 49 13 03 0e 3a 0b
0x1055f8130: 3b 0b 00 00 0e 2e 01 11 01 12 06 40 18 6e 0e 03
0x1055f8140: 0e 3a 0b 3b 0b 49 13 3f 19 00 00 0f 05 00 02 18
0x1055f8150: 03 0e 3a 0b 3b 0b 49 13 00 00 10 34 00 02 18 03
0x1055f8160: 0e 3a 0b 3b 0b 49 13 00 00 11 0b 01 11 01 12 06
0x1055f8170: 00 00 12 0f 00 00 00 00 00 00 00 00 00 00 00 00
0x1055f8180: 00 00 00 00 00 00
[0x1055f8188+0x2d0]->0xffffffffffffffff (alignment 8, section ID 5, name __debug_info)
0x1055f8188: 6e 02 00 00 04 00 00 00 00 00 08 01 00 00 00 00
0x1055f8198: 11 00 2f 00 00 00 00 00 00 00 73 00 00 00 02 00
0x1055f81a8: c0 ee 1c 01 00 00 00 ac 02 00 00 02 3c 00 00 00
0x1055f81b8: 01 3e 09 03 00 80 0f 1d 01 00 00 00 03 48 00 00
0x1055f81c8: 00 04 54 00 00 00 16 00 05 4d 00 00 00 06 75 00
0x1055f81d8: 00 00 06 01 07 7a 00 00 00 08 07 02 6c 00 00 00
0x1055f81e8: 01 3f 09 03 16 80 0f 1d 01 00 00 00 03 48 00 00
0x1055f81f8: 00 04 54 00 00 00 1c 00 02 3c 00 00 00 01 42 09
0x1055f8208: 03 32 80 0f 1d 01 00 00 00 02 9a 00 00 00 01 4a
0x1055f8218: 09 03 48 80 0f 1d 01 00 00 00 03 48 00 00 00 04
0x1055f8228: 54 00 00 00 0c 00 02 b7 00 00 00 01 5f 09 03 54
0x1055f8238: 80 0f 1d 01 00 00 00 03 48 00 00 00 04 54 00 00
0x1055f8248: 00 13 00 08 c8 00 00 00 09 05 8f 00 00 00 0c 01
0x1055f8258: 30 0a 99 00 00 00 ea 00 00 00 01 32 00 0a ae 00
0x1055f8268: 00 00 fd 00 00 00 01 33 08 00 0b f3 00 00 00 9d
0x1055f8278: 00 00 00 08 f8 00 00 00 0c a3 00 00 00 0d 08 01
0x1055f8288: 00 00 b3 00 00 00 01 18 06 bc 00 00 00 07 04 08
0x1055f8298: ea 00 00 00 0e 00 c0 ee 1c 01 00 00 00 ac 02 00
0x1055f82a8: 00 01 6d f6 00 00 00 c9 00 00 00 01 37 fd 00 00
0x1055f82b8: 00 0f 02 91 78 30 01 00 00 01 37 4d 02 00 00 0f
0x1055f82c8: 02 91 70 4e 01 00 00 01 38 4d 02 00 00 0f 02 91
0x1055f82d8: 6c 5e 01 00 00 01 39 fd 00 00 00 0f 02 91 60 74
0x1055f82e8: 01 00 00 01 3a 4d 02 00 00 0f 02 91 5c 81 01 00
0x1055f82f8: 00 01 3b fd 00 00 00 0f 02 91 58 92 01 00 00 01
0x1055f8308: 3c fd 00 00 00 10 02 91 50 9d 01 00 00 01 41 4e
0x1055f8318: 02 00 00 10 02 91 48 c2 01 00 00 01 44 c3 00 00
0x1055f8328: 00 10 02 91 40 ce 01 00 00 01 46 0f 01 00 00 10
0x1055f8338: 03 91 bc 7f e2 01 00 00 01 48 fd 00 00 00 10 03
0x1055f8348: 8f c8 00 e8 01 00 00 01 4c fd 00 00 00 11 f0 c0
0x1055f8358: ee 1c 01 00 00 00 74 01 00 00 10 03 8f c4 00 ec
0x1055f8368: 01 00 00 01 4d fd 00 00 00 11 14 c1 ee 1c 01 00
0x1055f8378: 00 00 34 01 00 00 10 02 8f 38 99 00 00 00 01 51
0x1055f8388: ea 00 00 00 10 02 8f 30 ee 01 00 00 01 52 65 02
0x1055f8398: 00 00 10 02 8f 28 f7 01 00 00 01 59 65 02 00 00
0x1055f83a8: 10 02 8f 24 f9 01 00 00 01 5a fd 00 00 00 11 88
0x1055f83b8: c1 ee 1c 01 00 00 00 48 00 00 00 10 02 8f 23 fb
0x1055f83c8: 01 00 00 01 5b 6a 02 00 00 00 00 00 00 12 05 53
0x1055f83d8: 02 00 00 0d 5e 02 00 00 ad 01 00 00 01 1d 06 b4
0x1055f83e8: 01 00 00 07 08 08 48 00 00 00 06 fd 01 00 00 08
0x1055f83f8: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1055f8408: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1055f8418: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1055f8428: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1055f8438: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1055f8448: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[0x1055f8458+0x219]->0xffffffffffffffff (alignment 8, section ID 6, name __debug_str)
0x1055f8458: 41 70 70 6c 65 20 63 6c 61 6e 67 20 76 65 72 73
0x1055f8468: 69 6f 6e 20 31 35 2e 30 2e 30 20 28 63 6c 61 6e
0x1055f8478: 67 2d 31 35 30 30 2e 30 2e 34 30 2e 31 29 00 2f
0x1055f8488: 76 61 72 2f 66 6f 6c 64 65 72 73 2f 6a 6b 2f 32
0x1055f8498: 6e 6b 6c 62 68 30 78 35 6b 73 63 31 39 32 6a 73
0x1055f84a8: 6d 39 6e 68 6e 68 63 30 30 30 30 67 6e 2f 54 2f
0x1055f84b8: 6c 6c 64 62 2f 38 39 35 30 31 2f 3c 73 74 64 69
0x1055f84c8: 6e 3e 00 2f 00 63 68 61 72 00 5f 5f 41 52 52 41
0x1055f84d8: 59 5f 53 49 5a 45 5f 54 59 50 45 5f 5f 00 00 43
0x1055f84e8: 6c 61 73 73 49 6e 66 6f 00 69 73 61 00 43 6c 61
0x1055f84f8: 73 73 00 6f 62 6a 63 5f 63 6c 61 73 73 00 68 61
0x1055f8508: 73 68 00 75 69 6e 74 33 32 5f 74 00 75 6e 73 69
0x1055f8518: 67 6e 65 64 20 69 6e 74 00 5f 5f 6c 6c 64 62 5f
0x1055f8528: 61 70 70 6c 65 5f 6f 62 6a 63 5f 76 32 5f 67 65
0x1055f8538: 74 5f 64 79 6e 61 6d 69 63 5f 63 6c 61 73 73 5f
0x1055f8548: 69 6e 66 6f 33 00 5f 5a 34 34 5f 5f 6c 6c 64 62
0x1055f8558: 5f 61 70 70 6c 65 5f 6f 62 6a 63 5f 76 32 5f 67
0x1055f8568: 65 74 5f 64 79 6e 61 6d 69 63 5f 63 6c 61 73 73
0x1055f8578: 5f 69 6e 66 6f 33 50 76 53 5f 6a 53 5f 6a 6a 00
0x1055f8588: 67 64 62 5f 6f 62 6a 63 5f 72 65 61 6c 69 7a 65
0x1055f8598: 64 5f 63 6c 61 73 73 65 73 5f 70 74 72 00 63 6c
0x1055f85a8: 61 73 73 5f 69 6e 66 6f 73 5f 70 74 72 00 63 6c
0x1055f85b8: 61 73 73 5f 69 6e 66 6f 73 5f 62 79 74 65 5f 73
0x1055f85c8: 69 7a 65 00 63 6c 61 73 73 5f 62 75 66 66 65 72
0x1055f85d8: 00 63 6c 61 73 73 5f 62 75 66 66 65 72 5f 6c 65
0x1055f85e8: 6e 00 73 68 6f 75 6c 64 5f 6c 6f 67 00 6d 61 78
0x1055f85f8: 5f 63 6c 61 73 73 5f 69 6e 66 6f 73 00 73 69 7a
0x1055f8608: 65 5f 74 00 75 6e 73 69 67 6e 65 64 20 6c 6f 6e
0x1055f8618: 67 00 63 6c 61 73 73 5f 69 6e 66 6f 73 00 72 65
0x1055f8628: 61 6c 69 7a 65 64 5f 63 6c 61 73 73 5f 6c 69 73
0x1055f8638: 74 00 63 6f 75 6e 74 00 69 64 78 00 69 00 6e 61
0x1055f8648: 6d 65 5f 70 74 72 00 73 00 68 00 63 00 75 6e 73
0x1055f8658: 69 67 6e 65 64 20 63 68 61 72 00 00 00 00 00 00
0x1055f8668: 00 00 00 00 00 00 00 00 00
[0x1055f8678+0x92]->0xffffffffffffffff (alignment 8, section ID 7, name __apple_names)
0x1055f8678: 48 53 41 48 01 00 00 00 03 00 00 00 03 00 00 00
0x1055f8688: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x1055f8698: ff ff ff ff 00 00 00 00 01 00 00 00 ac 20 88 87
0x1055f86a8: 05 15 00 00 75 f2 f5 58 44 00 00 00 54 00 00 00
0x1055f86b8: 74 00 00 00 c9 00 00 00 01 00 00 00 14 01 00 00
0x1055f86c8: 00 00 00 00 8e 00 00 00 05 00 00 00 2b 00 00 00
0x1055f86d8: 5b 00 00 00 78 00 00 00 89 00 00 00 a6 00 00 00
0x1055f86e8: 00 00 00 00 f6 00 00 00 01 00 00 00 14 01 00 00
0x1055f86f8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1055f8708: 00 00
[0x1055f8710+0x32]->0xffffffffffffffff (alignment 8, section ID 8, name __apple_objc)
0x1055f8710: 48 53 41 48 01 00 00 00 01 00 00 00 00 00 00 00
0x1055f8720: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x1055f8730: ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
0x1055f8740: 00 00
[0x1055f8748+0x32]->0xffffffffffffffff (alignment 8, section ID 9, name __apple_namespac)
0x1055f8748: 48 53 41 48 01 00 00 00 01 00 00 00 00 00 00 00
0x1055f8758: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x1055f8768: ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
0x1055f8778: 00 00
[0x1055f8780+0x14d]->0xffffffffffffffff (alignment 8, section ID 10, name __apple_types)
0x1055f8780: 48 53 41 48 01 00 00 00 09 00 00 00 09 00 00 00
0x1055f8790: 14 00 00 00 00 00 00 00 03 00 00 00 01 00 06 00
0x1055f87a0: 03 00 05 00 04 00 0b 00 00 00 00 00 ff ff ff ff
0x1055f87b0: ff ff ff ff ff ff ff ff ff ff ff ff 01 00 00 00
0x1055f87c0: 04 00 00 00 06 00 00 00 07 00 00 00 72 b6 d0 f9
0x1055f87d0: cd 93 3c b2 5b 73 8c dc a0 a7 cb f9 bb 4e f8 0c
0x1055f87e0: 93 f2 d0 1b 67 1d d1 59 5d e8 53 11 63 20 95 7c
0x1055f87f0: 94 00 00 00 a7 00 00 00 ba 00 00 00 cd 00 00 00
0x1055f8800: e0 00 00 00 f3 00 00 00 06 01 00 00 19 01 00 00
0x1055f8810: 2c 01 00 00 b4 01 00 00 01 00 00 00 5e 02 00 00
0x1055f8820: 24 00 00 00 00 00 00 bc 00 00 00 01 00 00 00 08
0x1055f8830: 01 00 00 24 00 00 00 00 00 00 7a 00 00 00 01 00
0x1055f8840: 00 00 54 00 00 00 24 00 00 00 00 00 00 fd 01 00
0x1055f8850: 00 01 00 00 00 6a 02 00 00 24 00 00 00 00 00 00
0x1055f8860: 9d 00 00 00 01 00 00 00 ea 00 00 00 16 00 00 00
0x1055f8870: 00 00 00 ad 01 00 00 01 00 00 00 53 02 00 00 16
0x1055f8880: 00 00 00 00 00 00 8f 00 00 00 01 00 00 00 c8 00
0x1055f8890: 00 00 13 00 00 00 00 00 00 b3 00 00 00 01 00 00
0x1055f88a0: 00 fd 00 00 00 16 00 00 00 00 00 00 75 00 00 00
0x1055f88b0: 01 00 00 00 4d 00 00 00 24 00 00 00 00 00 00 00
0x1055f88c0: 00 00 00 00 00 00 00 00 00 00 00 00 00
[0x1055f88d0+0xc1]->0xffffffffffffffff (alignment 8, section ID 11, name __debug_line)
0x1055f88d0: a7 00 00 00 04 00 2d 00 00 00 01 01 01 fb 0e 0d
0x1055f88e0: 00 01 01 01 01 00 00 00 01 00 00 01 00 3c 6c 6c
0x1055f88f0: 64 62 20 77 72 61 70 70 65 72 20 70 72 65 66 69
0x1055f8900: 78 3e 00 00 00 00 00 00 09 02 00 c0 ee 1c 01 00
0x1055f8910: 00 00 03 3c 01 0a 02 24 13 06 4a 4a 06 08 ad 06
0x1055f8920: 4a 4a 06 08 ae f3 06 4a 4a 06 08 ae 84 84 4b 49
0x1055f8930: f4 06 4a 4a 06 08 ae 4b 06 4a 82 06 84 06 82 06
0x1055f8940: 84 08 75 08 3d 06 4a 06 4b f3 08 3e 06 4a 06 4b
0x1055f8950: 4b 83 83 06 ba 4a 06 83 08 73 08 76 08 75 08 75
0x1055f8960: 06 4a 4a 06 02 3c 13 4b 03 6c ba 03 17 f2 06 82
0x1055f8970: 06 84 08 3d 08 3f 02 10 00 01 01 00 00 00 00 00
0x1055f8980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1055f8990: 00
Couldn't find llvm.global_ctors.
[ClangASTImporter] Forgetting destination (ASTContext*)0x0000000127BE3800
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x0000000127BE3800->(ASTContext*)0x0000000134A71600
Expression:
extern "C" void __lldb_caller_function (void *input)
{
struct __lldb_caller_struct
{
unsigned int (*fn_ptr) (void *, void *, unsigned int, void *, unsigned int, unsigned int);
void * arg_0;
void * arg_1;
unsigned int arg_2;
void * arg_3;
unsigned int arg_4;
unsigned int arg_5;
unsigned int return_value;
};
struct __lldb_caller_struct* __lldb_fn_data = (struct __lldb_caller_struct *) input;
__lldb_fn_data->return_value = __lldb_fn_data->fn_ptr (__lldb_fn_data->arg_0, __lldb_fn_data->arg_1, __lldb_fn_data->arg_2, __lldb_fn_data->arg_3, __lldb_fn_data->arg_4, __lldb_fn_data->arg_5);
}
Using arm64-apple-macosx11.0.0 as the target triple
Using SIMD alignment: 0
Target datalayout string: 'e-m:o-i64:64-i128:128-n32:64-S128'
Target ABI: 'aapcs'
Target vector alignment: 128
Found function __lldb_caller_function for __lldb_caller_function
DoPrepareForExecution - Current expression language is unknown
Module being sent to JIT:
; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.__lldb_caller_struct = type { ptr, ptr, ptr, i32, ptr, i32, i32, i32 }
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @__lldb_caller_function(ptr %input) #0 !dbg !6 {
entry:
%input.addr = alloca ptr, align 8, !clang.decl.ptr !35
%__lldb_fn_data = alloca ptr, align 8, !clang.decl.ptr !36
store ptr %input, ptr %input.addr, align 8
call void @llvm.dbg.declare(metadata ptr %input.addr, metadata !37, metadata !DIExpression()), !dbg !38
call void @llvm.dbg.declare(metadata ptr %__lldb_fn_data, metadata !39, metadata !DIExpression()), !dbg !40
%0 = load ptr, ptr %input.addr, align 8, !dbg !40
store ptr %0, ptr %__lldb_fn_data, align 8, !dbg !40
%1 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !41
%fn_ptr = getelementptr inbounds %struct.__lldb_caller_struct, ptr %1, i32 0, i32 0, !dbg !41
%2 = load ptr, ptr %fn_ptr, align 8, !dbg !41
%3 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !41
%arg_0 = getelementptr inbounds %struct.__lldb_caller_struct, ptr %3, i32 0, i32 1, !dbg !41
%4 = load ptr, ptr %arg_0, align 8, !dbg !41
%5 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !41
%arg_1 = getelementptr inbounds %struct.__lldb_caller_struct, ptr %5, i32 0, i32 2, !dbg !41
%6 = load ptr, ptr %arg_1, align 8, !dbg !41
%7 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !41
%arg_2 = getelementptr inbounds %struct.__lldb_caller_struct, ptr %7, i32 0, i32 3, !dbg !41
%8 = load i32, ptr %arg_2, align 8, !dbg !41
%9 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !41
%arg_3 = getelementptr inbounds %struct.__lldb_caller_struct, ptr %9, i32 0, i32 4, !dbg !41
%10 = load ptr, ptr %arg_3, align 8, !dbg !41
%11 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !41
%arg_4 = getelementptr inbounds %struct.__lldb_caller_struct, ptr %11, i32 0, i32 5, !dbg !41
%12 = load i32, ptr %arg_4, align 8, !dbg !41
%13 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !41
%arg_5 = getelementptr inbounds %struct.__lldb_caller_struct, ptr %13, i32 0, i32 6, !dbg !41
%14 = load i32, ptr %arg_5, align 4, !dbg !41
%call = call i32 %2(ptr %4, ptr %6, i32 %8, ptr %10, i32 %12, i32 %14) #2, !dbg !41
%15 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !41
%return_value = getelementptr inbounds %struct.__lldb_caller_struct, ptr %15, i32 0, i32 7, !dbg !41
store i32 %call, ptr %return_value, align 8, !dbg !41
ret void, !dbg !42
}
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn }
attributes #2 = { convergent "no-builtins" }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!24, !25, !26, !27, !28, !29, !30, !31, !32}
!clang.global.decl.ptrs = !{!33}
!llvm.ident = !{!34}
!0 = distinct !DICompileUnit(language: DW_LANG_ObjC_plus_plus, file: !1, producer: "Apple clang version 15.0.0 (clang-1500.0.40.1)", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug, retainedTypes: !2)
!1 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "/")
!2 = !{!3}
!3 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !4, size: 64)
!4 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__lldb_caller_struct", scope: !6, file: !5, line: 3, size: 448, flags: DIFlagTypePassByValue, elements: !11)
!5 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/lldb-f9102b.expr", directory: "")
!6 = distinct !DISubprogram(name: "__lldb_caller_function", scope: !5, file: !5, line: 1, type: !7, scopeLine: 2, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !10)
!7 = !DISubroutineType(types: !8)
!8 = !{null, !9}
!9 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!10 = !{}
!11 = !{!12, !17, !18, !19, !20, !21, !22, !23}
!12 = !DIDerivedType(tag: DW_TAG_member, name: "fn_ptr", scope: !4, file: !5, line: 5, baseType: !13, size: 64)
!13 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !14, size: 64)
!14 = !DISubroutineType(types: !15)
!15 = !{!16, !9, !9, !16, !9, !16, !16}
!16 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
!17 = !DIDerivedType(tag: DW_TAG_member, name: "arg_0", scope: !4, file: !5, line: 6, baseType: !9, size: 64, offset: 64)
!18 = !DIDerivedType(tag: DW_TAG_member, name: "arg_1", scope: !4, file: !5, line: 7, baseType: !9, size: 64, offset: 128)
!19 = !DIDerivedType(tag: DW_TAG_member, name: "arg_2", scope: !4, file: !5, line: 8, baseType: !16, size: 32, offset: 192)
!20 = !DIDerivedType(tag: DW_TAG_member, name: "arg_3", scope: !4, file: !5, line: 9, baseType: !9, size: 64, offset: 256)
!21 = !DIDerivedType(tag: DW_TAG_member, name: "arg_4", scope: !4, file: !5, line: 10, baseType: !16, size: 32, offset: 320)
!22 = !DIDerivedType(tag: DW_TAG_member, name: "arg_5", scope: !4, file: !5, line: 11, baseType: !16, size: 32, offset: 352)
!23 = !DIDerivedType(tag: DW_TAG_member, name: "return_value", scope: !4, file: !5, line: 12, baseType: !16, size: 32, offset: 384)
!24 = !{i32 1, !"Objective-C Version", i32 2}
!25 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!26 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!27 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!28 = !{i32 1, !"Objective-C Class Properties", i32 64}
!29 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!30 = !{i32 2, !"Debug Info Version", i32 3}
!31 = !{i32 1, !"wchar_size", i32 4}
!32 = !{i32 7, !"frame-pointer", i32 2}
!33 = !{ptr @__lldb_caller_function, i64 5180203688}
!34 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!35 = !{i64 5180203488}
!36 = !{i64 5180206520}
!37 = !DILocalVariable(name: "input", arg: 1, scope: !6, file: !5, line: 1, type: !9)
!38 = !DILocation(line: 1, scope: !6)
!39 = !DILocalVariable(name: "__lldb_fn_data", scope: !6, file: !5, line: 14, type: !3)
!40 = !DILocation(line: 14, scope: !6)
!41 = !DILocation(line: 15, scope: !6)
!42 = !DILocation(line: 16, scope: !6)
IRExecutionUnit::allocateCodeSection(Size=0x73, Alignment=8, SectionID=0) = 0x1055fc000
IRExecutionUnit::allocateDataSection(Size=0x16, Alignment=8, SectionID=1) = 0x105738000
IRExecutionUnit::allocateDataSection(Size=0x99, Alignment=8, SectionID=2) = 0x105738018
IRExecutionUnit::allocateDataSection(Size=0x11c, Alignment=8, SectionID=3) = 0x1057380b8
IRExecutionUnit::allocateDataSection(Size=0x109, Alignment=8, SectionID=4) = 0x1057381d8
IRExecutionUnit::allocateDataSection(Size=0x4a, Alignment=8, SectionID=5) = 0x1057382e8
IRExecutionUnit::allocateDataSection(Size=0x32, Alignment=8, SectionID=6) = 0x105738338
IRExecutionUnit::allocateDataSection(Size=0x32, Alignment=8, SectionID=7) = 0x105738370
IRExecutionUnit::allocateDataSection(Size=0x74, Alignment=8, SectionID=8) = 0x1057383a8
IRExecutionUnit::allocateDataSection(Size=0x9d, Alignment=8, SectionID=9) = 0x105738420
IRMemoryMap::Malloc (127, 0x8, 0x6, eAllocationPolicyProcessOnly) -> 0x11ceec3a0
IRMemoryMap::Malloc (31, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f80c0
IRMemoryMap::WriteMemory (0x11ceec3a0, 0x1055fc000, 0x115) went to [0x11ceec3a0..0x11ceec41f)
IRMemoryMap::WriteMemory (0x11d0f80c0, 0x105738000, 0x22) went to [0x11d0f80c0..0x11d0f80df)
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1055fc000 in [0x1055fc000..0x1055fc073], and returned 0x11ceec3a0 from [0x11ceec3a0..0x11ceec413].
Code can be run in the target.
Found function, has local address 0x1055fc000 and remote address 0x11ceec3a0
Function's code range is [0x11ceec3a0+0x73]
Function data has contents:
0x11ceec3a0: ff 83 00 d1 fd 7b 01 a9 fd 43 00 91 e0 07 00 f9
0x11ceec3b0: e8 07 40 f9 e8 03 00 f9 e8 03 40 f9 08 01 40 f9
0x11ceec3c0: e9 03 40 f9 20 05 40 f9 e9 03 40 f9 21 09 40 f9
0x11ceec3d0: e9 03 40 f9 22 19 40 b9 e9 03 40 f9 23 11 40 f9
0x11ceec3e0: e9 03 40 f9 24 29 40 b9 e9 03 40 f9 25 2d 40 b9
0x11ceec3f0: 00 01 3f d6 e8 03 40 f9 00 31 00 b9 fd 7b 41 a9
0x11ceec400: ff 83 00 91 c0 03 5f d6 00 00 00 00 00 00 00 00
0x11ceec410: 00 00 00
Function disassembly:
0x11ceec3a0: 0xd10083ff unknown sub sp, sp, #0x20
0x11ceec3a4: 0xa9017bfd unknown stp x29, x30, [sp, #0x10]
0x11ceec3a8: 0x910043fd unknown add x29, sp, #0x10
0x11ceec3ac: 0xf90007e0 unknown str x0, [sp, #0x8]
0x11ceec3b0: 0xf94007e8 unknown ldr x8, [sp, #0x8]
0x11ceec3b4: 0xf90003e8 unknown str x8, [sp]
0x11ceec3b8: 0xf94003e8 unknown ldr x8, [sp]
0x11ceec3bc: 0xf9400108 unknown ldr x8, [x8]
0x11ceec3c0: 0xf94003e9 unknown ldr x9, [sp]
0x11ceec3c4: 0xf9400520 unknown ldr x0, [x9, #0x8]
0x11ceec3c8: 0xf94003e9 unknown ldr x9, [sp]
0x11ceec3cc: 0xf9400921 unknown ldr x1, [x9, #0x10]
0x11ceec3d0: 0xf94003e9 unknown ldr x9, [sp]
0x11ceec3d4: 0xb9401922 unknown ldr w2, [x9, #0x18]
0x11ceec3d8: 0xf94003e9 unknown ldr x9, [sp]
0x11ceec3dc: 0xf9401123 unknown ldr x3, [x9, #0x20]
0x11ceec3e0: 0xf94003e9 unknown ldr x9, [sp]
0x11ceec3e4: 0xb9402924 unknown ldr w4, [x9, #0x28]
0x11ceec3e8: 0xf94003e9 unknown ldr x9, [sp]
0x11ceec3ec: 0xb9402d25 unknown ldr w5, [x9, #0x2c]
0x11ceec3f0: 0xd63f0100 unknown blr x8
0x11ceec3f4: 0xf94003e8 unknown ldr x8, [sp]
0x11ceec3f8: 0xb9003100 unknown str w0, [x8, #0x30]
0x11ceec3fc: 0xa9417bfd unknown ldp x29, x30, [sp, #0x10]
0x11ceec400: 0x910083ff unknown add sp, sp, #0x20
0x11ceec404: 0xd65f03c0 unknown ret
0x11ceec408: 0x00000000 unknown udf #0x0
0x11ceec40c: 0x00000000 unknown udf #0x0
Sections:
[0x1055fc000+0x73]->0x11ceec3a0 (alignment 8, section ID 0, name __text)
IRMemoryMap::ReadMemory (0x11ceec3a0, 0x600002ea0a00, 0x115) came from [0x11ceec3a0..0x11ceec41f)
0x11ceec3a0: ff 83 00 d1 fd 7b 01 a9 fd 43 00 91 e0 07 00 f9
0x11ceec3b0: e8 07 40 f9 e8 03 00 f9 e8 03 40 f9 08 01 40 f9
0x11ceec3c0: e9 03 40 f9 20 05 40 f9 e9 03 40 f9 21 09 40 f9
0x11ceec3d0: e9 03 40 f9 22 19 40 b9 e9 03 40 f9 23 11 40 f9
0x11ceec3e0: e9 03 40 f9 24 29 40 b9 e9 03 40 f9 25 2d 40 b9
0x11ceec3f0: 00 01 3f d6 e8 03 40 f9 00 31 00 b9 fd 7b 41 a9
0x11ceec400: ff 83 00 91 c0 03 5f d6 00 00 00 00 00 00 00 00
0x11ceec410: 00 00 00
[0x105738000+0x16]->0x11d0f80c0 (alignment 8, section ID 1, name __objc_imageinfo)
IRMemoryMap::ReadMemory (0x11d0f80c0, 0x6000007d0080, 0x22) came from [0x11d0f80c0..0x11d0f80df)
0x11d0f80c0: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00
0x11d0f80d0: 00 00 00 00 00 00
[0x105738018+0x99]->0xffffffffffffffff (alignment 8, section ID 2, name __debug_abbrev)
0x105738018: 01 11 01 25 0e 13 05 03 0e 10 17 1b 0e e5 7f 0b
0x105738028: 11 01 12 06 00 00 02 0f 00 49 13 00 00 03 2e 01
0x105738038: 11 01 12 06 40 18 03 0e 3a 0b 3b 0b 3f 19 00 00
0x105738048: 04 13 01 36 0b 03 0e 0b 0b 3a 0b 3b 0b 00 00 05
0x105738058: 0d 00 03 0e 49 13 3a 0b 3b 0b 38 0b 00 00 06 05
0x105738068: 00 02 18 03 0e 3a 0b 3b 0b 49 13 00 00 07 34 00
0x105738078: 02 18 03 0e 3a 0b 3b 0b 49 13 00 00 08 15 01 49
0x105738088: 13 00 00 09 05 00 49 13 00 00 0a 24 00 03 0e 3e
0x105738098: 0b 0b 0b 00 00 0b 0f 00 00 00 00 00 00 00 00 00
0x1057380a8: 00 00 00 00 00 00 00 00 00
[0x1057380b8+0x11c]->0xffffffffffffffff (alignment 8, section ID 3, name __debug_info)
0x1057380b8: fa 00 00 00 04 00 00 00 00 00 08 01 00 00 00 00
0x1057380c8: 11 00 2f 00 00 00 00 00 00 00 73 00 00 00 02 a0
0x1057380d8: c3 ee 1c 01 00 00 00 68 00 00 00 02 45 00 00 00
0x1057380e8: 03 a0 c3 ee 1c 01 00 00 00 68 00 00 00 01 6d cf
0x1057380f8: 00 00 00 01 01 04 05 75 00 00 00 38 01 03 05 8a
0x105738108: 00 00 00 cc 00 00 00 01 05 00 05 9e 00 00 00 fc
0x105738118: 00 00 00 01 06 08 05 a4 00 00 00 fc 00 00 00 01
0x105738128: 07 10 05 aa 00 00 00 f5 00 00 00 01 08 18 05 b0
0x105738138: 00 00 00 fc 00 00 00 01 09 20 05 b6 00 00 00 f5
0x105738148: 00 00 00 01 0a 28 05 bc 00 00 00 f5 00 00 00 01
0x105738158: 0b 2c 05 c2 00 00 00 f5 00 00 00 01 0c 30 00 06
0x105738168: 02 8f 08 e6 00 00 00 01 01 fc 00 00 00 07 02 8f
0x105738178: 00 ec 00 00 00 01 0e 2b 00 00 00 00 02 d1 00 00
0x105738188: 00 08 f5 00 00 00 09 fc 00 00 00 09 fc 00 00 00
0x105738198: 09 f5 00 00 00 09 fc 00 00 00 09 f5 00 00 00 09
0x1057381a8: f5 00 00 00 00 0a 91 00 00 00 07 04 0b 00 00 00
0x1057381b8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1057381c8: 00 00 00 00 00 00 00 00 00 00 00 00
[0x1057381d8+0x109]->0xffffffffffffffff (alignment 8, section ID 4, name __debug_str)
0x1057381d8: 41 70 70 6c 65 20 63 6c 61 6e 67 20 76 65 72 73
0x1057381e8: 69 6f 6e 20 31 35 2e 30 2e 30 20 28 63 6c 61 6e
0x1057381f8: 67 2d 31 35 30 30 2e 30 2e 34 30 2e 31 29 00 2f
0x105738208: 76 61 72 2f 66 6f 6c 64 65 72 73 2f 6a 6b 2f 32
0x105738218: 6e 6b 6c 62 68 30 78 35 6b 73 63 31 39 32 6a 73
0x105738228: 6d 39 6e 68 6e 68 63 30 30 30 30 67 6e 2f 54 2f
0x105738238: 6c 6c 64 62 2f 38 39 35 30 31 2f 3c 73 74 64 69
0x105738248: 6e 3e 00 2f 00 5f 5f 6c 6c 64 62 5f 63 61 6c 6c
0x105738258: 65 72 5f 73 74 72 75 63 74 00 66 6e 5f 70 74 72
0x105738268: 00 75 6e 73 69 67 6e 65 64 20 69 6e 74 00 61 72
0x105738278: 67 5f 30 00 61 72 67 5f 31 00 61 72 67 5f 32 00
0x105738288: 61 72 67 5f 33 00 61 72 67 5f 34 00 61 72 67 5f
0x105738298: 35 00 72 65 74 75 72 6e 5f 76 61 6c 75 65 00 5f
0x1057382a8: 5f 6c 6c 64 62 5f 63 61 6c 6c 65 72 5f 66 75 6e
0x1057382b8: 63 74 69 6f 6e 00 69 6e 70 75 74 00 5f 5f 6c 6c
0x1057382c8: 64 62 5f 66 6e 5f 64 61 74 61 00 00 00 00 00 00
0x1057382d8: 00 00 00 00 00 00 00 00 00
[0x1057382e8+0x4a]->0xffffffffffffffff (alignment 8, section ID 5, name __apple_names)
0x1057382e8: 48 53 41 48 01 00 00 00 01 00 00 00 01 00 00 00
0x1057382f8: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x105738308: 00 00 00 00 78 e2 e3 24 2c 00 00 00 cf 00 00 00
0x105738318: 01 00 00 00 30 00 00 00 00 00 00 00 00 00 00 00
0x105738328: 00 00 00 00 00 00 00 00 00 00
[0x105738338+0x32]->0xffffffffffffffff (alignment 8, section ID 6, name __apple_objc)
0x105738338: 48 53 41 48 01 00 00 00 01 00 00 00 00 00 00 00
0x105738348: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x105738358: ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
0x105738368: 00 00
[0x105738370+0x32]->0xffffffffffffffff (alignment 8, section ID 7, name __apple_namespac)
0x105738370: 48 53 41 48 01 00 00 00 01 00 00 00 00 00 00 00
0x105738380: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x105738390: ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
0x1057383a0: 00 00
[0x1057383a8+0x74]->0xffffffffffffffff (alignment 8, section ID 8, name __apple_types)
0x1057383a8: 48 53 41 48 01 00 00 00 02 00 00 00 02 00 00 00
0x1057383b8: 14 00 00 00 00 00 00 00 03 00 00 00 01 00 06 00
0x1057383c8: 03 00 05 00 04 00 0b 00 ff ff ff ff 00 00 00 00
0x1057383d8: cd 93 3c b2 97 1c 19 b7 40 00 00 00 53 00 00 00
0x1057383e8: 91 00 00 00 01 00 00 00 f5 00 00 00 24 00 00 00
0x1057383f8: 00 00 00 75 00 00 00 01 00 00 00 45 00 00 00 13
0x105738408: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x105738418: 00 00 00 00
[0x105738420+0x9d]->0xffffffffffffffff (alignment 8, section ID 9, name __debug_line)
0x105738420: 83 00 00 00 04 00 64 00 00 00 01 01 01 fb 0e 0d
0x105738430: 00 01 01 01 01 00 00 00 01 00 00 01 2f 76 61 72
0x105738440: 2f 66 6f 6c 64 65 72 73 2f 6a 6b 2f 32 6e 6b 6c
0x105738450: 62 68 30 78 35 6b 73 63 31 39 32 6a 73 6d 39 6e
0x105738460: 68 6e 68 63 30 30 30 30 67 6e 2f 54 2f 6c 6c 64
0x105738470: 62 2f 38 39 35 30 31 00 00 6c 6c 64 62 2d 66 39
0x105738480: 31 30 32 62 2e 65 78 70 72 00 01 00 00 00 00 09
0x105738490: 02 a0 c3 ee 1c 01 00 00 00 13 0a 03 0c f2 83 02
0x1057384a0: 44 13 02 0c 00 01 01 00 00 00 00 00 00 00 00 00
0x1057384b0: 00 00 00 00 00 00 00 00 00 00 00 00 00
== [FunctionCaller::ExecuteFunction] Executing function "__lldb_apple_objc_v2_get_dynamic_class_info3-caller" ==
-- [FunctionCaller::GetThreadPlanToCallFunction] Creating thread plan to call function "__lldb_apple_objc_v2_get_dynamic_class_info3-caller" --
ABIMacOSX_arm64::PrepareTrivialCall (tid = 0x247096, sp = 0x16fb8eef0, func_addr = 0x11ceec3a0, return_addr = 0x10026d6ec, arg1 = 0x11d0f80e0)
About to write arg1 (0x11d0f80e0) into x0
== [FunctionCaller::ExecuteFunction] Execution of "__lldb_apple_objc_v2_get_dynamic_class_info3-caller" completed normally ==
-- [FunctionCaller::FetchFunctionResults] Fetching function results for "__lldb_apple_objc_v2_get_dynamic_class_info3-caller"--
Discovered 2380 Objective-C classes
Creating utility function __lldb_apple_objc_v2_get_shared_cache_class_info
Using arm64-apple-macosx11.0.0 as the target triple
Using SIMD alignment: 0
Target datalayout string: 'e-m:o-i64:64-i128:128-n32:64-S128'
Target ABI: 'aapcs'
Target vector alignment: 128
LayoutRecordType on (ASTContext*)0x0000000134D0DC00 'Expression ASTContext for '<clang expression>'' for (RecordDecl*)0x0000000134D5A558 [name = 'ClassInfo']
LayoutRecordType on (ASTContext*)0x0000000134D0DC00 'Expression ASTContext for '<clang expression>'' for (RecordDecl*)0x0000000134D59800 [name = 'objc_opt_t']
LayoutRecordType on (ASTContext*)0x0000000134D0DC00 'Expression ASTContext for '<clang expression>'' for (RecordDecl*)0x0000000134D59B78 [name = 'objc_opt_v14_t']
LayoutRecordType on (ASTContext*)0x0000000134D0DC00 'Expression ASTContext for '<clang expression>'' for (RecordDecl*)0x0000000134D59F48 [name = 'objc_opt_v16_t']
LayoutRecordType on (ASTContext*)0x0000000134D0DC00 'Expression ASTContext for '<clang expression>'' for (RecordDecl*)0x0000000134D581B0 [name = 'objc_clsopt_v16_t']
LayoutRecordType on (ASTContext*)0x0000000134D0DC00 'Expression ASTContext for '<clang expression>'' for (RecordDecl*)0x0000000134D51A38 [name = 'objc_classheader_v16_t']
LayoutRecordType on (ASTContext*)0x0000000134D0DC00 'Expression ASTContext for '<clang expression>'' for (RecordDecl*)0x0000000134D57A68 [name = 'objc_clsopt_t']
LayoutRecordType on (ASTContext*)0x0000000134D0DC00 'Expression ASTContext for '<clang expression>'' for (RecordDecl*)0x0000000134D51750 [name = 'objc_classheader_t']
Found function _Z48__lldb_apple_objc_v2_get_shared_cache_class_infoPvS_S_Pyjj for __lldb_apple_objc_v2_get_shared_cache_class_info
DoPrepareForExecution - Current expression language is unknown
Module as passed in to IRForTarget:
"; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.objc_opt_t = type { i32, i32, i32, i32 }
%struct.objc_opt_v16_t = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64 }
%struct.objc_opt_v14_t = type { i32, i32, i32, i32, i32 }
%struct.objc_clsopt_v16_t = type { i32, i32, i32, i32, i32, i32, i64, [256 x i32], [0 x i8] }
%struct.objc_classheader_v16_t = type { i64 }
%struct.ClassInfo = type <{ ptr, i32 }>
%struct.objc_clsopt_t = type { i32, i32, i32, i32, i32, i32, i64, [256 x i32], [0 x i8] }
%struct.objc_classheader_t = type { i32, i32 }
@class_name_lookup_func = global ptr @objc_debug_class_getNameRaw, align 8, !dbg !0
@.str = private unnamed_addr constant [22 x i8] c"objc_opt_ro_ptr = %p\0A\00", align 1, !dbg !102
@.str.1 = private unnamed_addr constant [28 x i8] c"shared_cache_base_ptr = %p\0A\00", align 1, !dbg !109
@.str.2 = private unnamed_addr constant [22 x i8] c"class_infos_ptr = %p\0A\00", align 1, !dbg !114
@.str.3 = private unnamed_addr constant [47 x i8] c"class_infos_byte_size = %u (%llu class infos)\0A\00", align 1, !dbg !116
@.str.4 = private unnamed_addr constant [24 x i8] c"objc_opt->version = %u\0A\00", align 1, !dbg !121
@.str.5 = private unnamed_addr constant [22 x i8] c"objc_opt->flags = %u\0A\00", align 1, !dbg !126
@.str.6 = private unnamed_addr constant [30 x i8] c"objc_opt->selopt_offset = %d\0A\00", align 1, !dbg !128
@.str.7 = private unnamed_addr constant [36 x i8] c"objc_opt->headeropt_ro_offset = %d\0A\00", align 1, !dbg !133
@.str.8 = private unnamed_addr constant [61 x i8] c"objc_opt->relativeMethodSelectorBaseAddressCacheOffset = %d\0A\00", align 1, !dbg !138
@.str.9 = private unnamed_addr constant [33 x i8] c"objc_opt->headeropt_offset = %d\0A\00", align 1, !dbg !143
@.str.10 = private unnamed_addr constant [30 x i8] c"objc_opt->clsopt_offset = %d\0A\00", align 1, !dbg !148
@.str.11 = private unnamed_addr constant [24 x i8] c"max_class_infos = %llu\0A\00", align 1, !dbg !150
@.str.12 = private unnamed_addr constant [23 x i8] c"clsopt->capacity = %u\0A\00", align 1, !dbg !152
@.str.13 = private unnamed_addr constant [24 x i8] c"clsopt->mask = 0x%8.8x\0A\00", align 1, !dbg !157
@.str.14 = private unnamed_addr constant [19 x i8] c"classOffsets = %p\0A\00", align 1, !dbg !159
@.str.15 = private unnamed_addr constant [28 x i8] c"objectCacheOffset[%u] = %u\0A\00", align 1, !dbg !164
@.str.16 = private unnamed_addr constant [20 x i8] c"isDuplicate = true\0A\00", align 1, !dbg !166
@.str.17 = private unnamed_addr constant [41 x i8] c"objectCacheOffset == invalidEntryOffset\0A\00", align 1, !dbg !171
@.str.18 = private unnamed_addr constant [19 x i8] c"[%u] isa = %8p %s\0A\00", align 1, !dbg !176
@.str.19 = private unnamed_addr constant [43 x i8] c"not(class_infos && idx < max_class_infos)\0A\00", align 1, !dbg !178
@.str.20 = private unnamed_addr constant [22 x i8] c"duplicate_count = %u\0A\00", align 1, !dbg !183
@.str.21 = private unnamed_addr constant [28 x i8] c"duplicateClassOffsets = %p\0A\00", align 1, !dbg !185
@.str.22 = private unnamed_addr constant [25 x i8] c"invalidEntryOffset = %d\0A\00", align 1, !dbg !187
@.str.23 = private unnamed_addr constant [20 x i8] c"clsOffset[%u] = %u\0A\00", align 1, !dbg !192
@.str.24 = private unnamed_addr constant [15 x i8] c"clsOffset & 1\0A\00", align 1, !dbg !194
@.str.25 = private unnamed_addr constant [33 x i8] c"clsOffset == invalidEntryOffset\0A\00", align 1, !dbg !199
@.str.26 = private unnamed_addr constant [16 x i8] c"%u class_infos\0A\00", align 1, !dbg !201
@.str.27 = private unnamed_addr constant [6 x i8] c"done\0A\00", align 1, !dbg !206
; Function Attrs: convergent
declare ptr @objc_debug_class_getNameRaw(ptr) #0
; Function Attrs: convergent mustprogress noinline nounwind optnone
define i32 @_Z48__lldb_apple_objc_v2_get_shared_cache_class_infoPvS_S_Pyjj(ptr %objc_opt_ro_ptr, ptr %shared_cache_base_ptr, ptr %class_infos_ptr, ptr %relative_selector_offset, i32 %class_infos_byte_size, i32 %should_log) #1 !dbg !230 {
entry:
%objc_opt_ro_ptr.addr = alloca ptr, align 8, !clang.decl.ptr !235
%shared_cache_base_ptr.addr = alloca ptr, align 8, !clang.decl.ptr !236
%class_infos_ptr.addr = alloca ptr, align 8, !clang.decl.ptr !237
%relative_selector_offset.addr = alloca ptr, align 8, !clang.decl.ptr !238
%class_infos_byte_size.addr = alloca i32, align 4, !clang.decl.ptr !239
%should_log.addr = alloca i32, align 4, !clang.decl.ptr !240
%idx = alloca i32, align 4, !clang.decl.ptr !241
%objc_opt = alloca ptr, align 8, !clang.decl.ptr !242
%objc_opt_v14 = alloca ptr, align 8, !clang.decl.ptr !243
%objc_opt_v16 = alloca ptr, align 8, !clang.decl.ptr !244
%clsopt = alloca ptr, align 8, !clang.decl.ptr !245
%max_class_infos = alloca i64, align 8, !clang.decl.ptr !246
%class_infos = alloca ptr, align 8, !clang.decl.ptr !247
%checkbytes = alloca ptr, align 8, !clang.decl.ptr !248
%offsets = alloca ptr, align 8, !clang.decl.ptr !249
%classOffsets = alloca ptr, align 8, !clang.decl.ptr !250
%i = alloca i32, align 4, !clang.decl.ptr !251
%objectCacheOffset = alloca i64, align 8, !clang.decl.ptr !252
%name = alloca ptr, align 8, !clang.decl.ptr !253
%s = alloca ptr, align 8, !clang.decl.ptr !254
%h = alloca i32, align 4, !clang.decl.ptr !255
%c = alloca i8, align 1, !clang.decl.ptr !256
%duplicate_count_ptr = alloca ptr, align 8, !clang.decl.ptr !257
%duplicate_count = alloca i32, align 4, !clang.decl.ptr !258
%duplicateClassOffsets = alloca ptr, align 8, !clang.decl.ptr !259
%i191 = alloca i32, align 4, !clang.decl.ptr !260
%objectCacheOffset195 = alloca i64, align 8, !clang.decl.ptr !261
%name232 = alloca ptr, align 8, !clang.decl.ptr !262
%s244 = alloca ptr, align 8, !clang.decl.ptr !263
%h245 = alloca i32, align 4, !clang.decl.ptr !264
%c246 = alloca i8, align 1, !clang.decl.ptr !265
%clsopt275 = alloca ptr, align 8, !clang.decl.ptr !266
%max_class_infos287 = alloca i64, align 8, !clang.decl.ptr !267
%class_infos294 = alloca ptr, align 8, !clang.decl.ptr !268
%invalidEntryOffset = alloca i32, align 4, !clang.decl.ptr !269
%checkbytes299 = alloca ptr, align 8, !clang.decl.ptr !270
%offsets305 = alloca ptr, align 8, !clang.decl.ptr !271
%classOffsets309 = alloca ptr, align 8, !clang.decl.ptr !272
%i331 = alloca i32, align 4, !clang.decl.ptr !273
%clsOffset = alloca i32, align 4, !clang.decl.ptr !274
%name368 = alloca ptr, align 8, !clang.decl.ptr !275
%s380 = alloca ptr, align 8, !clang.decl.ptr !276
%h381 = alloca i32, align 4, !clang.decl.ptr !277
%c382 = alloca i8, align 1, !clang.decl.ptr !278
%duplicate_count_ptr410 = alloca ptr, align 8, !clang.decl.ptr !279
%duplicate_count414 = alloca i32, align 4, !clang.decl.ptr !280
%duplicateClassOffsets415 = alloca ptr, align 8, !clang.decl.ptr !281
%i425 = alloca i32, align 4, !clang.decl.ptr !282
%clsOffset429 = alloca i32, align 4, !clang.decl.ptr !283
%name451 = alloca ptr, align 8, !clang.decl.ptr !284
%s463 = alloca ptr, align 8, !clang.decl.ptr !285
%h464 = alloca i32, align 4, !clang.decl.ptr !286
%c465 = alloca i8, align 1, !clang.decl.ptr !287
store ptr %objc_opt_ro_ptr, ptr %objc_opt_ro_ptr.addr, align 8
call void @llvm.dbg.declare(metadata ptr %objc_opt_ro_ptr.addr, metadata !288, metadata !DIExpression()), !dbg !289
store ptr %shared_cache_base_ptr, ptr %shared_cache_base_ptr.addr, align 8
call void @llvm.dbg.declare(metadata ptr %shared_cache_base_ptr.addr, metadata !290, metadata !DIExpression()), !dbg !291
store ptr %class_infos_ptr, ptr %class_infos_ptr.addr, align 8
call void @llvm.dbg.declare(metadata ptr %class_infos_ptr.addr, metadata !292, metadata !DIExpression()), !dbg !293
store ptr %relative_selector_offset, ptr %relative_selector_offset.addr, align 8
call void @llvm.dbg.declare(metadata ptr %relative_selector_offset.addr, metadata !294, metadata !DIExpression()), !dbg !295
store i32 %class_infos_byte_size, ptr %class_infos_byte_size.addr, align 4
call void @llvm.dbg.declare(metadata ptr %class_infos_byte_size.addr, metadata !296, metadata !DIExpression()), !dbg !297
store i32 %should_log, ptr %should_log.addr, align 4
call void @llvm.dbg.declare(metadata ptr %should_log.addr, metadata !298, metadata !DIExpression()), !dbg !299
%0 = load ptr, ptr %relative_selector_offset.addr, align 8, !dbg !300
store i64 0, ptr %0, align 8, !dbg !300
call void @llvm.dbg.declare(metadata ptr %idx, metadata !301, metadata !DIExpression()), !dbg !302
store i32 0, ptr %idx, align 4, !dbg !302
%1 = load i32, ptr %should_log.addr, align 4, !dbg !303
%tobool = icmp ne i32 %1, 0, !dbg !303
br i1 %tobool, label %if.then, label %if.end, !dbg !305
if.then: ; preds = %entry
%2 = load ptr, ptr %objc_opt_ro_ptr.addr, align 8, !dbg !303
%call = call i32 (ptr, ...) @printf(ptr @.str, ptr %2) #3, !dbg !303
br label %if.end, !dbg !303
if.end: ; preds = %if.then, %entry
%3 = load i32, ptr %should_log.addr, align 4, !dbg !306
%tobool1 = icmp ne i32 %3, 0, !dbg !306
br i1 %tobool1, label %if.then2, label %if.end4, !dbg !308
if.then2: ; preds = %if.end
%4 = load ptr, ptr %shared_cache_base_ptr.addr, align 8, !dbg !306
%call3 = call i32 (ptr, ...) @printf(ptr @.str.1, ptr %4) #3, !dbg !306
br label %if.end4, !dbg !306
if.end4: ; preds = %if.then2, %if.end
%5 = load i32, ptr %should_log.addr, align 4, !dbg !309
%tobool5 = icmp ne i32 %5, 0, !dbg !309
br i1 %tobool5, label %if.then6, label %if.end8, !dbg !311
if.then6: ; preds = %if.end4
%6 = load ptr, ptr %class_infos_ptr.addr, align 8, !dbg !309
%call7 = call i32 (ptr, ...) @printf(ptr @.str.2, ptr %6) #3, !dbg !309
br label %if.end8, !dbg !309
if.end8: ; preds = %if.then6, %if.end4
%7 = load i32, ptr %should_log.addr, align 4, !dbg !312
%tobool9 = icmp ne i32 %7, 0, !dbg !312
br i1 %tobool9, label %if.then10, label %if.end12, !dbg !314
if.then10: ; preds = %if.end8
%8 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !312
%9 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !312
%conv = zext i32 %9 to i64, !dbg !312
%div = udiv i64 %conv, 12, !dbg !312
%call11 = call i32 (ptr, ...) @printf(ptr @.str.3, i32 %8, i64 %div) #3, !dbg !312
br label %if.end12, !dbg !312
if.end12: ; preds = %if.then10, %if.end8
%10 = load ptr, ptr %objc_opt_ro_ptr.addr, align 8, !dbg !315
%tobool13 = icmp ne ptr %10, null, !dbg !315
br i1 %tobool13, label %if.then14, label %if.end498, !dbg !317
if.then14: ; preds = %if.end12
call void @llvm.dbg.declare(metadata ptr %objc_opt, metadata !318, metadata !DIExpression()), !dbg !322
%11 = load ptr, ptr %objc_opt_ro_ptr.addr, align 8, !dbg !322
store ptr %11, ptr %objc_opt, align 8, !dbg !322
call void @llvm.dbg.declare(metadata ptr %objc_opt_v14, metadata !323, metadata !DIExpression()), !dbg !326
%12 = load ptr, ptr %objc_opt_ro_ptr.addr, align 8, !dbg !326
store ptr %12, ptr %objc_opt_v14, align 8, !dbg !326
call void @llvm.dbg.declare(metadata ptr %objc_opt_v16, metadata !327, metadata !DIExpression()), !dbg !330
%13 = load ptr, ptr %objc_opt_ro_ptr.addr, align 8, !dbg !330
store ptr %13, ptr %objc_opt_v16, align 8, !dbg !330
%14 = load ptr, ptr %objc_opt, align 8, !dbg !331
%version = getelementptr inbounds %struct.objc_opt_t, ptr %14, i32 0, i32 0, !dbg !331
%15 = load i32, ptr %version, align 4, !dbg !331
%cmp = icmp uge i32 %15, 16, !dbg !331
br i1 %cmp, label %if.then15, label %if.else, !dbg !333
if.then15: ; preds = %if.then14
%16 = load ptr, ptr %objc_opt_v16, align 8, !dbg !334
%relativeMethodSelectorBaseAddressCacheOffset = getelementptr inbounds %struct.objc_opt_v16_t, ptr %16, i32 0, i32 10, !dbg !334
%17 = load i64, ptr %relativeMethodSelectorBaseAddressCacheOffset, align 8, !dbg !334
%18 = load ptr, ptr %relative_selector_offset.addr, align 8, !dbg !334
store i64 %17, ptr %18, align 8, !dbg !334
%19 = load i32, ptr %should_log.addr, align 4, !dbg !336
%tobool16 = icmp ne i32 %19, 0, !dbg !336
br i1 %tobool16, label %if.then17, label %if.end20, !dbg !338
if.then17: ; preds = %if.then15
%20 = load ptr, ptr %objc_opt_v16, align 8, !dbg !336
%version18 = getelementptr inbounds %struct.objc_opt_v16_t, ptr %20, i32 0, i32 0, !dbg !336
%21 = load i32, ptr %version18, align 8, !dbg !336
%call19 = call i32 (ptr, ...) @printf(ptr @.str.4, i32 %21) #3, !dbg !336
br label %if.end20, !dbg !336
if.end20: ; preds = %if.then17, %if.then15
%22 = load i32, ptr %should_log.addr, align 4, !dbg !339
%tobool21 = icmp ne i32 %22, 0, !dbg !339
br i1 %tobool21, label %if.then22, label %if.end24, !dbg !341
if.then22: ; preds = %if.end20
%23 = load ptr, ptr %objc_opt_v16, align 8, !dbg !339
%flags = getelementptr inbounds %struct.objc_opt_v16_t, ptr %23, i32 0, i32 1, !dbg !339
%24 = load i32, ptr %flags, align 4, !dbg !339
%call23 = call i32 (ptr, ...) @printf(ptr @.str.5, i32 %24) #3, !dbg !339
br label %if.end24, !dbg !339
if.end24: ; preds = %if.then22, %if.end20
%25 = load i32, ptr %should_log.addr, align 4, !dbg !342
%tobool25 = icmp ne i32 %25, 0, !dbg !342
br i1 %tobool25, label %if.then26, label %if.end28, !dbg !344
if.then26: ; preds = %if.end24
%26 = load ptr, ptr %objc_opt_v16, align 8, !dbg !342
%selopt_offset = getelementptr inbounds %struct.objc_opt_v16_t, ptr %26, i32 0, i32 2, !dbg !342
%27 = load i32, ptr %selopt_offset, align 8, !dbg !342
%call27 = call i32 (ptr, ...) @printf(ptr @.str.6, i32 %27) #3, !dbg !342
br label %if.end28, !dbg !342
if.end28: ; preds = %if.then26, %if.end24
%28 = load i32, ptr %should_log.addr, align 4, !dbg !345
%tobool29 = icmp ne i32 %28, 0, !dbg !345
br i1 %tobool29, label %if.then30, label %if.end32, !dbg !347
if.then30: ; preds = %if.end28
%29 = load ptr, ptr %objc_opt_v16, align 8, !dbg !345
%headeropt_ro_offset = getelementptr inbounds %struct.objc_opt_v16_t, ptr %29, i32 0, i32 3, !dbg !345
%30 = load i32, ptr %headeropt_ro_offset, align 4, !dbg !345
%call31 = call i32 (ptr, ...) @printf(ptr @.str.7, i32 %30) #3, !dbg !345
br label %if.end32, !dbg !345
if.end32: ; preds = %if.then30, %if.end28
%31 = load i32, ptr %should_log.addr, align 4, !dbg !348
%tobool33 = icmp ne i32 %31, 0, !dbg !348
br i1 %tobool33, label %if.then34, label %if.end36, !dbg !350
if.then34: ; preds = %if.end32
%32 = load ptr, ptr %relative_selector_offset.addr, align 8, !dbg !348
%33 = load i64, ptr %32, align 8, !dbg !348
%call35 = call i32 (ptr, ...) @printf(ptr @.str.8, i64 %33) #3, !dbg !348
br label %if.end36, !dbg !348
if.end36: ; preds = %if.then34, %if.end32
br label %if.end85, !dbg !351
if.else: ; preds = %if.then14
%34 = load ptr, ptr %objc_opt, align 8, !dbg !352
%version37 = getelementptr inbounds %struct.objc_opt_t, ptr %34, i32 0, i32 0, !dbg !352
%35 = load i32, ptr %version37, align 4, !dbg !352
%cmp38 = icmp uge i32 %35, 14, !dbg !352
br i1 %cmp38, label %if.then39, label %if.else63, !dbg !354
if.then39: ; preds = %if.else
%36 = load i32, ptr %should_log.addr, align 4, !dbg !355
%tobool40 = icmp ne i32 %36, 0, !dbg !355
br i1 %tobool40, label %if.then41, label %if.end44, !dbg !358
if.then41: ; preds = %if.then39
%37 = load ptr, ptr %objc_opt_v14, align 8, !dbg !355
%version42 = getelementptr inbounds %struct.objc_opt_v14_t, ptr %37, i32 0, i32 0, !dbg !355
%38 = load i32, ptr %version42, align 4, !dbg !355
%call43 = call i32 (ptr, ...) @printf(ptr @.str.4, i32 %38) #3, !dbg !355
br label %if.end44, !dbg !355
if.end44: ; preds = %if.then41, %if.then39
%39 = load i32, ptr %should_log.addr, align 4, !dbg !359
%tobool45 = icmp ne i32 %39, 0, !dbg !359
br i1 %tobool45, label %if.then46, label %if.end49, !dbg !361
if.then46: ; preds = %if.end44
%40 = load ptr, ptr %objc_opt_v14, align 8, !dbg !359
%flags47 = getelementptr inbounds %struct.objc_opt_v14_t, ptr %40, i32 0, i32 1, !dbg !359
%41 = load i32, ptr %flags47, align 4, !dbg !359
%call48 = call i32 (ptr, ...) @printf(ptr @.str.5, i32 %41) #3, !dbg !359
br label %if.end49, !dbg !359
if.end49: ; preds = %if.then46, %if.end44
%42 = load i32, ptr %should_log.addr, align 4, !dbg !362
%tobool50 = icmp ne i32 %42, 0, !dbg !362
br i1 %tobool50, label %if.then51, label %if.end54, !dbg !364
if.then51: ; preds = %if.end49
%43 = load ptr, ptr %objc_opt_v14, align 8, !dbg !362
%selopt_offset52 = getelementptr inbounds %struct.objc_opt_v14_t, ptr %43, i32 0, i32 2, !dbg !362
%44 = load i32, ptr %selopt_offset52, align 4, !dbg !362
%call53 = call i32 (ptr, ...) @printf(ptr @.str.6, i32 %44) #3, !dbg !362
br label %if.end54, !dbg !362
if.end54: ; preds = %if.then51, %if.end49
%45 = load i32, ptr %should_log.addr, align 4, !dbg !365
%tobool55 = icmp ne i32 %45, 0, !dbg !365
br i1 %tobool55, label %if.then56, label %if.end58, !dbg !367
if.then56: ; preds = %if.end54
%46 = load ptr, ptr %objc_opt_v14, align 8, !dbg !365
%headeropt_offset = getelementptr inbounds %struct.objc_opt_v14_t, ptr %46, i32 0, i32 3, !dbg !365
%47 = load i32, ptr %headeropt_offset, align 4, !dbg !365
%call57 = call i32 (ptr, ...) @printf(ptr @.str.9, i32 %47) #3, !dbg !365
br label %if.end58, !dbg !365
if.end58: ; preds = %if.then56, %if.end54
%48 = load i32, ptr %should_log.addr, align 4, !dbg !368
%tobool59 = icmp ne i32 %48, 0, !dbg !368
br i1 %tobool59, label %if.then60, label %if.end62, !dbg !370
if.then60: ; preds = %if.end58
%49 = load ptr, ptr %objc_opt_v14, align 8, !dbg !368
%clsopt_offset = getelementptr inbounds %struct.objc_opt_v14_t, ptr %49, i32 0, i32 4, !dbg !368
%50 = load i32, ptr %clsopt_offset, align 4, !dbg !368
%call61 = call i32 (ptr, ...) @printf(ptr @.str.10, i32 %50) #3, !dbg !368
br label %if.end62, !dbg !368
if.end62: ; preds = %if.then60, %if.end58
br label %if.end84, !dbg !371
if.else63: ; preds = %if.else
%51 = load i32, ptr %should_log.addr, align 4, !dbg !372
%tobool64 = icmp ne i32 %51, 0, !dbg !372
br i1 %tobool64, label %if.then65, label %if.end68, !dbg !375
if.then65: ; preds = %if.else63
%52 = load ptr, ptr %objc_opt, align 8, !dbg !372
%version66 = getelementptr inbounds %struct.objc_opt_t, ptr %52, i32 0, i32 0, !dbg !372
%53 = load i32, ptr %version66, align 4, !dbg !372
%call67 = call i32 (ptr, ...) @printf(ptr @.str.4, i32 %53) #3, !dbg !372
br label %if.end68, !dbg !372
if.end68: ; preds = %if.then65, %if.else63
%54 = load i32, ptr %should_log.addr, align 4, !dbg !376
%tobool69 = icmp ne i32 %54, 0, !dbg !376
br i1 %tobool69, label %if.then70, label %if.end73, !dbg !378
if.then70: ; preds = %if.end68
%55 = load ptr, ptr %objc_opt, align 8, !dbg !376
%selopt_offset71 = getelementptr inbounds %struct.objc_opt_t, ptr %55, i32 0, i32 1, !dbg !376
%56 = load i32, ptr %selopt_offset71, align 4, !dbg !376
%call72 = call i32 (ptr, ...) @printf(ptr @.str.6, i32 %56) #3, !dbg !376
br label %if.end73, !dbg !376
if.end73: ; preds = %if.then70, %if.end68
%57 = load i32, ptr %should_log.addr, align 4, !dbg !379
%tobool74 = icmp ne i32 %57, 0, !dbg !379
br i1 %tobool74, label %if.then75, label %if.end78, !dbg !381
if.then75: ; preds = %if.end73
%58 = load ptr, ptr %objc_opt, align 8, !dbg !379
%headeropt_offset76 = getelementptr inbounds %struct.objc_opt_t, ptr %58, i32 0, i32 2, !dbg !379
%59 = load i32, ptr %headeropt_offset76, align 4, !dbg !379
%call77 = call i32 (ptr, ...) @printf(ptr @.str.9, i32 %59) #3, !dbg !379
br label %if.end78, !dbg !379
if.end78: ; preds = %if.then75, %if.end73
%60 = load i32, ptr %should_log.addr, align 4, !dbg !382
%tobool79 = icmp ne i32 %60, 0, !dbg !382
br i1 %tobool79, label %if.then80, label %if.end83, !dbg !384
if.then80: ; preds = %if.end78
%61 = load ptr, ptr %objc_opt, align 8, !dbg !382
%clsopt_offset81 = getelementptr inbounds %struct.objc_opt_t, ptr %61, i32 0, i32 3, !dbg !382
%62 = load i32, ptr %clsopt_offset81, align 4, !dbg !382
%call82 = call i32 (ptr, ...) @printf(ptr @.str.10, i32 %62) #3, !dbg !382
br label %if.end83, !dbg !382
if.end83: ; preds = %if.then80, %if.end78
br label %if.end84
if.end84: ; preds = %if.end83, %if.end62
br label %if.end85
if.end85: ; preds = %if.end84, %if.end36
%63 = load ptr, ptr %objc_opt, align 8, !dbg !385
%version86 = getelementptr inbounds %struct.objc_opt_t, ptr %63, i32 0, i32 0, !dbg !385
%64 = load i32, ptr %version86, align 4, !dbg !385
%cmp87 = icmp eq i32 %64, 16, !dbg !385
br i1 %cmp87, label %if.then88, label %if.else268, !dbg !387
if.then88: ; preds = %if.end85
call void @llvm.dbg.declare(metadata ptr %clsopt, metadata !388, metadata !DIExpression()), !dbg !390
%65 = load ptr, ptr %objc_opt, align 8, !dbg !390
%66 = load ptr, ptr %objc_opt_v16, align 8, !dbg !390
%largeSharedCachesClassOffset = getelementptr inbounds %struct.objc_opt_v16_t, ptr %66, i32 0, i32 8, !dbg !390
%67 = load i32, ptr %largeSharedCachesClassOffset, align 8, !dbg !390
%idx.ext = sext i32 %67 to i64, !dbg !390
%add.ptr = getelementptr inbounds i8, ptr %65, i64 %idx.ext, !dbg !390
store ptr %add.ptr, ptr %clsopt, align 8, !dbg !390
call void @llvm.dbg.declare(metadata ptr %max_class_infos, metadata !391, metadata !DIExpression()), !dbg !395
%68 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !395
%conv89 = zext i32 %68 to i64, !dbg !395
%div90 = udiv i64 %conv89, 12, !dbg !395
store i64 %div90, ptr %max_class_infos, align 8, !dbg !395
%69 = load i32, ptr %should_log.addr, align 4, !dbg !396
%tobool91 = icmp ne i32 %69, 0, !dbg !396
br i1 %tobool91, label %if.then92, label %if.end94, !dbg !398
if.then92: ; preds = %if.then88
%70 = load i64, ptr %max_class_infos, align 8, !dbg !396
%call93 = call i32 (ptr, ...) @printf(ptr @.str.11, i64 %70) #3, !dbg !396
br label %if.end94, !dbg !396
if.end94: ; preds = %if.then92, %if.then88
call void @llvm.dbg.declare(metadata ptr %class_infos, metadata !399, metadata !DIExpression()), !dbg !400
%71 = load ptr, ptr %class_infos_ptr.addr, align 8, !dbg !400
store ptr %71, ptr %class_infos, align 8, !dbg !400
call void @llvm.dbg.declare(metadata ptr %checkbytes, metadata !401, metadata !DIExpression()), !dbg !404
%72 = load ptr, ptr %clsopt, align 8, !dbg !404
%tab = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %72, i32 0, i32 8, !dbg !404
%73 = load ptr, ptr %clsopt, align 8, !dbg !404
%mask = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %73, i32 0, i32 4, !dbg !404
%74 = load i32, ptr %mask, align 8, !dbg !404
%add = add i32 %74, 1, !dbg !404
%idxprom = zext i32 %add to i64, !dbg !404
%arrayidx = getelementptr inbounds [0 x i8], ptr %tab, i64 0, i64 %idxprom, !dbg !404
store ptr %arrayidx, ptr %checkbytes, align 8, !dbg !404
call void @llvm.dbg.declare(metadata ptr %offsets, metadata !405, metadata !DIExpression()), !dbg !406
%75 = load ptr, ptr %checkbytes, align 8, !dbg !406
%76 = load ptr, ptr %clsopt, align 8, !dbg !406
%capacity = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %76, i32 0, i32 1, !dbg !406
%77 = load i32, ptr %capacity, align 4, !dbg !406
%idx.ext95 = zext i32 %77 to i64, !dbg !406
%add.ptr96 = getelementptr inbounds i8, ptr %75, i64 %idx.ext95, !dbg !406
store ptr %add.ptr96, ptr %offsets, align 8, !dbg !406
call void @llvm.dbg.declare(metadata ptr %classOffsets, metadata !407, metadata !DIExpression()), !dbg !408
%78 = load ptr, ptr %offsets, align 8, !dbg !408
%79 = load ptr, ptr %clsopt, align 8, !dbg !408
%capacity97 = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %79, i32 0, i32 1, !dbg !408
%80 = load i32, ptr %capacity97, align 4, !dbg !408
%idx.ext98 = zext i32 %80 to i64, !dbg !408
%add.ptr99 = getelementptr inbounds i32, ptr %78, i64 %idx.ext98, !dbg !408
store ptr %add.ptr99, ptr %classOffsets, align 8, !dbg !408
%81 = load i32, ptr %should_log.addr, align 4, !dbg !409
%tobool100 = icmp ne i32 %81, 0, !dbg !409
br i1 %tobool100, label %if.then101, label %if.end104, !dbg !411
if.then101: ; preds = %if.end94
%82 = load ptr, ptr %clsopt, align 8, !dbg !409
%capacity102 = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %82, i32 0, i32 1, !dbg !409
%83 = load i32, ptr %capacity102, align 4, !dbg !409
%call103 = call i32 (ptr, ...) @printf(ptr @.str.12, i32 %83) #3, !dbg !409
br label %if.end104, !dbg !409
if.end104: ; preds = %if.then101, %if.end94
%84 = load i32, ptr %should_log.addr, align 4, !dbg !412
%tobool105 = icmp ne i32 %84, 0, !dbg !412
br i1 %tobool105, label %if.then106, label %if.end109, !dbg !414
if.then106: ; preds = %if.end104
%85 = load ptr, ptr %clsopt, align 8, !dbg !412
%mask107 = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %85, i32 0, i32 4, !dbg !412
%86 = load i32, ptr %mask107, align 8, !dbg !412
%call108 = call i32 (ptr, ...) @printf(ptr @.str.13, i32 %86) #3, !dbg !412
br label %if.end109, !dbg !412
if.end109: ; preds = %if.then106, %if.end104
%87 = load i32, ptr %should_log.addr, align 4, !dbg !415
%tobool110 = icmp ne i32 %87, 0, !dbg !415
br i1 %tobool110, label %if.then111, label %if.end113, !dbg !417
if.then111: ; preds = %if.end109
%88 = load ptr, ptr %classOffsets, align 8, !dbg !415
%call112 = call i32 (ptr, ...) @printf(ptr @.str.14, ptr %88) #3, !dbg !415
br label %if.end113, !dbg !415
if.end113: ; preds = %if.then111, %if.end109
call void @llvm.dbg.declare(metadata ptr %i, metadata !418, metadata !DIExpression()), !dbg !420
store i32 0, ptr %i, align 4, !dbg !420
br label %for.cond, !dbg !420
for.cond: ; preds = %for.inc176, %if.end113
%89 = load i32, ptr %i, align 4, !dbg !421
%90 = load ptr, ptr %clsopt, align 8, !dbg !421
%capacity114 = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %90, i32 0, i32 1, !dbg !421
%91 = load i32, ptr %capacity114, align 4, !dbg !421
%cmp115 = icmp ult i32 %89, %91, !dbg !421
br i1 %cmp115, label %for.body, label %for.end178, !dbg !420
for.body: ; preds = %for.cond
call void @llvm.dbg.declare(metadata ptr %objectCacheOffset, metadata !423, metadata !DIExpression()), !dbg !426
%92 = load ptr, ptr %classOffsets, align 8, !dbg !426
%93 = load i32, ptr %i, align 4, !dbg !426
%idxprom116 = zext i32 %93 to i64, !dbg !426
%arrayidx117 = getelementptr inbounds %struct.objc_classheader_v16_t, ptr %92, i64 %idxprom116, !dbg !426
%bf.load = load i64, ptr %arrayidx117, align 8, !dbg !426
%bf.lshr = lshr i64 %bf.load, 1, !dbg !426
%bf.clear = and i64 %bf.lshr, 140737488355327, !dbg !426
store i64 %bf.clear, ptr %objectCacheOffset, align 8, !dbg !426
%94 = load i32, ptr %should_log.addr, align 4, !dbg !427
%tobool118 = icmp ne i32 %94, 0, !dbg !427
br i1 %tobool118, label %if.then119, label %if.end121, !dbg !429
if.then119: ; preds = %for.body
%95 = load i32, ptr %i, align 4, !dbg !427
%96 = load i64, ptr %objectCacheOffset, align 8, !dbg !427
%call120 = call i32 (ptr, ...) @printf(ptr @.str.15, i32 %95, i64 %96) #3, !dbg !427
br label %if.end121, !dbg !427
if.end121: ; preds = %if.then119, %for.body
%97 = load ptr, ptr %classOffsets, align 8, !dbg !430
%98 = load i32, ptr %i, align 4, !dbg !430
%idxprom122 = zext i32 %98 to i64, !dbg !430
%arrayidx123 = getelementptr inbounds %struct.objc_classheader_v16_t, ptr %97, i64 %idxprom122, !dbg !430
%bf.load124 = load i64, ptr %arrayidx123, align 8, !dbg !430
%bf.clear125 = and i64 %bf.load124, 1, !dbg !430
%tobool126 = icmp ne i64 %bf.clear125, 0, !dbg !430
br i1 %tobool126, label %if.then127, label %if.end132, !dbg !432
if.then127: ; preds = %if.end121
%99 = load i32, ptr %should_log.addr, align 4, !dbg !433
%tobool128 = icmp ne i32 %99, 0, !dbg !433
br i1 %tobool128, label %if.then129, label %if.end131, !dbg !436
if.then129: ; preds = %if.then127
%call130 = call i32 (ptr, ...) @printf(ptr @.str.16) #3, !dbg !433
br label %if.end131, !dbg !433
if.end131: ; preds = %if.then129, %if.then127
br label %for.inc176, !dbg !437
if.end132: ; preds = %if.end121
%100 = load i64, ptr %objectCacheOffset, align 8, !dbg !438
%cmp133 = icmp eq i64 %100, 0, !dbg !438
br i1 %cmp133, label %if.then134, label %if.end139, !dbg !440
if.then134: ; preds = %if.end132
%101 = load i32, ptr %should_log.addr, align 4, !dbg !441
%tobool135 = icmp ne i32 %101, 0, !dbg !441
br i1 %tobool135, label %if.then136, label %if.end138, !dbg !444
if.then136: ; preds = %if.then134
%call137 = call i32 (ptr, ...) @printf(ptr @.str.17) #3, !dbg !441
br label %if.end138, !dbg !441
if.end138: ; preds = %if.then136, %if.then134
br label %for.inc176, !dbg !445
if.end139: ; preds = %if.end132
%102 = load ptr, ptr %class_infos, align 8, !dbg !446
%tobool140 = icmp ne ptr %102, null, !dbg !446
br i1 %tobool140, label %land.lhs.true, label %if.else170, !dbg !446
land.lhs.true: ; preds = %if.end139
%103 = load i32, ptr %idx, align 4, !dbg !446
%conv141 = zext i32 %103 to i64, !dbg !446
%104 = load i64, ptr %max_class_infos, align 8, !dbg !446
%cmp142 = icmp ult i64 %conv141, %104, !dbg !446
br i1 %cmp142, label %if.then143, label %if.else170, !dbg !448
if.then143: ; preds = %land.lhs.true
%105 = load ptr, ptr %shared_cache_base_ptr.addr, align 8, !dbg !449
%106 = load i64, ptr %objectCacheOffset, align 8, !dbg !449
%add.ptr144 = getelementptr inbounds i8, ptr %105, i64 %106, !dbg !449
%107 = load ptr, ptr %class_infos, align 8, !dbg !449
%108 = load i32, ptr %idx, align 4, !dbg !449
%idxprom145 = zext i32 %108 to i64, !dbg !449
%arrayidx146 = getelementptr inbounds %struct.ClassInfo, ptr %107, i64 %idxprom145, !dbg !449
%isa = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx146, i32 0, i32 0, !dbg !449
store ptr %add.ptr144, ptr %isa, align 1, !dbg !449
call void @llvm.dbg.declare(metadata ptr %name, metadata !451, metadata !DIExpression()), !dbg !452
%109 = load ptr, ptr @class_name_lookup_func, align 8, !dbg !452
%110 = load ptr, ptr %class_infos, align 8, !dbg !452
%111 = load i32, ptr %idx, align 4, !dbg !452
%idxprom147 = zext i32 %111 to i64, !dbg !452
%arrayidx148 = getelementptr inbounds %struct.ClassInfo, ptr %110, i64 %idxprom147, !dbg !452
%isa149 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx148, i32 0, i32 0, !dbg !452
%112 = load ptr, ptr %isa149, align 1, !dbg !452
%call150 = call ptr %109(ptr %112) #3, !dbg !452
store ptr %call150, ptr %name, align 8, !dbg !452
%113 = load i32, ptr %should_log.addr, align 4, !dbg !453
%tobool151 = icmp ne i32 %113, 0, !dbg !453
br i1 %tobool151, label %if.then152, label %if.end157, !dbg !455
if.then152: ; preds = %if.then143
%114 = load i32, ptr %idx, align 4, !dbg !453
%115 = load ptr, ptr %class_infos, align 8, !dbg !453
%116 = load i32, ptr %idx, align 4, !dbg !453
%idxprom153 = zext i32 %116 to i64, !dbg !453
%arrayidx154 = getelementptr inbounds %struct.ClassInfo, ptr %115, i64 %idxprom153, !dbg !453
%isa155 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx154, i32 0, i32 0, !dbg !453
%117 = load ptr, ptr %isa155, align 1, !dbg !453
%118 = load ptr, ptr %name, align 8, !dbg !453
%call156 = call i32 (ptr, ...) @printf(ptr @.str.18, i32 %114, ptr %117, ptr %118) #3, !dbg !453
br label %if.end157, !dbg !453
if.end157: ; preds = %if.then152, %if.then143
call void @llvm.dbg.declare(metadata ptr %s, metadata !456, metadata !DIExpression()), !dbg !457
%119 = load ptr, ptr %name, align 8, !dbg !457
store ptr %119, ptr %s, align 8, !dbg !457
call void @llvm.dbg.declare(metadata ptr %h, metadata !458, metadata !DIExpression()), !dbg !459
store i32 5381, ptr %h, align 4, !dbg !459
call void @llvm.dbg.declare(metadata ptr %c, metadata !460, metadata !DIExpression()), !dbg !462
%120 = load ptr, ptr %s, align 8, !dbg !462
%121 = load i8, ptr %120, align 1, !dbg !462
store i8 %121, ptr %c, align 1, !dbg !462
br label %for.cond158, !dbg !462
for.cond158: ; preds = %for.inc, %if.end157
%122 = load i8, ptr %c, align 1, !dbg !463
%tobool159 = icmp ne i8 %122, 0, !dbg !463
br i1 %tobool159, label %for.body160, label %for.end, !dbg !462
for.body160: ; preds = %for.cond158
%123 = load i8, ptr %c, align 1, !dbg !465
%conv161 = zext i8 %123 to i32, !dbg !465
%cmp162 = icmp eq i32 %conv161, 46, !dbg !465
br i1 %cmp162, label %if.then163, label %if.end164, !dbg !468
if.then163: ; preds = %for.body160
store i32 0, ptr %h, align 4, !dbg !469
br label %for.end, !dbg !471
if.end164: ; preds = %for.body160
%124 = load i32, ptr %h, align 4, !dbg !472
%shl = shl i32 %124, 5, !dbg !472
%125 = load i32, ptr %h, align 4, !dbg !472
%add165 = add i32 %shl, %125, !dbg !472
%126 = load i8, ptr %c, align 1, !dbg !472
%conv166 = zext i8 %126 to i32, !dbg !472
%add167 = add i32 %add165, %conv166, !dbg !472
store i32 %add167, ptr %h, align 4, !dbg !472
br label %for.inc, !dbg !473
for.inc: ; preds = %if.end164
%127 = load ptr, ptr %s, align 8, !dbg !463
%incdec.ptr = getelementptr inbounds i8, ptr %127, i32 1, !dbg !463
store ptr %incdec.ptr, ptr %s, align 8, !dbg !463
%128 = load i8, ptr %incdec.ptr, align 1, !dbg !463
store i8 %128, ptr %c, align 1, !dbg !463
br label %for.cond158, !dbg !463, !llvm.loop !474
for.end: ; preds = %if.then163, %for.cond158
%129 = load i32, ptr %h, align 4, !dbg !477
%130 = load ptr, ptr %class_infos, align 8, !dbg !477
%131 = load i32, ptr %idx, align 4, !dbg !477
%idxprom168 = zext i32 %131 to i64, !dbg !477
%arrayidx169 = getelementptr inbounds %struct.ClassInfo, ptr %130, i64 %idxprom168, !dbg !477
%hash = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx169, i32 0, i32 1, !dbg !477
store i32 %129, ptr %hash, align 1, !dbg !477
br label %if.end175, !dbg !478
if.else170: ; preds = %land.lhs.true, %if.end139
%132 = load i32, ptr %should_log.addr, align 4, !dbg !479
%tobool171 = icmp ne i32 %132, 0, !dbg !479
br i1 %tobool171, label %if.then172, label %if.end174, !dbg !482
if.then172: ; preds = %if.else170
%call173 = call i32 (ptr, ...) @printf(ptr @.str.19) #3, !dbg !479
br label %if.end174, !dbg !479
if.end174: ; preds = %if.then172, %if.else170
br label %if.end175
if.end175: ; preds = %if.end174, %for.end
%133 = load i32, ptr %idx, align 4, !dbg !483
%inc = add i32 %133, 1, !dbg !483
store i32 %inc, ptr %idx, align 4, !dbg !483
br label %for.inc176, !dbg !484
for.inc176: ; preds = %if.end175, %if.end138, %if.end131
%134 = load i32, ptr %i, align 4, !dbg !421
%inc177 = add i32 %134, 1, !dbg !421
store i32 %inc177, ptr %i, align 4, !dbg !421
br label %for.cond, !dbg !421, !llvm.loop !485
for.end178: ; preds = %for.cond
call void @llvm.dbg.declare(metadata ptr %duplicate_count_ptr, metadata !487, metadata !DIExpression()), !dbg !490
%135 = load ptr, ptr %classOffsets, align 8, !dbg !490
%136 = load ptr, ptr %clsopt, align 8, !dbg !490
%capacity179 = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %136, i32 0, i32 1, !dbg !490
%137 = load i32, ptr %capacity179, align 4, !dbg !490
%idxprom180 = zext i32 %137 to i64, !dbg !490
%arrayidx181 = getelementptr inbounds %struct.objc_classheader_v16_t, ptr %135, i64 %idxprom180, !dbg !490
store ptr %arrayidx181, ptr %duplicate_count_ptr, align 8, !dbg !490
call void @llvm.dbg.declare(metadata ptr %duplicate_count, metadata !491, metadata !DIExpression()), !dbg !492
%138 = load ptr, ptr %duplicate_count_ptr, align 8, !dbg !492
%139 = load i32, ptr %138, align 4, !dbg !492
store i32 %139, ptr %duplicate_count, align 4, !dbg !492
call void @llvm.dbg.declare(metadata ptr %duplicateClassOffsets, metadata !493, metadata !DIExpression()), !dbg !494
%140 = load ptr, ptr %duplicate_count_ptr, align 8, !dbg !494
%arrayidx182 = getelementptr inbounds i32, ptr %140, i64 1, !dbg !494
store ptr %arrayidx182, ptr %duplicateClassOffsets, align 8, !dbg !494
%141 = load i32, ptr %should_log.addr, align 4, !dbg !495
%tobool183 = icmp ne i32 %141, 0, !dbg !495
br i1 %tobool183, label %if.then184, label %if.end186, !dbg !497
if.then184: ; preds = %for.end178
%142 = load i32, ptr %duplicate_count, align 4, !dbg !495
%call185 = call i32 (ptr, ...) @printf(ptr @.str.20, i32 %142) #3, !dbg !495
br label %if.end186, !dbg !495
if.end186: ; preds = %if.then184, %for.end178
%143 = load i32, ptr %should_log.addr, align 4, !dbg !498
%tobool187 = icmp ne i32 %143, 0, !dbg !498
br i1 %tobool187, label %if.then188, label %if.end190, !dbg !500
if.then188: ; preds = %if.end186
%144 = load ptr, ptr %duplicateClassOffsets, align 8, !dbg !498
%call189 = call i32 (ptr, ...) @printf(ptr @.str.21, ptr %144) #3, !dbg !498
br label %if.end190, !dbg !498
if.end190: ; preds = %if.then188, %if.end186
call void @llvm.dbg.declare(metadata ptr %i191, metadata !501, metadata !DIExpression()), !dbg !503
store i32 0, ptr %i191, align 4, !dbg !503
br label %for.cond192, !dbg !503
for.cond192: ; preds = %for.inc265, %if.end190
%145 = load i32, ptr %i191, align 4, !dbg !504
%146 = load i32, ptr %duplicate_count, align 4, !dbg !504
%cmp193 = icmp ult i32 %145, %146, !dbg !504
br i1 %cmp193, label %for.body194, label %for.end267, !dbg !503
for.body194: ; preds = %for.cond192
call void @llvm.dbg.declare(metadata ptr %objectCacheOffset195, metadata !506, metadata !DIExpression()), !dbg !508
%147 = load ptr, ptr %classOffsets, align 8, !dbg !508
%148 = load i32, ptr %i191, align 4, !dbg !508
%idxprom196 = zext i32 %148 to i64, !dbg !508
%arrayidx197 = getelementptr inbounds %struct.objc_classheader_v16_t, ptr %147, i64 %idxprom196, !dbg !508
%bf.load198 = load i64, ptr %arrayidx197, align 8, !dbg !508
%bf.lshr199 = lshr i64 %bf.load198, 1, !dbg !508
%bf.clear200 = and i64 %bf.lshr199, 140737488355327, !dbg !508
store i64 %bf.clear200, ptr %objectCacheOffset195, align 8, !dbg !508
%149 = load i32, ptr %should_log.addr, align 4, !dbg !509
%tobool201 = icmp ne i32 %149, 0, !dbg !509
br i1 %tobool201, label %if.then202, label %if.end204, !dbg !511
if.then202: ; preds = %for.body194
%150 = load i32, ptr %i191, align 4, !dbg !509
%151 = load i64, ptr %objectCacheOffset195, align 8, !dbg !509
%call203 = call i32 (ptr, ...) @printf(ptr @.str.15, i32 %150, i64 %151) #3, !dbg !509
br label %if.end204, !dbg !509
if.end204: ; preds = %if.then202, %for.body194
%152 = load ptr, ptr %classOffsets, align 8, !dbg !512
%153 = load i32, ptr %i191, align 4, !dbg !512
%idxprom205 = zext i32 %153 to i64, !dbg !512
%arrayidx206 = getelementptr inbounds %struct.objc_classheader_v16_t, ptr %152, i64 %idxprom205, !dbg !512
%bf.load207 = load i64, ptr %arrayidx206, align 8, !dbg !512
%bf.clear208 = and i64 %bf.load207, 1, !dbg !512
%tobool209 = icmp ne i64 %bf.clear208, 0, !dbg !512
br i1 %tobool209, label %if.then210, label %if.end215, !dbg !514
if.then210: ; preds = %if.end204
%154 = load i32, ptr %should_log.addr, align 4, !dbg !515
%tobool211 = icmp ne i32 %154, 0, !dbg !515
br i1 %tobool211, label %if.then212, label %if.end214, !dbg !518
if.then212: ; preds = %if.then210
%call213 = call i32 (ptr, ...) @printf(ptr @.str.16) #3, !dbg !515
br label %if.end214, !dbg !515
if.end214: ; preds = %if.then212, %if.then210
br label %for.inc265, !dbg !519
if.end215: ; preds = %if.end204
%155 = load i64, ptr %objectCacheOffset195, align 8, !dbg !520
%cmp216 = icmp eq i64 %155, 0, !dbg !520
br i1 %cmp216, label %if.then217, label %if.end222, !dbg !522
if.then217: ; preds = %if.end215
%156 = load i32, ptr %should_log.addr, align 4, !dbg !523
%tobool218 = icmp ne i32 %156, 0, !dbg !523
br i1 %tobool218, label %if.then219, label %if.end221, !dbg !526
if.then219: ; preds = %if.then217
%call220 = call i32 (ptr, ...) @printf(ptr @.str.17) #3, !dbg !523
br label %if.end221, !dbg !523
if.end221: ; preds = %if.then219, %if.then217
br label %for.inc265, !dbg !527
if.end222: ; preds = %if.end215
%157 = load ptr, ptr %class_infos, align 8, !dbg !528
%tobool223 = icmp ne ptr %157, null, !dbg !528
br i1 %tobool223, label %land.lhs.true224, label %if.end264, !dbg !528
land.lhs.true224: ; preds = %if.end222
%158 = load i32, ptr %idx, align 4, !dbg !528
%conv225 = zext i32 %158 to i64, !dbg !528
%159 = load i64, ptr %max_class_infos, align 8, !dbg !528
%cmp226 = icmp ult i64 %conv225, %159, !dbg !528
br i1 %cmp226, label %if.then227, label %if.end264, !dbg !530
if.then227: ; preds = %land.lhs.true224
%160 = load ptr, ptr %shared_cache_base_ptr.addr, align 8, !dbg !531
%161 = load i64, ptr %objectCacheOffset195, align 8, !dbg !531
%add.ptr228 = getelementptr inbounds i8, ptr %160, i64 %161, !dbg !531
%162 = load ptr, ptr %class_infos, align 8, !dbg !531
%163 = load i32, ptr %idx, align 4, !dbg !531
%idxprom229 = zext i32 %163 to i64, !dbg !531
%arrayidx230 = getelementptr inbounds %struct.ClassInfo, ptr %162, i64 %idxprom229, !dbg !531
%isa231 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx230, i32 0, i32 0, !dbg !531
store ptr %add.ptr228, ptr %isa231, align 1, !dbg !531
call void @llvm.dbg.declare(metadata ptr %name232, metadata !533, metadata !DIExpression()), !dbg !534
%164 = load ptr, ptr @class_name_lookup_func, align 8, !dbg !534
%165 = load ptr, ptr %class_infos, align 8, !dbg !534
%166 = load i32, ptr %idx, align 4, !dbg !534
%idxprom233 = zext i32 %166 to i64, !dbg !534
%arrayidx234 = getelementptr inbounds %struct.ClassInfo, ptr %165, i64 %idxprom233, !dbg !534
%isa235 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx234, i32 0, i32 0, !dbg !534
%167 = load ptr, ptr %isa235, align 1, !dbg !534
%call236 = call ptr %164(ptr %167) #3, !dbg !534
store ptr %call236, ptr %name232, align 8, !dbg !534
%168 = load i32, ptr %should_log.addr, align 4, !dbg !535
%tobool237 = icmp ne i32 %168, 0, !dbg !535
br i1 %tobool237, label %if.then238, label %if.end243, !dbg !537
if.then238: ; preds = %if.then227
%169 = load i32, ptr %idx, align 4, !dbg !535
%170 = load ptr, ptr %class_infos, align 8, !dbg !535
%171 = load i32, ptr %idx, align 4, !dbg !535
%idxprom239 = zext i32 %171 to i64, !dbg !535
%arrayidx240 = getelementptr inbounds %struct.ClassInfo, ptr %170, i64 %idxprom239, !dbg !535
%isa241 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx240, i32 0, i32 0, !dbg !535
%172 = load ptr, ptr %isa241, align 1, !dbg !535
%173 = load ptr, ptr %name232, align 8, !dbg !535
%call242 = call i32 (ptr, ...) @printf(ptr @.str.18, i32 %169, ptr %172, ptr %173) #3, !dbg !535
br label %if.end243, !dbg !535
if.end243: ; preds = %if.then238, %if.then227
call void @llvm.dbg.declare(metadata ptr %s244, metadata !538, metadata !DIExpression()), !dbg !539
%174 = load ptr, ptr %name232, align 8, !dbg !539
store ptr %174, ptr %s244, align 8, !dbg !539
call void @llvm.dbg.declare(metadata ptr %h245, metadata !540, metadata !DIExpression()), !dbg !541
store i32 5381, ptr %h245, align 4, !dbg !541
call void @llvm.dbg.declare(metadata ptr %c246, metadata !542, metadata !DIExpression()), !dbg !544
%175 = load ptr, ptr %s244, align 8, !dbg !544
%176 = load i8, ptr %175, align 1, !dbg !544
store i8 %176, ptr %c246, align 1, !dbg !544
br label %for.cond247, !dbg !544
for.cond247: ; preds = %for.inc258, %if.end243
%177 = load i8, ptr %c246, align 1, !dbg !545
%tobool248 = icmp ne i8 %177, 0, !dbg !545
br i1 %tobool248, label %for.body249, label %for.end260, !dbg !544
for.body249: ; preds = %for.cond247
%178 = load i8, ptr %c246, align 1, !dbg !547
%conv250 = zext i8 %178 to i32, !dbg !547
%cmp251 = icmp eq i32 %conv250, 46, !dbg !547
br i1 %cmp251, label %if.then252, label %if.end253, !dbg !550
if.then252: ; preds = %for.body249
store i32 0, ptr %h245, align 4, !dbg !551
br label %for.end260, !dbg !553
if.end253: ; preds = %for.body249
%179 = load i32, ptr %h245, align 4, !dbg !554
%shl254 = shl i32 %179, 5, !dbg !554
%180 = load i32, ptr %h245, align 4, !dbg !554
%add255 = add i32 %shl254, %180, !dbg !554
%181 = load i8, ptr %c246, align 1, !dbg !554
%conv256 = zext i8 %181 to i32, !dbg !554
%add257 = add i32 %add255, %conv256, !dbg !554
store i32 %add257, ptr %h245, align 4, !dbg !554
br label %for.inc258, !dbg !555
for.inc258: ; preds = %if.end253
%182 = load ptr, ptr %s244, align 8, !dbg !545
%incdec.ptr259 = getelementptr inbounds i8, ptr %182, i32 1, !dbg !545
store ptr %incdec.ptr259, ptr %s244, align 8, !dbg !545
%183 = load i8, ptr %incdec.ptr259, align 1, !dbg !545
store i8 %183, ptr %c246, align 1, !dbg !545
br label %for.cond247, !dbg !545, !llvm.loop !556
for.end260: ; preds = %if.then252, %for.cond247
%184 = load i32, ptr %h245, align 4, !dbg !558
%185 = load ptr, ptr %class_infos, align 8, !dbg !558
%186 = load i32, ptr %idx, align 4, !dbg !558
%idxprom261 = zext i32 %186 to i64, !dbg !558
%arrayidx262 = getelementptr inbounds %struct.ClassInfo, ptr %185, i64 %idxprom261, !dbg !558
%hash263 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx262, i32 0, i32 1, !dbg !558
store i32 %184, ptr %hash263, align 1, !dbg !558
br label %if.end264, !dbg !559
if.end264: ; preds = %for.end260, %land.lhs.true224, %if.end222
br label %for.inc265, !dbg !560
for.inc265: ; preds = %if.end264, %if.end221, %if.end214
%187 = load i32, ptr %i191, align 4, !dbg !504
%inc266 = add i32 %187, 1, !dbg !504
store i32 %inc266, ptr %i191, align 4, !dbg !504
br label %for.cond192, !dbg !504, !llvm.loop !561
for.end267: ; preds = %for.cond192
br label %if.end489, !dbg !563
if.else268: ; preds = %if.end85
%188 = load ptr, ptr %objc_opt, align 8, !dbg !564
%version269 = getelementptr inbounds %struct.objc_opt_t, ptr %188, i32 0, i32 0, !dbg !564
%189 = load i32, ptr %version269, align 4, !dbg !564
%cmp270 = icmp uge i32 %189, 12, !dbg !564
br i1 %cmp270, label %land.lhs.true271, label %if.end488, !dbg !564
land.lhs.true271: ; preds = %if.else268
%190 = load ptr, ptr %objc_opt, align 8, !dbg !564
%version272 = getelementptr inbounds %struct.objc_opt_t, ptr %190, i32 0, i32 0, !dbg !564
%191 = load i32, ptr %version272, align 4, !dbg !564
%cmp273 = icmp ule i32 %191, 15, !dbg !564
br i1 %cmp273, label %if.then274, label %if.end488, !dbg !566
if.then274: ; preds = %land.lhs.true271
call void @llvm.dbg.declare(metadata ptr %clsopt275, metadata !567, metadata !DIExpression()), !dbg !569
store ptr null, ptr %clsopt275, align 8, !dbg !569
%192 = load ptr, ptr %objc_opt, align 8, !dbg !570
%version276 = getelementptr inbounds %struct.objc_opt_t, ptr %192, i32 0, i32 0, !dbg !570
%193 = load i32, ptr %version276, align 4, !dbg !570
%cmp277 = icmp uge i32 %193, 14, !dbg !570
br i1 %cmp277, label %if.then278, label %if.else282, !dbg !572
if.then278: ; preds = %if.then274
%194 = load ptr, ptr %objc_opt_v14, align 8, !dbg !573
%195 = load ptr, ptr %objc_opt_v14, align 8, !dbg !573
%clsopt_offset279 = getelementptr inbounds %struct.objc_opt_v14_t, ptr %195, i32 0, i32 4, !dbg !573
%196 = load i32, ptr %clsopt_offset279, align 4, !dbg !573
%idx.ext280 = sext i32 %196 to i64, !dbg !573
%add.ptr281 = getelementptr inbounds i8, ptr %194, i64 %idx.ext280, !dbg !573
store ptr %add.ptr281, ptr %clsopt275, align 8, !dbg !573
br label %if.end286, !dbg !573
if.else282: ; preds = %if.then274
%197 = load ptr, ptr %objc_opt, align 8, !dbg !574
%198 = load ptr, ptr %objc_opt, align 8, !dbg !574
%clsopt_offset283 = getelementptr inbounds %struct.objc_opt_t, ptr %198, i32 0, i32 3, !dbg !574
%199 = load i32, ptr %clsopt_offset283, align 4, !dbg !574
%idx.ext284 = sext i32 %199 to i64, !dbg !574
%add.ptr285 = getelementptr inbounds i8, ptr %197, i64 %idx.ext284, !dbg !574
store ptr %add.ptr285, ptr %clsopt275, align 8, !dbg !574
br label %if.end286
if.end286: ; preds = %if.else282, %if.then278
call void @llvm.dbg.declare(metadata ptr %max_class_infos287, metadata !575, metadata !DIExpression()), !dbg !576
%200 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !576
%conv288 = zext i32 %200 to i64, !dbg !576
%div289 = udiv i64 %conv288, 12, !dbg !576
store i64 %div289, ptr %max_class_infos287, align 8, !dbg !576
%201 = load i32, ptr %should_log.addr, align 4, !dbg !577
%tobool290 = icmp ne i32 %201, 0, !dbg !577
br i1 %tobool290, label %if.then291, label %if.end293, !dbg !579
if.then291: ; preds = %if.end286
%202 = load i64, ptr %max_class_infos287, align 8, !dbg !577
%call292 = call i32 (ptr, ...) @printf(ptr @.str.11, i64 %202) #3, !dbg !577
br label %if.end293, !dbg !577
if.end293: ; preds = %if.then291, %if.end286
call void @llvm.dbg.declare(metadata ptr %class_infos294, metadata !580, metadata !DIExpression()), !dbg !581
%203 = load ptr, ptr %class_infos_ptr.addr, align 8, !dbg !581
store ptr %203, ptr %class_infos294, align 8, !dbg !581
call void @llvm.dbg.declare(metadata ptr %invalidEntryOffset, metadata !582, metadata !DIExpression()), !dbg !583
store i32 0, ptr %invalidEntryOffset, align 4, !dbg !583
%204 = load ptr, ptr %objc_opt, align 8, !dbg !584
%version295 = getelementptr inbounds %struct.objc_opt_t, ptr %204, i32 0, i32 0, !dbg !584
%205 = load i32, ptr %version295, align 4, !dbg !584
%cmp296 = icmp eq i32 %205, 12, !dbg !584
br i1 %cmp296, label %if.then297, label %if.end298, !dbg !586
if.then297: ; preds = %if.end293
store i32 16, ptr %invalidEntryOffset, align 4, !dbg !587
br label %if.end298, !dbg !587
if.end298: ; preds = %if.then297, %if.end293
call void @llvm.dbg.declare(metadata ptr %checkbytes299, metadata !588, metadata !DIExpression()), !dbg !589
%206 = load ptr, ptr %clsopt275, align 8, !dbg !589
%tab300 = getelementptr inbounds %struct.objc_clsopt_t, ptr %206, i32 0, i32 8, !dbg !589
%207 = load ptr, ptr %clsopt275, align 8, !dbg !589
%mask301 = getelementptr inbounds %struct.objc_clsopt_t, ptr %207, i32 0, i32 3, !dbg !589
%208 = load i32, ptr %mask301, align 4, !dbg !589
%add302 = add i32 %208, 1, !dbg !589
%idxprom303 = zext i32 %add302 to i64, !dbg !589
%arrayidx304 = getelementptr inbounds [0 x i8], ptr %tab300, i64 0, i64 %idxprom303, !dbg !589
store ptr %arrayidx304, ptr %checkbytes299, align 8, !dbg !589
call void @llvm.dbg.declare(metadata ptr %offsets305, metadata !590, metadata !DIExpression()), !dbg !591
%209 = load ptr, ptr %checkbytes299, align 8, !dbg !591
%210 = load ptr, ptr %clsopt275, align 8, !dbg !591
%capacity306 = getelementptr inbounds %struct.objc_clsopt_t, ptr %210, i32 0, i32 0, !dbg !591
%211 = load i32, ptr %capacity306, align 8, !dbg !591
%idx.ext307 = zext i32 %211 to i64, !dbg !591
%add.ptr308 = getelementptr inbounds i8, ptr %209, i64 %idx.ext307, !dbg !591
store ptr %add.ptr308, ptr %offsets305, align 8, !dbg !591
call void @llvm.dbg.declare(metadata ptr %classOffsets309, metadata !592, metadata !DIExpression()), !dbg !593
%212 = load ptr, ptr %offsets305, align 8, !dbg !593
%213 = load ptr, ptr %clsopt275, align 8, !dbg !593
%capacity310 = getelementptr inbounds %struct.objc_clsopt_t, ptr %213, i32 0, i32 0, !dbg !593
%214 = load i32, ptr %capacity310, align 8, !dbg !593
%idx.ext311 = zext i32 %214 to i64, !dbg !593
%add.ptr312 = getelementptr inbounds i32, ptr %212, i64 %idx.ext311, !dbg !593
store ptr %add.ptr312, ptr %classOffsets309, align 8, !dbg !593
%215 = load i32, ptr %should_log.addr, align 4, !dbg !594
%tobool313 = icmp ne i32 %215, 0, !dbg !594
br i1 %tobool313, label %if.then314, label %if.end317, !dbg !596
if.then314: ; preds = %if.end298
%216 = load ptr, ptr %clsopt275, align 8, !dbg !594
%capacity315 = getelementptr inbounds %struct.objc_clsopt_t, ptr %216, i32 0, i32 0, !dbg !594
%217 = load i32, ptr %capacity315, align 8, !dbg !594
%call316 = call i32 (ptr, ...) @printf(ptr @.str.12, i32 %217) #3, !dbg !594
br label %if.end317, !dbg !594
if.end317: ; preds = %if.then314, %if.end298
%218 = load i32, ptr %should_log.addr, align 4, !dbg !597
%tobool318 = icmp ne i32 %218, 0, !dbg !597
br i1 %tobool318, label %if.then319, label %if.end322, !dbg !599
if.then319: ; preds = %if.end317
%219 = load ptr, ptr %clsopt275, align 8, !dbg !597
%mask320 = getelementptr inbounds %struct.objc_clsopt_t, ptr %219, i32 0, i32 3, !dbg !597
%220 = load i32, ptr %mask320, align 4, !dbg !597
%call321 = call i32 (ptr, ...) @printf(ptr @.str.13, i32 %220) #3, !dbg !597
br label %if.end322, !dbg !597
if.end322: ; preds = %if.then319, %if.end317
%221 = load i32, ptr %should_log.addr, align 4, !dbg !600
%tobool323 = icmp ne i32 %221, 0, !dbg !600
br i1 %tobool323, label %if.then324, label %if.end326, !dbg !602
if.then324: ; preds = %if.end322
%222 = load ptr, ptr %classOffsets309, align 8, !dbg !600
%call325 = call i32 (ptr, ...) @printf(ptr @.str.14, ptr %222) #3, !dbg !600
br label %if.end326, !dbg !600
if.end326: ; preds = %if.then324, %if.end322
%223 = load i32, ptr %should_log.addr, align 4, !dbg !603
%tobool327 = icmp ne i32 %223, 0, !dbg !603
br i1 %tobool327, label %if.then328, label %if.end330, !dbg !605
if.then328: ; preds = %if.end326
%224 = load i32, ptr %invalidEntryOffset, align 4, !dbg !603
%call329 = call i32 (ptr, ...) @printf(ptr @.str.22, i32 %224) #3, !dbg !603
br label %if.end330, !dbg !603
if.end330: ; preds = %if.then328, %if.end326
call void @llvm.dbg.declare(metadata ptr %i331, metadata !606, metadata !DIExpression()), !dbg !608
store i32 0, ptr %i331, align 4, !dbg !608
br label %for.cond332, !dbg !608
for.cond332: ; preds = %for.inc407, %if.end330
%225 = load i32, ptr %i331, align 4, !dbg !609
%226 = load ptr, ptr %clsopt275, align 8, !dbg !609
%capacity333 = getelementptr inbounds %struct.objc_clsopt_t, ptr %226, i32 0, i32 0, !dbg !609
%227 = load i32, ptr %capacity333, align 8, !dbg !609
%cmp334 = icmp ult i32 %225, %227, !dbg !609
br i1 %cmp334, label %for.body335, label %for.end409, !dbg !608
for.body335: ; preds = %for.cond332
call void @llvm.dbg.declare(metadata ptr %clsOffset, metadata !611, metadata !DIExpression()), !dbg !613
%228 = load ptr, ptr %classOffsets309, align 8, !dbg !613
%229 = load i32, ptr %i331, align 4, !dbg !613
%idxprom336 = zext i32 %229 to i64, !dbg !613
%arrayidx337 = getelementptr inbounds %struct.objc_classheader_t, ptr %228, i64 %idxprom336, !dbg !613
%clsOffset338 = getelementptr inbounds %struct.objc_classheader_t, ptr %arrayidx337, i32 0, i32 0, !dbg !613
%230 = load i32, ptr %clsOffset338, align 4, !dbg !613
store i32 %230, ptr %clsOffset, align 4, !dbg !613
%231 = load i32, ptr %should_log.addr, align 4, !dbg !614
%tobool339 = icmp ne i32 %231, 0, !dbg !614
br i1 %tobool339, label %if.then340, label %if.end342, !dbg !616
if.then340: ; preds = %for.body335
%232 = load i32, ptr %i331, align 4, !dbg !614
%233 = load i32, ptr %clsOffset, align 4, !dbg !614
%call341 = call i32 (ptr, ...) @printf(ptr @.str.23, i32 %232, i32 %233) #3, !dbg !614
br label %if.end342, !dbg !614
if.end342: ; preds = %if.then340, %for.body335
%234 = load i32, ptr %clsOffset, align 4, !dbg !617
%and = and i32 %234, 1, !dbg !617
%tobool343 = icmp ne i32 %and, 0, !dbg !617
br i1 %tobool343, label %if.then344, label %if.else349, !dbg !619
if.then344: ; preds = %if.end342
%235 = load i32, ptr %should_log.addr, align 4, !dbg !620
%tobool345 = icmp ne i32 %235, 0, !dbg !620
br i1 %tobool345, label %if.then346, label %if.end348, !dbg !623
if.then346: ; preds = %if.then344
%call347 = call i32 (ptr, ...) @printf(ptr @.str.24) #3, !dbg !620
br label %if.end348, !dbg !620
if.end348: ; preds = %if.then346, %if.then344
br label %for.inc407, !dbg !624
if.else349: ; preds = %if.end342
%236 = load i32, ptr %clsOffset, align 4, !dbg !625
%237 = load i32, ptr %invalidEntryOffset, align 4, !dbg !625
%cmp350 = icmp eq i32 %236, %237, !dbg !625
br i1 %cmp350, label %if.then351, label %if.end356, !dbg !627
if.then351: ; preds = %if.else349
%238 = load i32, ptr %should_log.addr, align 4, !dbg !628
%tobool352 = icmp ne i32 %238, 0, !dbg !628
br i1 %tobool352, label %if.then353, label %if.end355, !dbg !631
if.then353: ; preds = %if.then351
%call354 = call i32 (ptr, ...) @printf(ptr @.str.25) #3, !dbg !628
br label %if.end355, !dbg !628
if.end355: ; preds = %if.then353, %if.then351
br label %for.inc407, !dbg !632
if.end356: ; preds = %if.else349
br label %if.end357
if.end357: ; preds = %if.end356
%239 = load ptr, ptr %class_infos294, align 8, !dbg !633
%tobool358 = icmp ne ptr %239, null, !dbg !633
br i1 %tobool358, label %land.lhs.true359, label %if.else400, !dbg !633
land.lhs.true359: ; preds = %if.end357
%240 = load i32, ptr %idx, align 4, !dbg !633
%conv360 = zext i32 %240 to i64, !dbg !633
%241 = load i64, ptr %max_class_infos287, align 8, !dbg !633
%cmp361 = icmp ult i64 %conv360, %241, !dbg !633
br i1 %cmp361, label %if.then362, label %if.else400, !dbg !635
if.then362: ; preds = %land.lhs.true359
%242 = load ptr, ptr %clsopt275, align 8, !dbg !636
%243 = load i32, ptr %clsOffset, align 4, !dbg !636
%idx.ext363 = sext i32 %243 to i64, !dbg !636
%add.ptr364 = getelementptr inbounds i8, ptr %242, i64 %idx.ext363, !dbg !636
%244 = load ptr, ptr %class_infos294, align 8, !dbg !636
%245 = load i32, ptr %idx, align 4, !dbg !636
%idxprom365 = zext i32 %245 to i64, !dbg !636
%arrayidx366 = getelementptr inbounds %struct.ClassInfo, ptr %244, i64 %idxprom365, !dbg !636
%isa367 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx366, i32 0, i32 0, !dbg !636
store ptr %add.ptr364, ptr %isa367, align 1, !dbg !636
call void @llvm.dbg.declare(metadata ptr %name368, metadata !638, metadata !DIExpression()), !dbg !639
%246 = load ptr, ptr @class_name_lookup_func, align 8, !dbg !639
%247 = load ptr, ptr %class_infos294, align 8, !dbg !639
%248 = load i32, ptr %idx, align 4, !dbg !639
%idxprom369 = zext i32 %248 to i64, !dbg !639
%arrayidx370 = getelementptr inbounds %struct.ClassInfo, ptr %247, i64 %idxprom369, !dbg !639
%isa371 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx370, i32 0, i32 0, !dbg !639
%249 = load ptr, ptr %isa371, align 1, !dbg !639
%call372 = call ptr %246(ptr %249) #3, !dbg !639
store ptr %call372, ptr %name368, align 8, !dbg !639
%250 = load i32, ptr %should_log.addr, align 4, !dbg !640
%tobool373 = icmp ne i32 %250, 0, !dbg !640
br i1 %tobool373, label %if.then374, label %if.end379, !dbg !642
if.then374: ; preds = %if.then362
%251 = load i32, ptr %idx, align 4, !dbg !640
%252 = load ptr, ptr %class_infos294, align 8, !dbg !640
%253 = load i32, ptr %idx, align 4, !dbg !640
%idxprom375 = zext i32 %253 to i64, !dbg !640
%arrayidx376 = getelementptr inbounds %struct.ClassInfo, ptr %252, i64 %idxprom375, !dbg !640
%isa377 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx376, i32 0, i32 0, !dbg !640
%254 = load ptr, ptr %isa377, align 1, !dbg !640
%255 = load ptr, ptr %name368, align 8, !dbg !640
%call378 = call i32 (ptr, ...) @printf(ptr @.str.18, i32 %251, ptr %254, ptr %255) #3, !dbg !640
br label %if.end379, !dbg !640
if.end379: ; preds = %if.then374, %if.then362
call void @llvm.dbg.declare(metadata ptr %s380, metadata !643, metadata !DIExpression()), !dbg !644
%256 = load ptr, ptr %name368, align 8, !dbg !644
store ptr %256, ptr %s380, align 8, !dbg !644
call void @llvm.dbg.declare(metadata ptr %h381, metadata !645, metadata !DIExpression()), !dbg !646
store i32 5381, ptr %h381, align 4, !dbg !646
call void @llvm.dbg.declare(metadata ptr %c382, metadata !647, metadata !DIExpression()), !dbg !649
%257 = load ptr, ptr %s380, align 8, !dbg !649
%258 = load i8, ptr %257, align 1, !dbg !649
store i8 %258, ptr %c382, align 1, !dbg !649
br label %for.cond383, !dbg !649
for.cond383: ; preds = %for.inc394, %if.end379
%259 = load i8, ptr %c382, align 1, !dbg !650
%tobool384 = icmp ne i8 %259, 0, !dbg !650
br i1 %tobool384, label %for.body385, label %for.end396, !dbg !649
for.body385: ; preds = %for.cond383
%260 = load i8, ptr %c382, align 1, !dbg !652
%conv386 = zext i8 %260 to i32, !dbg !652
%cmp387 = icmp eq i32 %conv386, 46, !dbg !652
br i1 %cmp387, label %if.then388, label %if.end389, !dbg !655
if.then388: ; preds = %for.body385
store i32 0, ptr %h381, align 4, !dbg !656
br label %for.end396, !dbg !658
if.end389: ; preds = %for.body385
%261 = load i32, ptr %h381, align 4, !dbg !659
%shl390 = shl i32 %261, 5, !dbg !659
%262 = load i32, ptr %h381, align 4, !dbg !659
%add391 = add i32 %shl390, %262, !dbg !659
%263 = load i8, ptr %c382, align 1, !dbg !659
%conv392 = zext i8 %263 to i32, !dbg !659
%add393 = add i32 %add391, %conv392, !dbg !659
store i32 %add393, ptr %h381, align 4, !dbg !659
br label %for.inc394, !dbg !660
for.inc394: ; preds = %if.end389
%264 = load ptr, ptr %s380, align 8, !dbg !650
%incdec.ptr395 = getelementptr inbounds i8, ptr %264, i32 1, !dbg !650
store ptr %incdec.ptr395, ptr %s380, align 8, !dbg !650
%265 = load i8, ptr %incdec.ptr395, align 1, !dbg !650
store i8 %265, ptr %c382, align 1, !dbg !650
br label %for.cond383, !dbg !650, !llvm.loop !661
for.end396: ; preds = %if.then388, %for.cond383
%266 = load i32, ptr %h381, align 4, !dbg !663
%267 = load ptr, ptr %class_infos294, align 8, !dbg !663
%268 = load i32, ptr %idx, align 4, !dbg !663
%idxprom397 = zext i32 %268 to i64, !dbg !663
%arrayidx398 = getelementptr inbounds %struct.ClassInfo, ptr %267, i64 %idxprom397, !dbg !663
%hash399 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx398, i32 0, i32 1, !dbg !663
store i32 %266, ptr %hash399, align 1, !dbg !663
br label %if.end405, !dbg !664
if.else400: ; preds = %land.lhs.true359, %if.end357
%269 = load i32, ptr %should_log.addr, align 4, !dbg !665
%tobool401 = icmp ne i32 %269, 0, !dbg !665
br i1 %tobool401, label %if.then402, label %if.end404, !dbg !668
if.then402: ; preds = %if.else400
%call403 = call i32 (ptr, ...) @printf(ptr @.str.19) #3, !dbg !665
br label %if.end404, !dbg !665
if.end404: ; preds = %if.then402, %if.else400
br label %if.end405
if.end405: ; preds = %if.end404, %for.end396
%270 = load i32, ptr %idx, align 4, !dbg !669
%inc406 = add i32 %270, 1, !dbg !669
store i32 %inc406, ptr %idx, align 4, !dbg !669
br label %for.inc407, !dbg !670
for.inc407: ; preds = %if.end405, %if.end355, %if.end348
%271 = load i32, ptr %i331, align 4, !dbg !609
%inc408 = add i32 %271, 1, !dbg !609
store i32 %inc408, ptr %i331, align 4, !dbg !609
br label %for.cond332, !dbg !609, !llvm.loop !671
for.end409: ; preds = %for.cond332
call void @llvm.dbg.declare(metadata ptr %duplicate_count_ptr410, metadata !673, metadata !DIExpression()), !dbg !674
%272 = load ptr, ptr %classOffsets309, align 8, !dbg !674
%273 = load ptr, ptr %clsopt275, align 8, !dbg !674
%capacity411 = getelementptr inbounds %struct.objc_clsopt_t, ptr %273, i32 0, i32 0, !dbg !674
%274 = load i32, ptr %capacity411, align 8, !dbg !674
%idxprom412 = zext i32 %274 to i64, !dbg !674
%arrayidx413 = getelementptr inbounds %struct.objc_classheader_t, ptr %272, i64 %idxprom412, !dbg !674
store ptr %arrayidx413, ptr %duplicate_count_ptr410, align 8, !dbg !674
call void @llvm.dbg.declare(metadata ptr %duplicate_count414, metadata !675, metadata !DIExpression()), !dbg !676
%275 = load ptr, ptr %duplicate_count_ptr410, align 8, !dbg !676
%276 = load i32, ptr %275, align 4, !dbg !676
store i32 %276, ptr %duplicate_count414, align 4, !dbg !676
call void @llvm.dbg.declare(metadata ptr %duplicateClassOffsets415, metadata !677, metadata !DIExpression()), !dbg !678
%277 = load ptr, ptr %duplicate_count_ptr410, align 8, !dbg !678
%arrayidx416 = getelementptr inbounds i32, ptr %277, i64 1, !dbg !678
store ptr %arrayidx416, ptr %duplicateClassOffsets415, align 8, !dbg !678
%278 = load i32, ptr %should_log.addr, align 4, !dbg !679
%tobool417 = icmp ne i32 %278, 0, !dbg !679
br i1 %tobool417, label %if.then418, label %if.end420, !dbg !681
if.then418: ; preds = %for.end409
%279 = load i32, ptr %duplicate_count414, align 4, !dbg !679
%call419 = call i32 (ptr, ...) @printf(ptr @.str.20, i32 %279) #3, !dbg !679
br label %if.end420, !dbg !679
if.end420: ; preds = %if.then418, %for.end409
%280 = load i32, ptr %should_log.addr, align 4, !dbg !682
%tobool421 = icmp ne i32 %280, 0, !dbg !682
br i1 %tobool421, label %if.then422, label %if.end424, !dbg !684
if.then422: ; preds = %if.end420
%281 = load ptr, ptr %duplicateClassOffsets415, align 8, !dbg !682
%call423 = call i32 (ptr, ...) @printf(ptr @.str.21, ptr %281) #3, !dbg !682
br label %if.end424, !dbg !682
if.end424: ; preds = %if.then422, %if.end420
call void @llvm.dbg.declare(metadata ptr %i425, metadata !685, metadata !DIExpression()), !dbg !687
store i32 0, ptr %i425, align 4, !dbg !687
br label %for.cond426, !dbg !687
for.cond426: ; preds = %for.inc485, %if.end424
%282 = load i32, ptr %i425, align 4, !dbg !688
%283 = load i32, ptr %duplicate_count414, align 4, !dbg !688
%cmp427 = icmp ult i32 %282, %283, !dbg !688
br i1 %cmp427, label %for.body428, label %for.end487, !dbg !687
for.body428: ; preds = %for.cond426
call void @llvm.dbg.declare(metadata ptr %clsOffset429, metadata !690, metadata !DIExpression()), !dbg !692
%284 = load ptr, ptr %duplicateClassOffsets415, align 8, !dbg !692
%285 = load i32, ptr %i425, align 4, !dbg !692
%idxprom430 = zext i32 %285 to i64, !dbg !692
%arrayidx431 = getelementptr inbounds %struct.objc_classheader_t, ptr %284, i64 %idxprom430, !dbg !692
%clsOffset432 = getelementptr inbounds %struct.objc_classheader_t, ptr %arrayidx431, i32 0, i32 0, !dbg !692
%286 = load i32, ptr %clsOffset432, align 4, !dbg !692
store i32 %286, ptr %clsOffset429, align 4, !dbg !692
%287 = load i32, ptr %clsOffset429, align 4, !dbg !693
%and433 = and i32 %287, 1, !dbg !693
%tobool434 = icmp ne i32 %and433, 0, !dbg !693
br i1 %tobool434, label %if.then435, label %if.else436, !dbg !695
if.then435: ; preds = %for.body428
br label %for.inc485, !dbg !696
if.else436: ; preds = %for.body428
%288 = load i32, ptr %clsOffset429, align 4, !dbg !697
%289 = load i32, ptr %invalidEntryOffset, align 4, !dbg !697
%cmp437 = icmp eq i32 %288, %289, !dbg !697
br i1 %cmp437, label %if.then438, label %if.end439, !dbg !699
if.then438: ; preds = %if.else436
br label %for.inc485, !dbg !700
if.end439: ; preds = %if.else436
br label %if.end440
if.end440: ; preds = %if.end439
%290 = load ptr, ptr %class_infos294, align 8, !dbg !701
%tobool441 = icmp ne ptr %290, null, !dbg !701
br i1 %tobool441, label %land.lhs.true442, label %if.end483, !dbg !701
land.lhs.true442: ; preds = %if.end440
%291 = load i32, ptr %idx, align 4, !dbg !701
%conv443 = zext i32 %291 to i64, !dbg !701
%292 = load i64, ptr %max_class_infos287, align 8, !dbg !701
%cmp444 = icmp ult i64 %conv443, %292, !dbg !701
br i1 %cmp444, label %if.then445, label %if.end483, !dbg !703
if.then445: ; preds = %land.lhs.true442
%293 = load ptr, ptr %clsopt275, align 8, !dbg !704
%294 = load i32, ptr %clsOffset429, align 4, !dbg !704
%idx.ext446 = sext i32 %294 to i64, !dbg !704
%add.ptr447 = getelementptr inbounds i8, ptr %293, i64 %idx.ext446, !dbg !704
%295 = load ptr, ptr %class_infos294, align 8, !dbg !704
%296 = load i32, ptr %idx, align 4, !dbg !704
%idxprom448 = zext i32 %296 to i64, !dbg !704
%arrayidx449 = getelementptr inbounds %struct.ClassInfo, ptr %295, i64 %idxprom448, !dbg !704
%isa450 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx449, i32 0, i32 0, !dbg !704
store ptr %add.ptr447, ptr %isa450, align 1, !dbg !704
call void @llvm.dbg.declare(metadata ptr %name451, metadata !706, metadata !DIExpression()), !dbg !707
%297 = load ptr, ptr @class_name_lookup_func, align 8, !dbg !707
%298 = load ptr, ptr %class_infos294, align 8, !dbg !707
%299 = load i32, ptr %idx, align 4, !dbg !707
%idxprom452 = zext i32 %299 to i64, !dbg !707
%arrayidx453 = getelementptr inbounds %struct.ClassInfo, ptr %298, i64 %idxprom452, !dbg !707
%isa454 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx453, i32 0, i32 0, !dbg !707
%300 = load ptr, ptr %isa454, align 1, !dbg !707
%call455 = call ptr %297(ptr %300) #3, !dbg !707
store ptr %call455, ptr %name451, align 8, !dbg !707
%301 = load i32, ptr %should_log.addr, align 4, !dbg !708
%tobool456 = icmp ne i32 %301, 0, !dbg !708
br i1 %tobool456, label %if.then457, label %if.end462, !dbg !710
if.then457: ; preds = %if.then445
%302 = load i32, ptr %idx, align 4, !dbg !708
%303 = load ptr, ptr %class_infos294, align 8, !dbg !708
%304 = load i32, ptr %idx, align 4, !dbg !708
%idxprom458 = zext i32 %304 to i64, !dbg !708
%arrayidx459 = getelementptr inbounds %struct.ClassInfo, ptr %303, i64 %idxprom458, !dbg !708
%isa460 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx459, i32 0, i32 0, !dbg !708
%305 = load ptr, ptr %isa460, align 1, !dbg !708
%306 = load ptr, ptr %name451, align 8, !dbg !708
%call461 = call i32 (ptr, ...) @printf(ptr @.str.18, i32 %302, ptr %305, ptr %306) #3, !dbg !708
br label %if.end462, !dbg !708
if.end462: ; preds = %if.then457, %if.then445
call void @llvm.dbg.declare(metadata ptr %s463, metadata !711, metadata !DIExpression()), !dbg !712
%307 = load ptr, ptr %name451, align 8, !dbg !712
store ptr %307, ptr %s463, align 8, !dbg !712
call void @llvm.dbg.declare(metadata ptr %h464, metadata !713, metadata !DIExpression()), !dbg !714
store i32 5381, ptr %h464, align 4, !dbg !714
call void @llvm.dbg.declare(metadata ptr %c465, metadata !715, metadata !DIExpression()), !dbg !717
%308 = load ptr, ptr %s463, align 8, !dbg !717
%309 = load i8, ptr %308, align 1, !dbg !717
store i8 %309, ptr %c465, align 1, !dbg !717
br label %for.cond466, !dbg !717
for.cond466: ; preds = %for.inc477, %if.end462
%310 = load i8, ptr %c465, align 1, !dbg !718
%tobool467 = icmp ne i8 %310, 0, !dbg !718
br i1 %tobool467, label %for.body468, label %for.end479, !dbg !717
for.body468: ; preds = %for.cond466
%311 = load i8, ptr %c465, align 1, !dbg !720
%conv469 = zext i8 %311 to i32, !dbg !720
%cmp470 = icmp eq i32 %conv469, 46, !dbg !720
br i1 %cmp470, label %if.then471, label %if.end472, !dbg !723
if.then471: ; preds = %for.body468
store i32 0, ptr %h464, align 4, !dbg !724
br label %for.end479, !dbg !726
if.end472: ; preds = %for.body468
%312 = load i32, ptr %h464, align 4, !dbg !727
%shl473 = shl i32 %312, 5, !dbg !727
%313 = load i32, ptr %h464, align 4, !dbg !727
%add474 = add i32 %shl473, %313, !dbg !727
%314 = load i8, ptr %c465, align 1, !dbg !727
%conv475 = zext i8 %314 to i32, !dbg !727
%add476 = add i32 %add474, %conv475, !dbg !727
store i32 %add476, ptr %h464, align 4, !dbg !727
br label %for.inc477, !dbg !728
for.inc477: ; preds = %if.end472
%315 = load ptr, ptr %s463, align 8, !dbg !718
%incdec.ptr478 = getelementptr inbounds i8, ptr %315, i32 1, !dbg !718
store ptr %incdec.ptr478, ptr %s463, align 8, !dbg !718
%316 = load i8, ptr %incdec.ptr478, align 1, !dbg !718
store i8 %316, ptr %c465, align 1, !dbg !718
br label %for.cond466, !dbg !718, !llvm.loop !729
for.end479: ; preds = %if.then471, %for.cond466
%317 = load i32, ptr %h464, align 4, !dbg !731
%318 = load ptr, ptr %class_infos294, align 8, !dbg !731
%319 = load i32, ptr %idx, align 4, !dbg !731
%idxprom480 = zext i32 %319 to i64, !dbg !731
%arrayidx481 = getelementptr inbounds %struct.ClassInfo, ptr %318, i64 %idxprom480, !dbg !731
%hash482 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx481, i32 0, i32 1, !dbg !731
store i32 %317, ptr %hash482, align 1, !dbg !731
br label %if.end483, !dbg !732
if.end483: ; preds = %for.end479, %land.lhs.true442, %if.end440
%320 = load i32, ptr %idx, align 4, !dbg !733
%inc484 = add i32 %320, 1, !dbg !733
store i32 %inc484, ptr %idx, align 4, !dbg !733
br label %for.inc485, !dbg !734
for.inc485: ; preds = %if.end483, %if.then438, %if.then435
%321 = load i32, ptr %i425, align 4, !dbg !688
%inc486 = add i32 %321, 1, !dbg !688
store i32 %inc486, ptr %i425, align 4, !dbg !688
br label %for.cond426, !dbg !688, !llvm.loop !735
for.end487: ; preds = %for.cond426
br label %if.end488, !dbg !737
if.end488: ; preds = %for.end487, %land.lhs.true271, %if.else268
br label %if.end489
if.end489: ; preds = %if.end488, %for.end267
%322 = load i32, ptr %should_log.addr, align 4, !dbg !738
%tobool490 = icmp ne i32 %322, 0, !dbg !738
br i1 %tobool490, label %if.then491, label %if.end493, !dbg !740
if.then491: ; preds = %if.end489
%323 = load i32, ptr %idx, align 4, !dbg !738
%call492 = call i32 (ptr, ...) @printf(ptr @.str.26, i32 %323) #3, !dbg !738
br label %if.end493, !dbg !738
if.end493: ; preds = %if.then491, %if.end489
%324 = load i32, ptr %should_log.addr, align 4, !dbg !741
%tobool494 = icmp ne i32 %324, 0, !dbg !741
br i1 %tobool494, label %if.then495, label %if.end497, !dbg !743
if.then495: ; preds = %if.end493
%call496 = call i32 (ptr, ...) @printf(ptr @.str.27) #3, !dbg !741
br label %if.end497, !dbg !741
if.end497: ; preds = %if.then495, %if.end493
br label %if.end498, !dbg !744
if.end498: ; preds = %if.end497, %if.end12
%325 = load i32, ptr %idx, align 4, !dbg !745
ret i32 %325, !dbg !745
}
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #2
; Function Attrs: convergent
declare i32 @printf(ptr, ...) #0
attributes #0 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #2 = { nocallback nofree nosync nounwind readnone speculatable willreturn }
attributes #3 = { convergent "no-builtins" }
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!216, !217, !218, !219, !220, !221, !222, !223, !224}
!clang.global.decl.ptrs = !{!225, !226, !227, !228}
!llvm.ident = !{!229}
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "class_name_lookup_func", scope: !2, file: !6, line: 40, type: !211, isLocal: false, isDefinition: true)
!2 = distinct !DICompileUnit(language: DW_LANG_ObjC_plus_plus, file: !3, producer: "Apple clang version 15.0.0 (clang-1500.0.40.1)", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug, retainedTypes: !4, globals: !101)
!3 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "/")
!4 = !{!5, !8, !19, !27, !41, !62, !63, !72, !74, !67, !81, !82, !95}
!5 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", file: !6, line: 26, baseType: !7)
!6 = !DIFile(filename: "<lldb wrapper prefix>", directory: "/")
!7 = !DIBasicType(name: "unsigned long long", size: 64, encoding: DW_ATE_unsigned)
!8 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !9, size: 64)
!9 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_opt_t", file: !6, line: 101, size: 128, flags: DIFlagTypePassByValue, elements: !10, identifier: "_ZTS10objc_opt_t")
!10 = !{!11, !14, !17, !18}
!11 = !DIDerivedType(tag: DW_TAG_member, name: "version", scope: !9, file: !6, line: 102, baseType: !12, size: 32)
!12 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !6, line: 24, baseType: !13)
!13 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
!14 = !DIDerivedType(tag: DW_TAG_member, name: "selopt_offset", scope: !9, file: !6, line: 103, baseType: !15, size: 32, offset: 32)
!15 = !DIDerivedType(tag: DW_TAG_typedef, name: "int32_t", file: !6, line: 23, baseType: !16)
!16 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!17 = !DIDerivedType(tag: DW_TAG_member, name: "headeropt_offset", scope: !9, file: !6, line: 104, baseType: !15, size: 32, offset: 64)
!18 = !DIDerivedType(tag: DW_TAG_member, name: "clsopt_offset", scope: !9, file: !6, line: 105, baseType: !15, size: 32, offset: 96)
!19 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !20, size: 64)
!20 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_opt_v14_t", file: !6, line: 108, size: 160, flags: DIFlagTypePassByValue, elements: !21, identifier: "_ZTS14objc_opt_v14_t")
!21 = !{!22, !23, !24, !25, !26}
!22 = !DIDerivedType(tag: DW_TAG_member, name: "version", scope: !20, file: !6, line: 109, baseType: !12, size: 32)
!23 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !20, file: !6, line: 110, baseType: !12, size: 32, offset: 32)
!24 = !DIDerivedType(tag: DW_TAG_member, name: "selopt_offset", scope: !20, file: !6, line: 111, baseType: !15, size: 32, offset: 64)
!25 = !DIDerivedType(tag: DW_TAG_member, name: "headeropt_offset", scope: !20, file: !6, line: 112, baseType: !15, size: 32, offset: 96)
!26 = !DIDerivedType(tag: DW_TAG_member, name: "clsopt_offset", scope: !20, file: !6, line: 113, baseType: !15, size: 32, offset: 128)
!27 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !28, size: 64)
!28 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_opt_v16_t", file: !6, line: 116, size: 384, flags: DIFlagTypePassByValue, elements: !29, identifier: "_ZTS14objc_opt_v16_t")
!29 = !{!30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40}
!30 = !DIDerivedType(tag: DW_TAG_member, name: "version", scope: !28, file: !6, line: 117, baseType: !12, size: 32)
!31 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !28, file: !6, line: 118, baseType: !12, size: 32, offset: 32)
!32 = !DIDerivedType(tag: DW_TAG_member, name: "selopt_offset", scope: !28, file: !6, line: 119, baseType: !15, size: 32, offset: 64)
!33 = !DIDerivedType(tag: DW_TAG_member, name: "headeropt_ro_offset", scope: !28, file: !6, line: 120, baseType: !15, size: 32, offset: 96)
!34 = !DIDerivedType(tag: DW_TAG_member, name: "unused_clsopt_offset", scope: !28, file: !6, line: 121, baseType: !15, size: 32, offset: 128)
!35 = !DIDerivedType(tag: DW_TAG_member, name: "unused_protocolopt_offset", scope: !28, file: !6, line: 122, baseType: !15, size: 32, offset: 160)
!36 = !DIDerivedType(tag: DW_TAG_member, name: "headeropt_rw_offset", scope: !28, file: !6, line: 123, baseType: !15, size: 32, offset: 192)
!37 = !DIDerivedType(tag: DW_TAG_member, name: "unused_protocolopt2_offset", scope: !28, file: !6, line: 124, baseType: !15, size: 32, offset: 224)
!38 = !DIDerivedType(tag: DW_TAG_member, name: "largeSharedCachesClassOffset", scope: !28, file: !6, line: 125, baseType: !15, size: 32, offset: 256)
!39 = !DIDerivedType(tag: DW_TAG_member, name: "largeSharedCachesProtocolOffset", scope: !28, file: !6, line: 126, baseType: !15, size: 32, offset: 288)
!40 = !DIDerivedType(tag: DW_TAG_member, name: "relativeMethodSelectorBaseAddressCacheOffset", scope: !28, file: !6, line: 127, baseType: !5, size: 64, offset: 320)
!41 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !42, size: 64)
!42 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !43)
!43 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_clsopt_v16_t", file: !6, line: 84, size: 8448, flags: DIFlagTypePassByValue, elements: !44, identifier: "_ZTS17objc_clsopt_v16_t")
!44 = !{!45, !46, !47, !48, !49, !50, !51, !52, !56}
!45 = !DIDerivedType(tag: DW_TAG_member, name: "version", scope: !43, file: !6, line: 85, baseType: !12, size: 32)
!46 = !DIDerivedType(tag: DW_TAG_member, name: "capacity", scope: !43, file: !6, line: 86, baseType: !12, size: 32, offset: 32)
!47 = !DIDerivedType(tag: DW_TAG_member, name: "occupied", scope: !43, file: !6, line: 87, baseType: !12, size: 32, offset: 64)
!48 = !DIDerivedType(tag: DW_TAG_member, name: "shift", scope: !43, file: !6, line: 88, baseType: !12, size: 32, offset: 96)
!49 = !DIDerivedType(tag: DW_TAG_member, name: "mask", scope: !43, file: !6, line: 89, baseType: !12, size: 32, offset: 128)
!50 = !DIDerivedType(tag: DW_TAG_member, name: "zero", scope: !43, file: !6, line: 90, baseType: !12, size: 32, offset: 160)
!51 = !DIDerivedType(tag: DW_TAG_member, name: "salt", scope: !43, file: !6, line: 91, baseType: !5, size: 64, offset: 192)
!52 = !DIDerivedType(tag: DW_TAG_member, name: "scramble", scope: !43, file: !6, line: 92, baseType: !53, size: 8192, offset: 256)
!53 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 8192, elements: !54)
!54 = !{!55}
!55 = !DISubrange(count: 256)
!56 = !DIDerivedType(tag: DW_TAG_member, name: "tab", scope: !43, file: !6, line: 93, baseType: !57, offset: 8448)
!57 = !DICompositeType(tag: DW_TAG_array_type, baseType: !58, elements: !60)
!58 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !6, line: 20, baseType: !59)
!59 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char)
!60 = !{!61}
!61 = !DISubrange(count: 0)
!62 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !58, size: 64)
!63 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !64, size: 64)
!64 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "ClassInfo", file: !6, line: 130, size: 96, flags: DIFlagTypePassByValue, elements: !65, identifier: "_ZTS9ClassInfo")
!65 = !{!66, !71}
!66 = !DIDerivedType(tag: DW_TAG_member, name: "isa", scope: !64, file: !6, line: 132, baseType: !67, size: 64)
!67 = !DIDerivedType(tag: DW_TAG_typedef, name: "Class", file: !68, baseType: !69)
!68 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "")
!69 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !70, size: 64)
!70 = !DICompositeType(tag: DW_TAG_structure_type, name: "objc_class", file: !3, flags: DIFlagFwdDecl)
!71 = !DIDerivedType(tag: DW_TAG_member, name: "hash", scope: !64, file: !6, line: 133, baseType: !12, size: 32, offset: 64)
!72 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !73, size: 64)
!73 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !15)
!74 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !75, size: 64)
!75 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !76)
!76 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_classheader_v16_t", file: !6, line: 61, size: 64, flags: DIFlagTypePassByValue, elements: !77, identifier: "_ZTS22objc_classheader_v16_t")
!77 = !{!78, !79, !80}
!78 = !DIDerivedType(tag: DW_TAG_member, name: "isDuplicate", scope: !76, file: !6, line: 62, baseType: !5, size: 1, flags: DIFlagBitField, extraData: i64 0)
!79 = !DIDerivedType(tag: DW_TAG_member, name: "objectCacheOffset", scope: !76, file: !6, line: 63, baseType: !5, size: 47, offset: 1, flags: DIFlagBitField, extraData: i64 0)
!80 = !DIDerivedType(tag: DW_TAG_member, name: "dylibObjCIndex", scope: !76, file: !6, line: 64, baseType: !5, size: 16, offset: 48, flags: DIFlagBitField, extraData: i64 0)
!81 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !12, size: 64)
!82 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !83, size: 64)
!83 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !84)
!84 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_clsopt_t", file: !6, line: 67, size: 8448, flags: DIFlagTypePassByValue, elements: !85, identifier: "_ZTS13objc_clsopt_t")
!85 = !{!86, !87, !88, !89, !90, !91, !92, !93, !94}
!86 = !DIDerivedType(tag: DW_TAG_member, name: "capacity", scope: !84, file: !6, line: 68, baseType: !12, size: 32)
!87 = !DIDerivedType(tag: DW_TAG_member, name: "occupied", scope: !84, file: !6, line: 69, baseType: !12, size: 32, offset: 32)
!88 = !DIDerivedType(tag: DW_TAG_member, name: "shift", scope: !84, file: !6, line: 70, baseType: !12, size: 32, offset: 64)
!89 = !DIDerivedType(tag: DW_TAG_member, name: "mask", scope: !84, file: !6, line: 71, baseType: !12, size: 32, offset: 96)
!90 = !DIDerivedType(tag: DW_TAG_member, name: "zero", scope: !84, file: !6, line: 72, baseType: !12, size: 32, offset: 128)
!91 = !DIDerivedType(tag: DW_TAG_member, name: "unused", scope: !84, file: !6, line: 73, baseType: !12, size: 32, offset: 160)
!92 = !DIDerivedType(tag: DW_TAG_member, name: "salt", scope: !84, file: !6, line: 74, baseType: !5, size: 64, offset: 192)
!93 = !DIDerivedType(tag: DW_TAG_member, name: "scramble", scope: !84, file: !6, line: 75, baseType: !53, size: 8192, offset: 256)
!94 = !DIDerivedType(tag: DW_TAG_member, name: "tab", scope: !84, file: !6, line: 76, baseType: !57, offset: 8448)
!95 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !96, size: 64)
!96 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !97)
!97 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_classheader_t", file: !6, line: 56, size: 64, flags: DIFlagTypePassByValue, elements: !98, identifier: "_ZTS18objc_classheader_t")
!98 = !{!99, !100}
!99 = !DIDerivedType(tag: DW_TAG_member, name: "clsOffset", scope: !97, file: !6, line: 57, baseType: !15, size: 32)
!100 = !DIDerivedType(tag: DW_TAG_member, name: "hiOffset", scope: !97, file: !6, line: 58, baseType: !15, size: 32, offset: 32)
!101 = !{!0, !102, !109, !114, !116, !121, !126, !128, !133, !138, !143, !148, !150, !152, !157, !159, !164, !166, !171, !176, !178, !183, !185, !187, !192, !194, !199, !201, !206}
!102 = !DIGlobalVariableExpression(var: !103, expr: !DIExpression())
!103 = distinct !DIGlobalVariable(scope: null, file: !6, line: 146, type: !104, isLocal: true, isDefinition: true)
!104 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 176, elements: !107)
!105 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !106)
!106 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
!107 = !{!108}
!108 = !DISubrange(count: 22)
!109 = !DIGlobalVariableExpression(var: !110, expr: !DIExpression())
!110 = distinct !DIGlobalVariable(scope: null, file: !6, line: 147, type: !111, isLocal: true, isDefinition: true)
!111 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 224, elements: !112)
!112 = !{!113}
!113 = !DISubrange(count: 28)
!114 = !DIGlobalVariableExpression(var: !115, expr: !DIExpression())
!115 = distinct !DIGlobalVariable(scope: null, file: !6, line: 148, type: !104, isLocal: true, isDefinition: true)
!116 = !DIGlobalVariableExpression(var: !117, expr: !DIExpression())
!117 = distinct !DIGlobalVariable(scope: null, file: !6, line: 149, type: !118, isLocal: true, isDefinition: true)
!118 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 376, elements: !119)
!119 = !{!120}
!120 = !DISubrange(count: 47)
!121 = !DIGlobalVariableExpression(var: !122, expr: !DIExpression())
!122 = distinct !DIGlobalVariable(scope: null, file: !6, line: 158, type: !123, isLocal: true, isDefinition: true)
!123 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 192, elements: !124)
!124 = !{!125}
!125 = !DISubrange(count: 24)
!126 = !DIGlobalVariableExpression(var: !127, expr: !DIExpression())
!127 = distinct !DIGlobalVariable(scope: null, file: !6, line: 159, type: !104, isLocal: true, isDefinition: true)
!128 = !DIGlobalVariableExpression(var: !129, expr: !DIExpression())
!129 = distinct !DIGlobalVariable(scope: null, file: !6, line: 160, type: !130, isLocal: true, isDefinition: true)
!130 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 240, elements: !131)
!131 = !{!132}
!132 = !DISubrange(count: 30)
!133 = !DIGlobalVariableExpression(var: !134, expr: !DIExpression())
!134 = distinct !DIGlobalVariable(scope: null, file: !6, line: 161, type: !135, isLocal: true, isDefinition: true)
!135 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 288, elements: !136)
!136 = !{!137}
!137 = !DISubrange(count: 36)
!138 = !DIGlobalVariableExpression(var: !139, expr: !DIExpression())
!139 = distinct !DIGlobalVariable(scope: null, file: !6, line: 162, type: !140, isLocal: true, isDefinition: true)
!140 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 488, elements: !141)
!141 = !{!142}
!142 = !DISubrange(count: 61)
!143 = !DIGlobalVariableExpression(var: !144, expr: !DIExpression())
!144 = distinct !DIGlobalVariable(scope: null, file: !6, line: 169, type: !145, isLocal: true, isDefinition: true)
!145 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 264, elements: !146)
!146 = !{!147}
!147 = !DISubrange(count: 33)
!148 = !DIGlobalVariableExpression(var: !149, expr: !DIExpression())
!149 = distinct !DIGlobalVariable(scope: null, file: !6, line: 170, type: !130, isLocal: true, isDefinition: true)
!150 = !DIGlobalVariableExpression(var: !151, expr: !DIExpression())
!151 = distinct !DIGlobalVariable(scope: null, file: !6, line: 185, type: !123, isLocal: true, isDefinition: true)
!152 = !DIGlobalVariableExpression(var: !153, expr: !DIExpression())
!153 = distinct !DIGlobalVariable(scope: null, file: !6, line: 193, type: !154, isLocal: true, isDefinition: true)
!154 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 184, elements: !155)
!155 = !{!156}
!156 = !DISubrange(count: 23)
!157 = !DIGlobalVariableExpression(var: !158, expr: !DIExpression())
!158 = distinct !DIGlobalVariable(scope: null, file: !6, line: 194, type: !123, isLocal: true, isDefinition: true)
!159 = !DIGlobalVariableExpression(var: !160, expr: !DIExpression())
!160 = distinct !DIGlobalVariable(scope: null, file: !6, line: 195, type: !161, isLocal: true, isDefinition: true)
!161 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 152, elements: !162)
!162 = !{!163}
!163 = !DISubrange(count: 19)
!164 = !DIGlobalVariableExpression(var: !165, expr: !DIExpression())
!165 = distinct !DIGlobalVariable(scope: null, file: !6, line: 200, type: !111, isLocal: true, isDefinition: true)
!166 = !DIGlobalVariableExpression(var: !167, expr: !DIExpression())
!167 = distinct !DIGlobalVariable(scope: null, file: !6, line: 203, type: !168, isLocal: true, isDefinition: true)
!168 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 160, elements: !169)
!169 = !{!170}
!170 = !DISubrange(count: 20)
!171 = !DIGlobalVariableExpression(var: !172, expr: !DIExpression())
!172 = distinct !DIGlobalVariable(scope: null, file: !6, line: 208, type: !173, isLocal: true, isDefinition: true)
!173 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 328, elements: !174)
!174 = !{!175}
!175 = !DISubrange(count: 41)
!176 = !DIGlobalVariableExpression(var: !177, expr: !DIExpression())
!177 = distinct !DIGlobalVariable(scope: null, file: !6, line: 218, type: !161, isLocal: true, isDefinition: true)
!178 = !DIGlobalVariableExpression(var: !179, expr: !DIExpression())
!179 = distinct !DIGlobalVariable(scope: null, file: !6, line: 240, type: !180, isLocal: true, isDefinition: true)
!180 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 344, elements: !181)
!181 = !{!182}
!182 = !DISubrange(count: 43)
!183 = !DIGlobalVariableExpression(var: !184, expr: !DIExpression())
!184 = distinct !DIGlobalVariable(scope: null, file: !6, line: 249, type: !104, isLocal: true, isDefinition: true)
!185 = !DIGlobalVariableExpression(var: !186, expr: !DIExpression())
!186 = distinct !DIGlobalVariable(scope: null, file: !6, line: 250, type: !111, isLocal: true, isDefinition: true)
!187 = !DIGlobalVariableExpression(var: !188, expr: !DIExpression())
!188 = distinct !DIGlobalVariable(scope: null, file: !6, line: 315, type: !189, isLocal: true, isDefinition: true)
!189 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 200, elements: !190)
!190 = !{!191}
!191 = !DISubrange(count: 25)
!192 = !DIGlobalVariableExpression(var: !193, expr: !DIExpression())
!193 = distinct !DIGlobalVariable(scope: null, file: !6, line: 319, type: !168, isLocal: true, isDefinition: true)
!194 = !DIGlobalVariableExpression(var: !195, expr: !DIExpression())
!195 = distinct !DIGlobalVariable(scope: null, file: !6, line: 322, type: !196, isLocal: true, isDefinition: true)
!196 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 120, elements: !197)
!197 = !{!198}
!198 = !DISubrange(count: 15)
!199 = !DIGlobalVariableExpression(var: !200, expr: !DIExpression())
!200 = distinct !DIGlobalVariable(scope: null, file: !6, line: 327, type: !145, isLocal: true, isDefinition: true)
!201 = !DIGlobalVariableExpression(var: !202, expr: !DIExpression())
!202 = distinct !DIGlobalVariable(scope: null, file: !6, line: 400, type: !203, isLocal: true, isDefinition: true)
!203 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 128, elements: !204)
!204 = !{!205}
!205 = !DISubrange(count: 16)
!206 = !DIGlobalVariableExpression(var: !207, expr: !DIExpression())
!207 = distinct !DIGlobalVariable(scope: null, file: !6, line: 401, type: !208, isLocal: true, isDefinition: true)
!208 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 48, elements: !209)
!209 = !{!210}
!210 = !DISubrange(count: 6)
!211 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !212, size: 64)
!212 = !DISubroutineType(types: !213)
!213 = !{!214, !215}
!214 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !105, size: 64)
!215 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!216 = !{i32 1, !"Objective-C Version", i32 2}
!217 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!218 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!219 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!220 = !{i32 1, !"Objective-C Class Properties", i32 64}
!221 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!222 = !{i32 2, !"Debug Info Version", i32 3}
!223 = !{i32 1, !"wchar_size", i32 4}
!224 = !{i32 7, !"frame-pointer", i32 2}
!225 = !{ptr @objc_debug_class_getNameRaw, i64 5181241392}
!226 = !{ptr @class_name_lookup_func, i64 5181344880}
!227 = !{ptr @_Z48__lldb_apple_objc_v2_get_shared_cache_class_infoPvS_S_Pyjj, i64 5181401512}
!228 = !{ptr @printf, i64 5181240760}
!229 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!230 = distinct !DISubprogram(name: "__lldb_apple_objc_v2_get_shared_cache_class_info", linkageName: "_Z48__lldb_apple_objc_v2_get_shared_cache_class_infoPvS_S_Pyjj", scope: !6, file: !6, line: 137, type: !231, scopeLine: 143, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !2, retainedNodes: !234)
!231 = !DISubroutineType(types: !232)
!232 = !{!12, !215, !215, !215, !233, !12, !12}
!233 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !5, size: 64)
!234 = !{}
!235 = !{i64 5181400280}
!236 = !{i64 5181400408}
!237 = !{i64 5181400536}
!238 = !{i64 5181400760}
!239 = !{i64 5181400880}
!240 = !{i64 5181401000}
!241 = !{i64 5181401936}
!242 = !{i64 5181412760}
!243 = !{i64 5181413320}
!244 = !{i64 5181413880}
!245 = !{i64 5181428808}
!246 = !{i64 5181429480}
!247 = !{i64 5181433592}
!248 = !{i64 5181433992}
!249 = !{i64 5181434744}
!250 = !{i64 5181435416}
!251 = !{i64 5181437568}
!252 = !{i64 5181438064}
!253 = !{i64 5181441376}
!254 = !{i64 5181442592}
!255 = !{i64 5181442816}
!256 = !{i64 5181443048}
!257 = !{i64 5181445768}
!258 = !{i64 5181446360}
!259 = !{i64 5181446728}
!260 = !{i64 5181448008}
!261 = !{i64 5181448432}
!262 = !{i64 5181451480}
!263 = !{i64 5181452696}
!264 = !{i64 5181452920}
!265 = !{i64 5181453152}
!266 = !{i64 5181455896}
!267 = !{i64 5181457408}
!268 = !{i64 5181458328}
!269 = !{i64 5181458616}
!270 = !{i64 5181459168}
!271 = !{i64 5181459792}
!272 = !{i64 5181460456}
!273 = !{i64 5181462912}
!274 = !{i64 5181463408}
!275 = !{i64 5181472648}
!276 = !{i64 5181473864}
!277 = !{i64 5181474088}
!278 = !{i64 5181474320}
!279 = !{i64 5181476800}
!280 = !{i64 5181477296}
!281 = !{i64 5181477664}
!282 = !{i64 5181478944}
!283 = !{i64 5181479368}
!284 = !{i64 5181481088}
!285 = !{i64 5181482304}
!286 = !{i64 5181482528}
!287 = !{i64 5181482760}
!288 = !DILocalVariable(name: "objc_opt_ro_ptr", arg: 1, scope: !230, file: !6, line: 137, type: !215)
!289 = !DILocation(line: 137, scope: !230)
!290 = !DILocalVariable(name: "shared_cache_base_ptr", arg: 2, scope: !230, file: !6, line: 138, type: !215)
!291 = !DILocation(line: 138, scope: !230)
!292 = !DILocalVariable(name: "class_infos_ptr", arg: 3, scope: !230, file: !6, line: 139, type: !215)
!293 = !DILocation(line: 139, scope: !230)
!294 = !DILocalVariable(name: "relative_selector_offset", arg: 4, scope: !230, file: !6, line: 140, type: !233)
!295 = !DILocation(line: 140, scope: !230)
!296 = !DILocalVariable(name: "class_infos_byte_size", arg: 5, scope: !230, file: !6, line: 141, type: !12)
!297 = !DILocation(line: 141, scope: !230)
!298 = !DILocalVariable(name: "should_log", arg: 6, scope: !230, file: !6, line: 142, type: !12)
!299 = !DILocation(line: 142, scope: !230)
!300 = !DILocation(line: 144, scope: !230)
!301 = !DILocalVariable(name: "idx", scope: !230, file: !6, line: 145, type: !12)
!302 = !DILocation(line: 145, scope: !230)
!303 = !DILocation(line: 146, scope: !304)
!304 = distinct !DILexicalBlock(scope: !230, file: !6, line: 146)
!305 = !DILocation(line: 146, scope: !230)
!306 = !DILocation(line: 147, scope: !307)
!307 = distinct !DILexicalBlock(scope: !230, file: !6, line: 147)
!308 = !DILocation(line: 147, scope: !230)
!309 = !DILocation(line: 148, scope: !310)
!310 = distinct !DILexicalBlock(scope: !230, file: !6, line: 148)
!311 = !DILocation(line: 148, scope: !230)
!312 = !DILocation(line: 149, scope: !313)
!313 = distinct !DILexicalBlock(scope: !230, file: !6, line: 149)
!314 = !DILocation(line: 149, scope: !230)
!315 = !DILocation(line: 150, scope: !316)
!316 = distinct !DILexicalBlock(scope: !230, file: !6, line: 150)
!317 = !DILocation(line: 150, scope: !230)
!318 = !DILocalVariable(name: "objc_opt", scope: !319, file: !6, line: 152, type: !320)
!319 = distinct !DILexicalBlock(scope: !316, file: !6, line: 151)
!320 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !321, size: 64)
!321 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !9)
!322 = !DILocation(line: 152, scope: !319)
!323 = !DILocalVariable(name: "objc_opt_v14", scope: !319, file: !6, line: 153, type: !324)
!324 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !325, size: 64)
!325 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !20)
!326 = !DILocation(line: 153, scope: !319)
!327 = !DILocalVariable(name: "objc_opt_v16", scope: !319, file: !6, line: 154, type: !328)
!328 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !329, size: 64)
!329 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !28)
!330 = !DILocation(line: 154, scope: !319)
!331 = !DILocation(line: 155, scope: !332)
!332 = distinct !DILexicalBlock(scope: !319, file: !6, line: 155)
!333 = !DILocation(line: 155, scope: !319)
!334 = !DILocation(line: 157, scope: !335)
!335 = distinct !DILexicalBlock(scope: !332, file: !6, line: 156)
!336 = !DILocation(line: 158, scope: !337)
!337 = distinct !DILexicalBlock(scope: !335, file: !6, line: 158)
!338 = !DILocation(line: 158, scope: !335)
!339 = !DILocation(line: 159, scope: !340)
!340 = distinct !DILexicalBlock(scope: !335, file: !6, line: 159)
!341 = !DILocation(line: 159, scope: !335)
!342 = !DILocation(line: 160, scope: !343)
!343 = distinct !DILexicalBlock(scope: !335, file: !6, line: 160)
!344 = !DILocation(line: 160, scope: !335)
!345 = !DILocation(line: 161, scope: !346)
!346 = distinct !DILexicalBlock(scope: !335, file: !6, line: 161)
!347 = !DILocation(line: 161, scope: !335)
!348 = !DILocation(line: 162, scope: !349)
!349 = distinct !DILexicalBlock(scope: !335, file: !6, line: 162)
!350 = !DILocation(line: 162, scope: !335)
!351 = !DILocation(line: 163, scope: !335)
!352 = !DILocation(line: 164, scope: !353)
!353 = distinct !DILexicalBlock(scope: !332, file: !6, line: 164)
!354 = !DILocation(line: 164, scope: !332)
!355 = !DILocation(line: 166, scope: !356)
!356 = distinct !DILexicalBlock(scope: !357, file: !6, line: 166)
!357 = distinct !DILexicalBlock(scope: !353, file: !6, line: 165)
!358 = !DILocation(line: 166, scope: !357)
!359 = !DILocation(line: 167, scope: !360)
!360 = distinct !DILexicalBlock(scope: !357, file: !6, line: 167)
!361 = !DILocation(line: 167, scope: !357)
!362 = !DILocation(line: 168, scope: !363)
!363 = distinct !DILexicalBlock(scope: !357, file: !6, line: 168)
!364 = !DILocation(line: 168, scope: !357)
!365 = !DILocation(line: 169, scope: !366)
!366 = distinct !DILexicalBlock(scope: !357, file: !6, line: 169)
!367 = !DILocation(line: 169, scope: !357)
!368 = !DILocation(line: 170, scope: !369)
!369 = distinct !DILexicalBlock(scope: !357, file: !6, line: 170)
!370 = !DILocation(line: 170, scope: !357)
!371 = !DILocation(line: 171, scope: !357)
!372 = !DILocation(line: 174, scope: !373)
!373 = distinct !DILexicalBlock(scope: !374, file: !6, line: 174)
!374 = distinct !DILexicalBlock(scope: !353, file: !6, line: 173)
!375 = !DILocation(line: 174, scope: !374)
!376 = !DILocation(line: 175, scope: !377)
!377 = distinct !DILexicalBlock(scope: !374, file: !6, line: 175)
!378 = !DILocation(line: 175, scope: !374)
!379 = !DILocation(line: 176, scope: !380)
!380 = distinct !DILexicalBlock(scope: !374, file: !6, line: 176)
!381 = !DILocation(line: 176, scope: !374)
!382 = !DILocation(line: 177, scope: !383)
!383 = distinct !DILexicalBlock(scope: !374, file: !6, line: 177)
!384 = !DILocation(line: 177, scope: !374)
!385 = !DILocation(line: 180, scope: !386)
!386 = distinct !DILexicalBlock(scope: !319, file: !6, line: 180)
!387 = !DILocation(line: 180, scope: !319)
!388 = !DILocalVariable(name: "clsopt", scope: !389, file: !6, line: 182, type: !41)
!389 = distinct !DILexicalBlock(scope: !386, file: !6, line: 181)
!390 = !DILocation(line: 182, scope: !389)
!391 = !DILocalVariable(name: "max_class_infos", scope: !389, file: !6, line: 183, type: !392)
!392 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !393)
!393 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_t", file: !6, line: 29, baseType: !394)
!394 = !DIBasicType(name: "unsigned long", size: 64, encoding: DW_ATE_unsigned)
!395 = !DILocation(line: 183, scope: !389)
!396 = !DILocation(line: 185, scope: !397)
!397 = distinct !DILexicalBlock(scope: !389, file: !6, line: 185)
!398 = !DILocation(line: 185, scope: !389)
!399 = !DILocalVariable(name: "class_infos", scope: !389, file: !6, line: 187, type: !63)
!400 = !DILocation(line: 187, scope: !389)
!401 = !DILocalVariable(name: "checkbytes", scope: !389, file: !6, line: 189, type: !402)
!402 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !403, size: 64)
!403 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !58)
!404 = !DILocation(line: 189, scope: !389)
!405 = !DILocalVariable(name: "offsets", scope: !389, file: !6, line: 190, type: !72)
!406 = !DILocation(line: 190, scope: !389)
!407 = !DILocalVariable(name: "classOffsets", scope: !389, file: !6, line: 191, type: !74)
!408 = !DILocation(line: 191, scope: !389)
!409 = !DILocation(line: 193, scope: !410)
!410 = distinct !DILexicalBlock(scope: !389, file: !6, line: 193)
!411 = !DILocation(line: 193, scope: !389)
!412 = !DILocation(line: 194, scope: !413)
!413 = distinct !DILexicalBlock(scope: !389, file: !6, line: 194)
!414 = !DILocation(line: 194, scope: !389)
!415 = !DILocation(line: 195, scope: !416)
!416 = distinct !DILexicalBlock(scope: !389, file: !6, line: 195)
!417 = !DILocation(line: 195, scope: !389)
!418 = !DILocalVariable(name: "i", scope: !419, file: !6, line: 197, type: !12)
!419 = distinct !DILexicalBlock(scope: !389, file: !6, line: 197)
!420 = !DILocation(line: 197, scope: !419)
!421 = !DILocation(line: 197, scope: !422)
!422 = distinct !DILexicalBlock(scope: !419, file: !6, line: 197)
!423 = !DILocalVariable(name: "objectCacheOffset", scope: !424, file: !6, line: 199, type: !425)
!424 = distinct !DILexicalBlock(scope: !422, file: !6, line: 198)
!425 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !5)
!426 = !DILocation(line: 199, scope: !424)
!427 = !DILocation(line: 200, scope: !428)
!428 = distinct !DILexicalBlock(scope: !424, file: !6, line: 200)
!429 = !DILocation(line: 200, scope: !424)
!430 = !DILocation(line: 202, scope: !431)
!431 = distinct !DILexicalBlock(scope: !424, file: !6, line: 202)
!432 = !DILocation(line: 202, scope: !424)
!433 = !DILocation(line: 203, scope: !434)
!434 = distinct !DILexicalBlock(scope: !435, file: !6, line: 203)
!435 = distinct !DILexicalBlock(scope: !431, file: !6, line: 202)
!436 = !DILocation(line: 203, scope: !435)
!437 = !DILocation(line: 204, scope: !435)
!438 = !DILocation(line: 207, scope: !439)
!439 = distinct !DILexicalBlock(scope: !424, file: !6, line: 207)
!440 = !DILocation(line: 207, scope: !424)
!441 = !DILocation(line: 208, scope: !442)
!442 = distinct !DILexicalBlock(scope: !443, file: !6, line: 208)
!443 = distinct !DILexicalBlock(scope: !439, file: !6, line: 207)
!444 = !DILocation(line: 208, scope: !443)
!445 = !DILocation(line: 209, scope: !443)
!446 = !DILocation(line: 212, scope: !447)
!447 = distinct !DILexicalBlock(scope: !424, file: !6, line: 212)
!448 = !DILocation(line: 212, scope: !424)
!449 = !DILocation(line: 214, scope: !450)
!450 = distinct !DILexicalBlock(scope: !447, file: !6, line: 213)
!451 = !DILocalVariable(name: "name", scope: !450, file: !6, line: 217, type: !214)
!452 = !DILocation(line: 217, scope: !450)
!453 = !DILocation(line: 218, scope: !454)
!454 = distinct !DILexicalBlock(scope: !450, file: !6, line: 218)
!455 = !DILocation(line: 218, scope: !450)
!456 = !DILocalVariable(name: "s", scope: !450, file: !6, line: 221, type: !214)
!457 = !DILocation(line: 221, scope: !450)
!458 = !DILocalVariable(name: "h", scope: !450, file: !6, line: 222, type: !12)
!459 = !DILocation(line: 222, scope: !450)
!460 = !DILocalVariable(name: "c", scope: !461, file: !6, line: 223, type: !59)
!461 = distinct !DILexicalBlock(scope: !450, file: !6, line: 223)
!462 = !DILocation(line: 223, scope: !461)
!463 = !DILocation(line: 223, scope: !464)
!464 = distinct !DILexicalBlock(scope: !461, file: !6, line: 223)
!465 = !DILocation(line: 229, scope: !466)
!466 = distinct !DILexicalBlock(scope: !467, file: !6, line: 229)
!467 = distinct !DILexicalBlock(scope: !464, file: !6, line: 224)
!468 = !DILocation(line: 229, scope: !467)
!469 = !DILocation(line: 231, scope: !470)
!470 = distinct !DILexicalBlock(scope: !466, file: !6, line: 230)
!471 = !DILocation(line: 232, scope: !470)
!472 = !DILocation(line: 234, scope: !467)
!473 = !DILocation(line: 235, scope: !467)
!474 = distinct !{!474, !462, !475, !476}
!475 = !DILocation(line: 235, scope: !461)
!476 = !{!"llvm.loop.mustprogress"}
!477 = !DILocation(line: 236, scope: !450)
!478 = !DILocation(line: 237, scope: !450)
!479 = !DILocation(line: 240, scope: !480)
!480 = distinct !DILexicalBlock(scope: !481, file: !6, line: 240)
!481 = distinct !DILexicalBlock(scope: !447, file: !6, line: 239)
!482 = !DILocation(line: 240, scope: !481)
!483 = !DILocation(line: 242, scope: !424)
!484 = !DILocation(line: 243, scope: !424)
!485 = distinct !{!485, !420, !486, !476}
!486 = !DILocation(line: 243, scope: !419)
!487 = !DILocalVariable(name: "duplicate_count_ptr", scope: !389, file: !6, line: 245, type: !488)
!488 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !489, size: 64)
!489 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !12)
!490 = !DILocation(line: 245, scope: !389)
!491 = !DILocalVariable(name: "duplicate_count", scope: !389, file: !6, line: 246, type: !489)
!492 = !DILocation(line: 246, scope: !389)
!493 = !DILocalVariable(name: "duplicateClassOffsets", scope: !389, file: !6, line: 247, type: !74)
!494 = !DILocation(line: 247, scope: !389)
!495 = !DILocation(line: 249, scope: !496)
!496 = distinct !DILexicalBlock(scope: !389, file: !6, line: 249)
!497 = !DILocation(line: 249, scope: !389)
!498 = !DILocation(line: 250, scope: !499)
!499 = distinct !DILexicalBlock(scope: !389, file: !6, line: 250)
!500 = !DILocation(line: 250, scope: !389)
!501 = !DILocalVariable(name: "i", scope: !502, file: !6, line: 252, type: !12)
!502 = distinct !DILexicalBlock(scope: !389, file: !6, line: 252)
!503 = !DILocation(line: 252, scope: !502)
!504 = !DILocation(line: 252, scope: !505)
!505 = distinct !DILexicalBlock(scope: !502, file: !6, line: 252)
!506 = !DILocalVariable(name: "objectCacheOffset", scope: !507, file: !6, line: 254, type: !425)
!507 = distinct !DILexicalBlock(scope: !505, file: !6, line: 253)
!508 = !DILocation(line: 254, scope: !507)
!509 = !DILocation(line: 255, scope: !510)
!510 = distinct !DILexicalBlock(scope: !507, file: !6, line: 255)
!511 = !DILocation(line: 255, scope: !507)
!512 = !DILocation(line: 257, scope: !513)
!513 = distinct !DILexicalBlock(scope: !507, file: !6, line: 257)
!514 = !DILocation(line: 257, scope: !507)
!515 = !DILocation(line: 258, scope: !516)
!516 = distinct !DILexicalBlock(scope: !517, file: !6, line: 258)
!517 = distinct !DILexicalBlock(scope: !513, file: !6, line: 257)
!518 = !DILocation(line: 258, scope: !517)
!519 = !DILocation(line: 259, scope: !517)
!520 = !DILocation(line: 262, scope: !521)
!521 = distinct !DILexicalBlock(scope: !507, file: !6, line: 262)
!522 = !DILocation(line: 262, scope: !507)
!523 = !DILocation(line: 263, scope: !524)
!524 = distinct !DILexicalBlock(scope: !525, file: !6, line: 263)
!525 = distinct !DILexicalBlock(scope: !521, file: !6, line: 262)
!526 = !DILocation(line: 263, scope: !525)
!527 = !DILocation(line: 264, scope: !525)
!528 = !DILocation(line: 267, scope: !529)
!529 = distinct !DILexicalBlock(scope: !507, file: !6, line: 267)
!530 = !DILocation(line: 267, scope: !507)
!531 = !DILocation(line: 269, scope: !532)
!532 = distinct !DILexicalBlock(scope: !529, file: !6, line: 268)
!533 = !DILocalVariable(name: "name", scope: !532, file: !6, line: 272, type: !214)
!534 = !DILocation(line: 272, scope: !532)
!535 = !DILocation(line: 273, scope: !536)
!536 = distinct !DILexicalBlock(scope: !532, file: !6, line: 273)
!537 = !DILocation(line: 273, scope: !532)
!538 = !DILocalVariable(name: "s", scope: !532, file: !6, line: 276, type: !214)
!539 = !DILocation(line: 276, scope: !532)
!540 = !DILocalVariable(name: "h", scope: !532, file: !6, line: 277, type: !12)
!541 = !DILocation(line: 277, scope: !532)
!542 = !DILocalVariable(name: "c", scope: !543, file: !6, line: 278, type: !59)
!543 = distinct !DILexicalBlock(scope: !532, file: !6, line: 278)
!544 = !DILocation(line: 278, scope: !543)
!545 = !DILocation(line: 278, scope: !546)
!546 = distinct !DILexicalBlock(scope: !543, file: !6, line: 278)
!547 = !DILocation(line: 284, scope: !548)
!548 = distinct !DILexicalBlock(scope: !549, file: !6, line: 284)
!549 = distinct !DILexicalBlock(scope: !546, file: !6, line: 279)
!550 = !DILocation(line: 284, scope: !549)
!551 = !DILocation(line: 286, scope: !552)
!552 = distinct !DILexicalBlock(scope: !548, file: !6, line: 285)
!553 = !DILocation(line: 287, scope: !552)
!554 = !DILocation(line: 289, scope: !549)
!555 = !DILocation(line: 290, scope: !549)
!556 = distinct !{!556, !544, !557, !476}
!557 = !DILocation(line: 290, scope: !543)
!558 = !DILocation(line: 291, scope: !532)
!559 = !DILocation(line: 292, scope: !532)
!560 = !DILocation(line: 293, scope: !507)
!561 = distinct !{!561, !503, !562, !476}
!562 = !DILocation(line: 293, scope: !502)
!563 = !DILocation(line: 294, scope: !389)
!564 = !DILocation(line: 295, scope: !565)
!565 = distinct !DILexicalBlock(scope: !386, file: !6, line: 295)
!566 = !DILocation(line: 295, scope: !386)
!567 = !DILocalVariable(name: "clsopt", scope: !568, file: !6, line: 297, type: !82)
!568 = distinct !DILexicalBlock(scope: !565, file: !6, line: 296)
!569 = !DILocation(line: 297, scope: !568)
!570 = !DILocation(line: 298, scope: !571)
!571 = distinct !DILexicalBlock(scope: !568, file: !6, line: 298)
!572 = !DILocation(line: 298, scope: !568)
!573 = !DILocation(line: 299, scope: !571)
!574 = !DILocation(line: 301, scope: !571)
!575 = !DILocalVariable(name: "max_class_infos", scope: !568, file: !6, line: 302, type: !392)
!576 = !DILocation(line: 302, scope: !568)
!577 = !DILocation(line: 303, scope: !578)
!578 = distinct !DILexicalBlock(scope: !568, file: !6, line: 303)
!579 = !DILocation(line: 303, scope: !568)
!580 = !DILocalVariable(name: "class_infos", scope: !568, file: !6, line: 304, type: !63)
!581 = !DILocation(line: 304, scope: !568)
!582 = !DILocalVariable(name: "invalidEntryOffset", scope: !568, file: !6, line: 305, type: !15)
!583 = !DILocation(line: 305, scope: !568)
!584 = !DILocation(line: 307, scope: !585)
!585 = distinct !DILexicalBlock(scope: !568, file: !6, line: 307)
!586 = !DILocation(line: 307, scope: !568)
!587 = !DILocation(line: 308, scope: !585)
!588 = !DILocalVariable(name: "checkbytes", scope: !568, file: !6, line: 309, type: !402)
!589 = !DILocation(line: 309, scope: !568)
!590 = !DILocalVariable(name: "offsets", scope: !568, file: !6, line: 310, type: !72)
!591 = !DILocation(line: 310, scope: !568)
!592 = !DILocalVariable(name: "classOffsets", scope: !568, file: !6, line: 311, type: !95)
!593 = !DILocation(line: 311, scope: !568)
!594 = !DILocation(line: 312, scope: !595)
!595 = distinct !DILexicalBlock(scope: !568, file: !6, line: 312)
!596 = !DILocation(line: 312, scope: !568)
!597 = !DILocation(line: 313, scope: !598)
!598 = distinct !DILexicalBlock(scope: !568, file: !6, line: 313)
!599 = !DILocation(line: 313, scope: !568)
!600 = !DILocation(line: 314, scope: !601)
!601 = distinct !DILexicalBlock(scope: !568, file: !6, line: 314)
!602 = !DILocation(line: 314, scope: !568)
!603 = !DILocation(line: 315, scope: !604)
!604 = distinct !DILexicalBlock(scope: !568, file: !6, line: 315)
!605 = !DILocation(line: 315, scope: !568)
!606 = !DILocalVariable(name: "i", scope: !607, file: !6, line: 316, type: !12)
!607 = distinct !DILexicalBlock(scope: !568, file: !6, line: 316)
!608 = !DILocation(line: 316, scope: !607)
!609 = !DILocation(line: 316, scope: !610)
!610 = distinct !DILexicalBlock(scope: !607, file: !6, line: 316)
!611 = !DILocalVariable(name: "clsOffset", scope: !612, file: !6, line: 318, type: !73)
!612 = distinct !DILexicalBlock(scope: !610, file: !6, line: 317)
!613 = !DILocation(line: 318, scope: !612)
!614 = !DILocation(line: 319, scope: !615)
!615 = distinct !DILexicalBlock(scope: !612, file: !6, line: 319)
!616 = !DILocation(line: 319, scope: !612)
!617 = !DILocation(line: 320, scope: !618)
!618 = distinct !DILexicalBlock(scope: !612, file: !6, line: 320)
!619 = !DILocation(line: 320, scope: !612)
!620 = !DILocation(line: 322, scope: !621)
!621 = distinct !DILexicalBlock(scope: !622, file: !6, line: 322)
!622 = distinct !DILexicalBlock(scope: !618, file: !6, line: 321)
!623 = !DILocation(line: 322, scope: !622)
!624 = !DILocation(line: 323, scope: !622)
!625 = !DILocation(line: 325, scope: !626)
!626 = distinct !DILexicalBlock(scope: !618, file: !6, line: 325)
!627 = !DILocation(line: 325, scope: !618)
!628 = !DILocation(line: 327, scope: !629)
!629 = distinct !DILexicalBlock(scope: !630, file: !6, line: 327)
!630 = distinct !DILexicalBlock(scope: !626, file: !6, line: 326)
!631 = !DILocation(line: 327, scope: !630)
!632 = !DILocation(line: 328, scope: !630)
!633 = !DILocation(line: 331, scope: !634)
!634 = distinct !DILexicalBlock(scope: !612, file: !6, line: 331)
!635 = !DILocation(line: 331, scope: !612)
!636 = !DILocation(line: 333, scope: !637)
!637 = distinct !DILexicalBlock(scope: !634, file: !6, line: 332)
!638 = !DILocalVariable(name: "name", scope: !637, file: !6, line: 334, type: !214)
!639 = !DILocation(line: 334, scope: !637)
!640 = !DILocation(line: 335, scope: !641)
!641 = distinct !DILexicalBlock(scope: !637, file: !6, line: 335)
!642 = !DILocation(line: 335, scope: !637)
!643 = !DILocalVariable(name: "s", scope: !637, file: !6, line: 337, type: !214)
!644 = !DILocation(line: 337, scope: !637)
!645 = !DILocalVariable(name: "h", scope: !637, file: !6, line: 338, type: !12)
!646 = !DILocation(line: 338, scope: !637)
!647 = !DILocalVariable(name: "c", scope: !648, file: !6, line: 339, type: !59)
!648 = distinct !DILexicalBlock(scope: !637, file: !6, line: 339)
!649 = !DILocation(line: 339, scope: !648)
!650 = !DILocation(line: 339, scope: !651)
!651 = distinct !DILexicalBlock(scope: !648, file: !6, line: 339)
!652 = !DILocation(line: 345, scope: !653)
!653 = distinct !DILexicalBlock(scope: !654, file: !6, line: 345)
!654 = distinct !DILexicalBlock(scope: !651, file: !6, line: 340)
!655 = !DILocation(line: 345, scope: !654)
!656 = !DILocation(line: 347, scope: !657)
!657 = distinct !DILexicalBlock(scope: !653, file: !6, line: 346)
!658 = !DILocation(line: 348, scope: !657)
!659 = !DILocation(line: 350, scope: !654)
!660 = !DILocation(line: 351, scope: !654)
!661 = distinct !{!661, !649, !662, !476}
!662 = !DILocation(line: 351, scope: !648)
!663 = !DILocation(line: 352, scope: !637)
!664 = !DILocation(line: 353, scope: !637)
!665 = !DILocation(line: 356, scope: !666)
!666 = distinct !DILexicalBlock(scope: !667, file: !6, line: 356)
!667 = distinct !DILexicalBlock(scope: !634, file: !6, line: 355)
!668 = !DILocation(line: 356, scope: !667)
!669 = !DILocation(line: 358, scope: !612)
!670 = !DILocation(line: 359, scope: !612)
!671 = distinct !{!671, !608, !672, !476}
!672 = !DILocation(line: 359, scope: !607)
!673 = !DILocalVariable(name: "duplicate_count_ptr", scope: !568, file: !6, line: 361, type: !488)
!674 = !DILocation(line: 361, scope: !568)
!675 = !DILocalVariable(name: "duplicate_count", scope: !568, file: !6, line: 362, type: !489)
!676 = !DILocation(line: 362, scope: !568)
!677 = !DILocalVariable(name: "duplicateClassOffsets", scope: !568, file: !6, line: 363, type: !95)
!678 = !DILocation(line: 363, scope: !568)
!679 = !DILocation(line: 364, scope: !680)
!680 = distinct !DILexicalBlock(scope: !568, file: !6, line: 364)
!681 = !DILocation(line: 364, scope: !568)
!682 = !DILocation(line: 365, scope: !683)
!683 = distinct !DILexicalBlock(scope: !568, file: !6, line: 365)
!684 = !DILocation(line: 365, scope: !568)
!685 = !DILocalVariable(name: "i", scope: !686, file: !6, line: 366, type: !12)
!686 = distinct !DILexicalBlock(scope: !568, file: !6, line: 366)
!687 = !DILocation(line: 366, scope: !686)
!688 = !DILocation(line: 366, scope: !689)
!689 = distinct !DILexicalBlock(scope: !686, file: !6, line: 366)
!690 = !DILocalVariable(name: "clsOffset", scope: !691, file: !6, line: 368, type: !73)
!691 = distinct !DILexicalBlock(scope: !689, file: !6, line: 367)
!692 = !DILocation(line: 368, scope: !691)
!693 = !DILocation(line: 369, scope: !694)
!694 = distinct !DILexicalBlock(scope: !691, file: !6, line: 369)
!695 = !DILocation(line: 369, scope: !691)
!696 = !DILocation(line: 370, scope: !694)
!697 = !DILocation(line: 371, scope: !698)
!698 = distinct !DILexicalBlock(scope: !694, file: !6, line: 371)
!699 = !DILocation(line: 371, scope: !694)
!700 = !DILocation(line: 372, scope: !698)
!701 = !DILocation(line: 374, scope: !702)
!702 = distinct !DILexicalBlock(scope: !691, file: !6, line: 374)
!703 = !DILocation(line: 374, scope: !691)
!704 = !DILocation(line: 376, scope: !705)
!705 = distinct !DILexicalBlock(scope: !702, file: !6, line: 375)
!706 = !DILocalVariable(name: "name", scope: !705, file: !6, line: 377, type: !214)
!707 = !DILocation(line: 377, scope: !705)
!708 = !DILocation(line: 378, scope: !709)
!709 = distinct !DILexicalBlock(scope: !705, file: !6, line: 378)
!710 = !DILocation(line: 378, scope: !705)
!711 = !DILocalVariable(name: "s", scope: !705, file: !6, line: 380, type: !214)
!712 = !DILocation(line: 380, scope: !705)
!713 = !DILocalVariable(name: "h", scope: !705, file: !6, line: 381, type: !12)
!714 = !DILocation(line: 381, scope: !705)
!715 = !DILocalVariable(name: "c", scope: !716, file: !6, line: 382, type: !59)
!716 = distinct !DILexicalBlock(scope: !705, file: !6, line: 382)
!717 = !DILocation(line: 382, scope: !716)
!718 = !DILocation(line: 382, scope: !719)
!719 = distinct !DILexicalBlock(scope: !716, file: !6, line: 382)
!720 = !DILocation(line: 388, scope: !721)
!721 = distinct !DILexicalBlock(scope: !722, file: !6, line: 388)
!722 = distinct !DILexicalBlock(scope: !719, file: !6, line: 383)
!723 = !DILocation(line: 388, scope: !722)
!724 = !DILocation(line: 390, scope: !725)
!725 = distinct !DILexicalBlock(scope: !721, file: !6, line: 389)
!726 = !DILocation(line: 391, scope: !725)
!727 = !DILocation(line: 393, scope: !722)
!728 = !DILocation(line: 394, scope: !722)
!729 = distinct !{!729, !717, !730, !476}
!730 = !DILocation(line: 394, scope: !716)
!731 = !DILocation(line: 395, scope: !705)
!732 = !DILocation(line: 396, scope: !705)
!733 = !DILocation(line: 397, scope: !691)
!734 = !DILocation(line: 398, scope: !691)
!735 = distinct !{!735, !687, !736, !476}
!736 = !DILocation(line: 398, scope: !686)
!737 = !DILocation(line: 399, scope: !568)
!738 = !DILocation(line: 400, scope: !739)
!739 = distinct !DILexicalBlock(scope: !319, file: !6, line: 400)
!740 = !DILocation(line: 400, scope: !319)
!741 = !DILocation(line: 401, scope: !742)
!742 = distinct !DILexicalBlock(scope: !319, file: !6, line: 401)
!743 = !DILocation(line: 401, scope: !319)
!744 = !DILocation(line: 402, scope: !319)
!745 = !DILocation(line: 403, scope: !230)
"
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %objc_opt_ro_ptr.addr, metadata !288, metadata !DIExpression()), !dbg !289)
MaybeHandleVariable (ptr %objc_opt_ro_ptr.addr)
MaybeHandleVariable (!288 = !DILocalVariable(name: "objc_opt_ro_ptr", arg: 1, scope: !230, file: !6, line: 137, type: !215))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %shared_cache_base_ptr.addr, metadata !290, metadata !DIExpression()), !dbg !291)
MaybeHandleVariable (ptr %shared_cache_base_ptr.addr)
MaybeHandleVariable (!290 = !DILocalVariable(name: "shared_cache_base_ptr", arg: 2, scope: !230, file: !6, line: 138, type: !215))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %class_infos_ptr.addr, metadata !292, metadata !DIExpression()), !dbg !293)
MaybeHandleVariable (ptr %class_infos_ptr.addr)
MaybeHandleVariable (!292 = !DILocalVariable(name: "class_infos_ptr", arg: 3, scope: !230, file: !6, line: 139, type: !215))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %relative_selector_offset.addr, metadata !294, metadata !DIExpression()), !dbg !295)
MaybeHandleVariable (ptr %relative_selector_offset.addr)
MaybeHandleVariable (!294 = !DILocalVariable(name: "relative_selector_offset", arg: 4, scope: !230, file: !6, line: 140, type: !233))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %class_infos_byte_size.addr, metadata !296, metadata !DIExpression()), !dbg !297)
MaybeHandleVariable (ptr %class_infos_byte_size.addr)
MaybeHandleVariable (!296 = !DILocalVariable(name: "class_infos_byte_size", arg: 5, scope: !230, file: !6, line: 141, type: !12))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %should_log.addr, metadata !298, metadata !DIExpression()), !dbg !299)
MaybeHandleVariable (ptr %should_log.addr)
MaybeHandleVariable (!298 = !DILocalVariable(name: "should_log", arg: 6, scope: !230, file: !6, line: 142, type: !12))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %idx, metadata !301, metadata !DIExpression()), !dbg !302)
MaybeHandleVariable (ptr %idx)
MaybeHandleVariable (!301 = !DILocalVariable(name: "idx", scope: !230, file: !6, line: 145, type: !12))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call = call i32 (ptr, ...) @printf(ptr @.str, ptr %2) #3, !dbg !303)
MaybeHandleVariable (@.str = private unnamed_addr constant [22 x i8] c"objc_opt_ro_ptr = %p\0A\00", align 1, !dbg !102)
MaybeHandleVariable ( %2 = load ptr, ptr %objc_opt_ro_ptr.addr, align 8, !dbg !303)
MaybeHandleCallArguments( %call3 = call i32 (ptr, ...) @printf(ptr @.str.1, ptr %4) #3, !dbg !306)
MaybeHandleVariable (@.str.1 = private unnamed_addr constant [28 x i8] c"shared_cache_base_ptr = %p\0A\00", align 1, !dbg !109)
MaybeHandleVariable ( %4 = load ptr, ptr %shared_cache_base_ptr.addr, align 8, !dbg !306)
MaybeHandleCallArguments( %call7 = call i32 (ptr, ...) @printf(ptr @.str.2, ptr %6) #3, !dbg !309)
MaybeHandleVariable (@.str.2 = private unnamed_addr constant [22 x i8] c"class_infos_ptr = %p\0A\00", align 1, !dbg !114)
MaybeHandleVariable ( %6 = load ptr, ptr %class_infos_ptr.addr, align 8, !dbg !309)
MaybeHandleCallArguments( %call11 = call i32 (ptr, ...) @printf(ptr @.str.3, i32 %8, i64 %div) #3, !dbg !312)
MaybeHandleVariable (@.str.3 = private unnamed_addr constant [47 x i8] c"class_infos_byte_size = %u (%llu class infos)\0A\00", align 1, !dbg !116)
MaybeHandleVariable ( %8 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !312)
MaybeHandleVariable ( %div = udiv i64 %conv, 12, !dbg !312)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %objc_opt, metadata !318, metadata !DIExpression()), !dbg !322)
MaybeHandleVariable (ptr %objc_opt)
MaybeHandleVariable (!318 = !DILocalVariable(name: "objc_opt", scope: !319, file: !6, line: 152, type: !320))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %objc_opt_v14, metadata !323, metadata !DIExpression()), !dbg !326)
MaybeHandleVariable (ptr %objc_opt_v14)
MaybeHandleVariable (!323 = !DILocalVariable(name: "objc_opt_v14", scope: !319, file: !6, line: 153, type: !324))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %objc_opt_v16, metadata !327, metadata !DIExpression()), !dbg !330)
MaybeHandleVariable (ptr %objc_opt_v16)
MaybeHandleVariable (!327 = !DILocalVariable(name: "objc_opt_v16", scope: !319, file: !6, line: 154, type: !328))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call19 = call i32 (ptr, ...) @printf(ptr @.str.4, i32 %21) #3, !dbg !336)
MaybeHandleVariable (@.str.4 = private unnamed_addr constant [24 x i8] c"objc_opt->version = %u\0A\00", align 1, !dbg !121)
MaybeHandleVariable ( %21 = load i32, ptr %version18, align 8, !dbg !336)
MaybeHandleCallArguments( %call23 = call i32 (ptr, ...) @printf(ptr @.str.5, i32 %24) #3, !dbg !339)
MaybeHandleVariable (@.str.5 = private unnamed_addr constant [22 x i8] c"objc_opt->flags = %u\0A\00", align 1, !dbg !126)
MaybeHandleVariable ( %24 = load i32, ptr %flags, align 4, !dbg !339)
MaybeHandleCallArguments( %call27 = call i32 (ptr, ...) @printf(ptr @.str.6, i32 %27) #3, !dbg !342)
MaybeHandleVariable (@.str.6 = private unnamed_addr constant [30 x i8] c"objc_opt->selopt_offset = %d\0A\00", align 1, !dbg !128)
MaybeHandleVariable ( %27 = load i32, ptr %selopt_offset, align 8, !dbg !342)
MaybeHandleCallArguments( %call31 = call i32 (ptr, ...) @printf(ptr @.str.7, i32 %30) #3, !dbg !345)
MaybeHandleVariable (@.str.7 = private unnamed_addr constant [36 x i8] c"objc_opt->headeropt_ro_offset = %d\0A\00", align 1, !dbg !133)
MaybeHandleVariable ( %30 = load i32, ptr %headeropt_ro_offset, align 4, !dbg !345)
MaybeHandleCallArguments( %call35 = call i32 (ptr, ...) @printf(ptr @.str.8, i64 %33) #3, !dbg !348)
MaybeHandleVariable (@.str.8 = private unnamed_addr constant [61 x i8] c"objc_opt->relativeMethodSelectorBaseAddressCacheOffset = %d\0A\00", align 1, !dbg !138)
MaybeHandleVariable ( %33 = load i64, ptr %32, align 8, !dbg !348)
MaybeHandleCallArguments( %call43 = call i32 (ptr, ...) @printf(ptr @.str.4, i32 %38) #3, !dbg !355)
MaybeHandleVariable (@.str.4 = private unnamed_addr constant [24 x i8] c"objc_opt->version = %u\0A\00", align 1, !dbg !121)
MaybeHandleVariable ( %38 = load i32, ptr %version42, align 4, !dbg !355)
MaybeHandleCallArguments( %call48 = call i32 (ptr, ...) @printf(ptr @.str.5, i32 %41) #3, !dbg !359)
MaybeHandleVariable (@.str.5 = private unnamed_addr constant [22 x i8] c"objc_opt->flags = %u\0A\00", align 1, !dbg !126)
MaybeHandleVariable ( %41 = load i32, ptr %flags47, align 4, !dbg !359)
MaybeHandleCallArguments( %call53 = call i32 (ptr, ...) @printf(ptr @.str.6, i32 %44) #3, !dbg !362)
MaybeHandleVariable (@.str.6 = private unnamed_addr constant [30 x i8] c"objc_opt->selopt_offset = %d\0A\00", align 1, !dbg !128)
MaybeHandleVariable ( %44 = load i32, ptr %selopt_offset52, align 4, !dbg !362)
MaybeHandleCallArguments( %call57 = call i32 (ptr, ...) @printf(ptr @.str.9, i32 %47) #3, !dbg !365)
MaybeHandleVariable (@.str.9 = private unnamed_addr constant [33 x i8] c"objc_opt->headeropt_offset = %d\0A\00", align 1, !dbg !143)
MaybeHandleVariable ( %47 = load i32, ptr %headeropt_offset, align 4, !dbg !365)
MaybeHandleCallArguments( %call61 = call i32 (ptr, ...) @printf(ptr @.str.10, i32 %50) #3, !dbg !368)
MaybeHandleVariable (@.str.10 = private unnamed_addr constant [30 x i8] c"objc_opt->clsopt_offset = %d\0A\00", align 1, !dbg !148)
MaybeHandleVariable ( %50 = load i32, ptr %clsopt_offset, align 4, !dbg !368)
MaybeHandleCallArguments( %call67 = call i32 (ptr, ...) @printf(ptr @.str.4, i32 %53) #3, !dbg !372)
MaybeHandleVariable (@.str.4 = private unnamed_addr constant [24 x i8] c"objc_opt->version = %u\0A\00", align 1, !dbg !121)
MaybeHandleVariable ( %53 = load i32, ptr %version66, align 4, !dbg !372)
MaybeHandleCallArguments( %call72 = call i32 (ptr, ...) @printf(ptr @.str.6, i32 %56) #3, !dbg !376)
MaybeHandleVariable (@.str.6 = private unnamed_addr constant [30 x i8] c"objc_opt->selopt_offset = %d\0A\00", align 1, !dbg !128)
MaybeHandleVariable ( %56 = load i32, ptr %selopt_offset71, align 4, !dbg !376)
MaybeHandleCallArguments( %call77 = call i32 (ptr, ...) @printf(ptr @.str.9, i32 %59) #3, !dbg !379)
MaybeHandleVariable (@.str.9 = private unnamed_addr constant [33 x i8] c"objc_opt->headeropt_offset = %d\0A\00", align 1, !dbg !143)
MaybeHandleVariable ( %59 = load i32, ptr %headeropt_offset76, align 4, !dbg !379)
MaybeHandleCallArguments( %call82 = call i32 (ptr, ...) @printf(ptr @.str.10, i32 %62) #3, !dbg !382)
MaybeHandleVariable (@.str.10 = private unnamed_addr constant [30 x i8] c"objc_opt->clsopt_offset = %d\0A\00", align 1, !dbg !148)
MaybeHandleVariable ( %62 = load i32, ptr %clsopt_offset81, align 4, !dbg !382)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %clsopt, metadata !388, metadata !DIExpression()), !dbg !390)
MaybeHandleVariable (ptr %clsopt)
MaybeHandleVariable (!388 = !DILocalVariable(name: "clsopt", scope: !389, file: !6, line: 182, type: !41))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %max_class_infos, metadata !391, metadata !DIExpression()), !dbg !395)
MaybeHandleVariable (ptr %max_class_infos)
MaybeHandleVariable (!391 = !DILocalVariable(name: "max_class_infos", scope: !389, file: !6, line: 183, type: !392))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call93 = call i32 (ptr, ...) @printf(ptr @.str.11, i64 %70) #3, !dbg !396)
MaybeHandleVariable (@.str.11 = private unnamed_addr constant [24 x i8] c"max_class_infos = %llu\0A\00", align 1, !dbg !150)
MaybeHandleVariable ( %70 = load i64, ptr %max_class_infos, align 8, !dbg !396)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %class_infos, metadata !399, metadata !DIExpression()), !dbg !400)
MaybeHandleVariable (ptr %class_infos)
MaybeHandleVariable (!399 = !DILocalVariable(name: "class_infos", scope: !389, file: !6, line: 187, type: !63))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %checkbytes, metadata !401, metadata !DIExpression()), !dbg !404)
MaybeHandleVariable (ptr %checkbytes)
MaybeHandleVariable (!401 = !DILocalVariable(name: "checkbytes", scope: !389, file: !6, line: 189, type: !402))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %offsets, metadata !405, metadata !DIExpression()), !dbg !406)
MaybeHandleVariable (ptr %offsets)
MaybeHandleVariable (!405 = !DILocalVariable(name: "offsets", scope: !389, file: !6, line: 190, type: !72))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %classOffsets, metadata !407, metadata !DIExpression()), !dbg !408)
MaybeHandleVariable (ptr %classOffsets)
MaybeHandleVariable (!407 = !DILocalVariable(name: "classOffsets", scope: !389, file: !6, line: 191, type: !74))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call103 = call i32 (ptr, ...) @printf(ptr @.str.12, i32 %83) #3, !dbg !409)
MaybeHandleVariable (@.str.12 = private unnamed_addr constant [23 x i8] c"clsopt->capacity = %u\0A\00", align 1, !dbg !152)
MaybeHandleVariable ( %83 = load i32, ptr %capacity102, align 4, !dbg !409)
MaybeHandleCallArguments( %call108 = call i32 (ptr, ...) @printf(ptr @.str.13, i32 %86) #3, !dbg !412)
MaybeHandleVariable (@.str.13 = private unnamed_addr constant [24 x i8] c"clsopt->mask = 0x%8.8x\0A\00", align 1, !dbg !157)
MaybeHandleVariable ( %86 = load i32, ptr %mask107, align 8, !dbg !412)
MaybeHandleCallArguments( %call112 = call i32 (ptr, ...) @printf(ptr @.str.14, ptr %88) #3, !dbg !415)
MaybeHandleVariable (@.str.14 = private unnamed_addr constant [19 x i8] c"classOffsets = %p\0A\00", align 1, !dbg !159)
MaybeHandleVariable ( %88 = load ptr, ptr %classOffsets, align 8, !dbg !415)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %i, metadata !418, metadata !DIExpression()), !dbg !420)
MaybeHandleVariable (ptr %i)
MaybeHandleVariable (!418 = !DILocalVariable(name: "i", scope: !419, file: !6, line: 197, type: !12))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %objectCacheOffset, metadata !423, metadata !DIExpression()), !dbg !426)
MaybeHandleVariable (ptr %objectCacheOffset)
MaybeHandleVariable (!423 = !DILocalVariable(name: "objectCacheOffset", scope: !424, file: !6, line: 199, type: !425))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call120 = call i32 (ptr, ...) @printf(ptr @.str.15, i32 %95, i64 %96) #3, !dbg !427)
MaybeHandleVariable (@.str.15 = private unnamed_addr constant [28 x i8] c"objectCacheOffset[%u] = %u\0A\00", align 1, !dbg !164)
MaybeHandleVariable ( %95 = load i32, ptr %i, align 4, !dbg !427)
MaybeHandleVariable ( %96 = load i64, ptr %objectCacheOffset, align 8, !dbg !427)
MaybeHandleCallArguments( %call130 = call i32 (ptr, ...) @printf(ptr @.str.16) #3, !dbg !433)
MaybeHandleVariable (@.str.16 = private unnamed_addr constant [20 x i8] c"isDuplicate = true\0A\00", align 1, !dbg !166)
MaybeHandleCallArguments( %call137 = call i32 (ptr, ...) @printf(ptr @.str.17) #3, !dbg !441)
MaybeHandleVariable (@.str.17 = private unnamed_addr constant [41 x i8] c"objectCacheOffset == invalidEntryOffset\0A\00", align 1, !dbg !171)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %name, metadata !451, metadata !DIExpression()), !dbg !452)
MaybeHandleVariable (ptr %name)
MaybeHandleVariable (!451 = !DILocalVariable(name: "name", scope: !450, file: !6, line: 217, type: !214))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call150 = call ptr %109(ptr %112) #3, !dbg !452)
MaybeHandleVariable ( %112 = load ptr, ptr %isa149, align 1, !dbg !452)
MaybeHandleCallArguments( %call156 = call i32 (ptr, ...) @printf(ptr @.str.18, i32 %114, ptr %117, ptr %118) #3, !dbg !453)
MaybeHandleVariable (@.str.18 = private unnamed_addr constant [19 x i8] c"[%u] isa = %8p %s\0A\00", align 1, !dbg !176)
MaybeHandleVariable ( %114 = load i32, ptr %idx, align 4, !dbg !453)
MaybeHandleVariable ( %117 = load ptr, ptr %isa155, align 1, !dbg !453)
MaybeHandleVariable ( %118 = load ptr, ptr %name, align 8, !dbg !453)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %s, metadata !456, metadata !DIExpression()), !dbg !457)
MaybeHandleVariable (ptr %s)
MaybeHandleVariable (!456 = !DILocalVariable(name: "s", scope: !450, file: !6, line: 221, type: !214))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %h, metadata !458, metadata !DIExpression()), !dbg !459)
MaybeHandleVariable (ptr %h)
MaybeHandleVariable (!458 = !DILocalVariable(name: "h", scope: !450, file: !6, line: 222, type: !12))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %c, metadata !460, metadata !DIExpression()), !dbg !462)
MaybeHandleVariable (ptr %c)
MaybeHandleVariable (!460 = !DILocalVariable(name: "c", scope: !461, file: !6, line: 223, type: !59))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call173 = call i32 (ptr, ...) @printf(ptr @.str.19) #3, !dbg !479)
MaybeHandleVariable (@.str.19 = private unnamed_addr constant [43 x i8] c"not(class_infos && idx < max_class_infos)\0A\00", align 1, !dbg !178)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %duplicate_count_ptr, metadata !487, metadata !DIExpression()), !dbg !490)
MaybeHandleVariable (ptr %duplicate_count_ptr)
MaybeHandleVariable (!487 = !DILocalVariable(name: "duplicate_count_ptr", scope: !389, file: !6, line: 245, type: !488))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %duplicate_count, metadata !491, metadata !DIExpression()), !dbg !492)
MaybeHandleVariable (ptr %duplicate_count)
MaybeHandleVariable (!491 = !DILocalVariable(name: "duplicate_count", scope: !389, file: !6, line: 246, type: !489))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %duplicateClassOffsets, metadata !493, metadata !DIExpression()), !dbg !494)
MaybeHandleVariable (ptr %duplicateClassOffsets)
MaybeHandleVariable (!493 = !DILocalVariable(name: "duplicateClassOffsets", scope: !389, file: !6, line: 247, type: !74))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call185 = call i32 (ptr, ...) @printf(ptr @.str.20, i32 %142) #3, !dbg !495)
MaybeHandleVariable (@.str.20 = private unnamed_addr constant [22 x i8] c"duplicate_count = %u\0A\00", align 1, !dbg !183)
MaybeHandleVariable ( %142 = load i32, ptr %duplicate_count, align 4, !dbg !495)
MaybeHandleCallArguments( %call189 = call i32 (ptr, ...) @printf(ptr @.str.21, ptr %144) #3, !dbg !498)
MaybeHandleVariable (@.str.21 = private unnamed_addr constant [28 x i8] c"duplicateClassOffsets = %p\0A\00", align 1, !dbg !185)
MaybeHandleVariable ( %144 = load ptr, ptr %duplicateClassOffsets, align 8, !dbg !498)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %i191, metadata !501, metadata !DIExpression()), !dbg !503)
MaybeHandleVariable (ptr %i191)
MaybeHandleVariable (!501 = !DILocalVariable(name: "i", scope: !502, file: !6, line: 252, type: !12))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %objectCacheOffset195, metadata !506, metadata !DIExpression()), !dbg !508)
MaybeHandleVariable (ptr %objectCacheOffset195)
MaybeHandleVariable (!506 = !DILocalVariable(name: "objectCacheOffset", scope: !507, file: !6, line: 254, type: !425))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call203 = call i32 (ptr, ...) @printf(ptr @.str.15, i32 %150, i64 %151) #3, !dbg !509)
MaybeHandleVariable (@.str.15 = private unnamed_addr constant [28 x i8] c"objectCacheOffset[%u] = %u\0A\00", align 1, !dbg !164)
MaybeHandleVariable ( %150 = load i32, ptr %i191, align 4, !dbg !509)
MaybeHandleVariable ( %151 = load i64, ptr %objectCacheOffset195, align 8, !dbg !509)
MaybeHandleCallArguments( %call213 = call i32 (ptr, ...) @printf(ptr @.str.16) #3, !dbg !515)
MaybeHandleVariable (@.str.16 = private unnamed_addr constant [20 x i8] c"isDuplicate = true\0A\00", align 1, !dbg !166)
MaybeHandleCallArguments( %call220 = call i32 (ptr, ...) @printf(ptr @.str.17) #3, !dbg !523)
MaybeHandleVariable (@.str.17 = private unnamed_addr constant [41 x i8] c"objectCacheOffset == invalidEntryOffset\0A\00", align 1, !dbg !171)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %name232, metadata !533, metadata !DIExpression()), !dbg !534)
MaybeHandleVariable (ptr %name232)
MaybeHandleVariable (!533 = !DILocalVariable(name: "name", scope: !532, file: !6, line: 272, type: !214))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call236 = call ptr %164(ptr %167) #3, !dbg !534)
MaybeHandleVariable ( %167 = load ptr, ptr %isa235, align 1, !dbg !534)
MaybeHandleCallArguments( %call242 = call i32 (ptr, ...) @printf(ptr @.str.18, i32 %169, ptr %172, ptr %173) #3, !dbg !535)
MaybeHandleVariable (@.str.18 = private unnamed_addr constant [19 x i8] c"[%u] isa = %8p %s\0A\00", align 1, !dbg !176)
MaybeHandleVariable ( %169 = load i32, ptr %idx, align 4, !dbg !535)
MaybeHandleVariable ( %172 = load ptr, ptr %isa241, align 1, !dbg !535)
MaybeHandleVariable ( %173 = load ptr, ptr %name232, align 8, !dbg !535)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %s244, metadata !538, metadata !DIExpression()), !dbg !539)
MaybeHandleVariable (ptr %s244)
MaybeHandleVariable (!538 = !DILocalVariable(name: "s", scope: !532, file: !6, line: 276, type: !214))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %h245, metadata !540, metadata !DIExpression()), !dbg !541)
MaybeHandleVariable (ptr %h245)
MaybeHandleVariable (!540 = !DILocalVariable(name: "h", scope: !532, file: !6, line: 277, type: !12))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %c246, metadata !542, metadata !DIExpression()), !dbg !544)
MaybeHandleVariable (ptr %c246)
MaybeHandleVariable (!542 = !DILocalVariable(name: "c", scope: !543, file: !6, line: 278, type: !59))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %clsopt275, metadata !567, metadata !DIExpression()), !dbg !569)
MaybeHandleVariable (ptr %clsopt275)
MaybeHandleVariable (!567 = !DILocalVariable(name: "clsopt", scope: !568, file: !6, line: 297, type: !82))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %max_class_infos287, metadata !575, metadata !DIExpression()), !dbg !576)
MaybeHandleVariable (ptr %max_class_infos287)
MaybeHandleVariable (!575 = !DILocalVariable(name: "max_class_infos", scope: !568, file: !6, line: 302, type: !392))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call292 = call i32 (ptr, ...) @printf(ptr @.str.11, i64 %202) #3, !dbg !577)
MaybeHandleVariable (@.str.11 = private unnamed_addr constant [24 x i8] c"max_class_infos = %llu\0A\00", align 1, !dbg !150)
MaybeHandleVariable ( %202 = load i64, ptr %max_class_infos287, align 8, !dbg !577)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %class_infos294, metadata !580, metadata !DIExpression()), !dbg !581)
MaybeHandleVariable (ptr %class_infos294)
MaybeHandleVariable (!580 = !DILocalVariable(name: "class_infos", scope: !568, file: !6, line: 304, type: !63))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %invalidEntryOffset, metadata !582, metadata !DIExpression()), !dbg !583)
MaybeHandleVariable (ptr %invalidEntryOffset)
MaybeHandleVariable (!582 = !DILocalVariable(name: "invalidEntryOffset", scope: !568, file: !6, line: 305, type: !15))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %checkbytes299, metadata !588, metadata !DIExpression()), !dbg !589)
MaybeHandleVariable (ptr %checkbytes299)
MaybeHandleVariable (!588 = !DILocalVariable(name: "checkbytes", scope: !568, file: !6, line: 309, type: !402))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %offsets305, metadata !590, metadata !DIExpression()), !dbg !591)
MaybeHandleVariable (ptr %offsets305)
MaybeHandleVariable (!590 = !DILocalVariable(name: "offsets", scope: !568, file: !6, line: 310, type: !72))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %classOffsets309, metadata !592, metadata !DIExpression()), !dbg !593)
MaybeHandleVariable (ptr %classOffsets309)
MaybeHandleVariable (!592 = !DILocalVariable(name: "classOffsets", scope: !568, file: !6, line: 311, type: !95))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call316 = call i32 (ptr, ...) @printf(ptr @.str.12, i32 %217) #3, !dbg !594)
MaybeHandleVariable (@.str.12 = private unnamed_addr constant [23 x i8] c"clsopt->capacity = %u\0A\00", align 1, !dbg !152)
MaybeHandleVariable ( %217 = load i32, ptr %capacity315, align 8, !dbg !594)
MaybeHandleCallArguments( %call321 = call i32 (ptr, ...) @printf(ptr @.str.13, i32 %220) #3, !dbg !597)
MaybeHandleVariable (@.str.13 = private unnamed_addr constant [24 x i8] c"clsopt->mask = 0x%8.8x\0A\00", align 1, !dbg !157)
MaybeHandleVariable ( %220 = load i32, ptr %mask320, align 4, !dbg !597)
MaybeHandleCallArguments( %call325 = call i32 (ptr, ...) @printf(ptr @.str.14, ptr %222) #3, !dbg !600)
MaybeHandleVariable (@.str.14 = private unnamed_addr constant [19 x i8] c"classOffsets = %p\0A\00", align 1, !dbg !159)
MaybeHandleVariable ( %222 = load ptr, ptr %classOffsets309, align 8, !dbg !600)
MaybeHandleCallArguments( %call329 = call i32 (ptr, ...) @printf(ptr @.str.22, i32 %224) #3, !dbg !603)
MaybeHandleVariable (@.str.22 = private unnamed_addr constant [25 x i8] c"invalidEntryOffset = %d\0A\00", align 1, !dbg !187)
MaybeHandleVariable ( %224 = load i32, ptr %invalidEntryOffset, align 4, !dbg !603)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %i331, metadata !606, metadata !DIExpression()), !dbg !608)
MaybeHandleVariable (ptr %i331)
MaybeHandleVariable (!606 = !DILocalVariable(name: "i", scope: !607, file: !6, line: 316, type: !12))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %clsOffset, metadata !611, metadata !DIExpression()), !dbg !613)
MaybeHandleVariable (ptr %clsOffset)
MaybeHandleVariable (!611 = !DILocalVariable(name: "clsOffset", scope: !612, file: !6, line: 318, type: !73))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call341 = call i32 (ptr, ...) @printf(ptr @.str.23, i32 %232, i32 %233) #3, !dbg !614)
MaybeHandleVariable (@.str.23 = private unnamed_addr constant [20 x i8] c"clsOffset[%u] = %u\0A\00", align 1, !dbg !192)
MaybeHandleVariable ( %232 = load i32, ptr %i331, align 4, !dbg !614)
MaybeHandleVariable ( %233 = load i32, ptr %clsOffset, align 4, !dbg !614)
MaybeHandleCallArguments( %call347 = call i32 (ptr, ...) @printf(ptr @.str.24) #3, !dbg !620)
MaybeHandleVariable (@.str.24 = private unnamed_addr constant [15 x i8] c"clsOffset & 1\0A\00", align 1, !dbg !194)
MaybeHandleCallArguments( %call354 = call i32 (ptr, ...) @printf(ptr @.str.25) #3, !dbg !628)
MaybeHandleVariable (@.str.25 = private unnamed_addr constant [33 x i8] c"clsOffset == invalidEntryOffset\0A\00", align 1, !dbg !199)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %name368, metadata !638, metadata !DIExpression()), !dbg !639)
MaybeHandleVariable (ptr %name368)
MaybeHandleVariable (!638 = !DILocalVariable(name: "name", scope: !637, file: !6, line: 334, type: !214))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call372 = call ptr %246(ptr %249) #3, !dbg !639)
MaybeHandleVariable ( %249 = load ptr, ptr %isa371, align 1, !dbg !639)
MaybeHandleCallArguments( %call378 = call i32 (ptr, ...) @printf(ptr @.str.18, i32 %251, ptr %254, ptr %255) #3, !dbg !640)
MaybeHandleVariable (@.str.18 = private unnamed_addr constant [19 x i8] c"[%u] isa = %8p %s\0A\00", align 1, !dbg !176)
MaybeHandleVariable ( %251 = load i32, ptr %idx, align 4, !dbg !640)
MaybeHandleVariable ( %254 = load ptr, ptr %isa377, align 1, !dbg !640)
MaybeHandleVariable ( %255 = load ptr, ptr %name368, align 8, !dbg !640)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %s380, metadata !643, metadata !DIExpression()), !dbg !644)
MaybeHandleVariable (ptr %s380)
MaybeHandleVariable (!643 = !DILocalVariable(name: "s", scope: !637, file: !6, line: 337, type: !214))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %h381, metadata !645, metadata !DIExpression()), !dbg !646)
MaybeHandleVariable (ptr %h381)
MaybeHandleVariable (!645 = !DILocalVariable(name: "h", scope: !637, file: !6, line: 338, type: !12))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %c382, metadata !647, metadata !DIExpression()), !dbg !649)
MaybeHandleVariable (ptr %c382)
MaybeHandleVariable (!647 = !DILocalVariable(name: "c", scope: !648, file: !6, line: 339, type: !59))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call403 = call i32 (ptr, ...) @printf(ptr @.str.19) #3, !dbg !665)
MaybeHandleVariable (@.str.19 = private unnamed_addr constant [43 x i8] c"not(class_infos && idx < max_class_infos)\0A\00", align 1, !dbg !178)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %duplicate_count_ptr410, metadata !673, metadata !DIExpression()), !dbg !674)
MaybeHandleVariable (ptr %duplicate_count_ptr410)
MaybeHandleVariable (!673 = !DILocalVariable(name: "duplicate_count_ptr", scope: !568, file: !6, line: 361, type: !488))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %duplicate_count414, metadata !675, metadata !DIExpression()), !dbg !676)
MaybeHandleVariable (ptr %duplicate_count414)
MaybeHandleVariable (!675 = !DILocalVariable(name: "duplicate_count", scope: !568, file: !6, line: 362, type: !489))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %duplicateClassOffsets415, metadata !677, metadata !DIExpression()), !dbg !678)
MaybeHandleVariable (ptr %duplicateClassOffsets415)
MaybeHandleVariable (!677 = !DILocalVariable(name: "duplicateClassOffsets", scope: !568, file: !6, line: 363, type: !95))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call419 = call i32 (ptr, ...) @printf(ptr @.str.20, i32 %279) #3, !dbg !679)
MaybeHandleVariable (@.str.20 = private unnamed_addr constant [22 x i8] c"duplicate_count = %u\0A\00", align 1, !dbg !183)
MaybeHandleVariable ( %279 = load i32, ptr %duplicate_count414, align 4, !dbg !679)
MaybeHandleCallArguments( %call423 = call i32 (ptr, ...) @printf(ptr @.str.21, ptr %281) #3, !dbg !682)
MaybeHandleVariable (@.str.21 = private unnamed_addr constant [28 x i8] c"duplicateClassOffsets = %p\0A\00", align 1, !dbg !185)
MaybeHandleVariable ( %281 = load ptr, ptr %duplicateClassOffsets415, align 8, !dbg !682)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %i425, metadata !685, metadata !DIExpression()), !dbg !687)
MaybeHandleVariable (ptr %i425)
MaybeHandleVariable (!685 = !DILocalVariable(name: "i", scope: !686, file: !6, line: 366, type: !12))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %clsOffset429, metadata !690, metadata !DIExpression()), !dbg !692)
MaybeHandleVariable (ptr %clsOffset429)
MaybeHandleVariable (!690 = !DILocalVariable(name: "clsOffset", scope: !691, file: !6, line: 368, type: !73))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %name451, metadata !706, metadata !DIExpression()), !dbg !707)
MaybeHandleVariable (ptr %name451)
MaybeHandleVariable (!706 = !DILocalVariable(name: "name", scope: !705, file: !6, line: 377, type: !214))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call455 = call ptr %297(ptr %300) #3, !dbg !707)
MaybeHandleVariable ( %300 = load ptr, ptr %isa454, align 1, !dbg !707)
MaybeHandleCallArguments( %call461 = call i32 (ptr, ...) @printf(ptr @.str.18, i32 %302, ptr %305, ptr %306) #3, !dbg !708)
MaybeHandleVariable (@.str.18 = private unnamed_addr constant [19 x i8] c"[%u] isa = %8p %s\0A\00", align 1, !dbg !176)
MaybeHandleVariable ( %302 = load i32, ptr %idx, align 4, !dbg !708)
MaybeHandleVariable ( %305 = load ptr, ptr %isa460, align 1, !dbg !708)
MaybeHandleVariable ( %306 = load ptr, ptr %name451, align 8, !dbg !708)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %s463, metadata !711, metadata !DIExpression()), !dbg !712)
MaybeHandleVariable (ptr %s463)
MaybeHandleVariable (!711 = !DILocalVariable(name: "s", scope: !705, file: !6, line: 380, type: !214))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %h464, metadata !713, metadata !DIExpression()), !dbg !714)
MaybeHandleVariable (ptr %h464)
MaybeHandleVariable (!713 = !DILocalVariable(name: "h", scope: !705, file: !6, line: 381, type: !12))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %c465, metadata !715, metadata !DIExpression()), !dbg !717)
MaybeHandleVariable (ptr %c465)
MaybeHandleVariable (!715 = !DILocalVariable(name: "c", scope: !716, file: !6, line: 382, type: !59))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call492 = call i32 (ptr, ...) @printf(ptr @.str.26, i32 %323) #3, !dbg !738)
MaybeHandleVariable (@.str.26 = private unnamed_addr constant [16 x i8] c"%u class_infos\0A\00", align 1, !dbg !201)
MaybeHandleVariable ( %323 = load i32, ptr %idx, align 4, !dbg !738)
MaybeHandleCallArguments( %call496 = call i32 (ptr, ...) @printf(ptr @.str.27) #3, !dbg !741)
MaybeHandleVariable (@.str.27 = private unnamed_addr constant [6 x i8] c"done\0A\00", align 1, !dbg !206)
Examining class_name_lookup_func, DeclForGlobalValue returns 0x0000000134D50C70
MaybeHandleVariable (@class_name_lookup_func = global ptr @objc_debug_class_getNameRaw, align 8, !dbg !0)
Type of "class_name_lookup_func" is [clang "const char *(*)(void *)", llvm "ptr"] [size 8, align 8]
Examining .str, DeclForGlobalValue returns 0x0000000000000000
Examining .str.1, DeclForGlobalValue returns 0x0000000000000000
Examining .str.2, DeclForGlobalValue returns 0x0000000000000000
Examining .str.3, DeclForGlobalValue returns 0x0000000000000000
Examining .str.4, DeclForGlobalValue returns 0x0000000000000000
Examining .str.5, DeclForGlobalValue returns 0x0000000000000000
Examining .str.6, DeclForGlobalValue returns 0x0000000000000000
Examining .str.7, DeclForGlobalValue returns 0x0000000000000000
Examining .str.8, DeclForGlobalValue returns 0x0000000000000000
Examining .str.9, DeclForGlobalValue returns 0x0000000000000000
Examining .str.10, DeclForGlobalValue returns 0x0000000000000000
Examining .str.11, DeclForGlobalValue returns 0x0000000000000000
Examining .str.12, DeclForGlobalValue returns 0x0000000000000000
Examining .str.13, DeclForGlobalValue returns 0x0000000000000000
Examining .str.14, DeclForGlobalValue returns 0x0000000000000000
Examining .str.15, DeclForGlobalValue returns 0x0000000000000000
Examining .str.16, DeclForGlobalValue returns 0x0000000000000000
Examining .str.17, DeclForGlobalValue returns 0x0000000000000000
Examining .str.18, DeclForGlobalValue returns 0x0000000000000000
Examining .str.19, DeclForGlobalValue returns 0x0000000000000000
Examining .str.20, DeclForGlobalValue returns 0x0000000000000000
Examining .str.21, DeclForGlobalValue returns 0x0000000000000000
Examining .str.22, DeclForGlobalValue returns 0x0000000000000000
Examining .str.23, DeclForGlobalValue returns 0x0000000000000000
Examining .str.24, DeclForGlobalValue returns 0x0000000000000000
Examining .str.25, DeclForGlobalValue returns 0x0000000000000000
Examining .str.26, DeclForGlobalValue returns 0x0000000000000000
Examining .str.27, DeclForGlobalValue returns 0x0000000000000000
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000
Module being sent to JIT:
; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.objc_opt_t = type { i32, i32, i32, i32 }
%struct.objc_opt_v16_t = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64 }
%struct.objc_opt_v14_t = type { i32, i32, i32, i32, i32 }
%struct.objc_clsopt_v16_t = type { i32, i32, i32, i32, i32, i32, i64, [256 x i32], [0 x i8] }
%struct.objc_classheader_v16_t = type { i64 }
%struct.ClassInfo = type <{ ptr, i32 }>
%struct.objc_clsopt_t = type { i32, i32, i32, i32, i32, i32, i64, [256 x i32], [0 x i8] }
%struct.objc_classheader_t = type { i32, i32 }
@class_name_lookup_func = global ptr @objc_debug_class_getNameRaw, align 8, !dbg !0
@.str = private unnamed_addr constant [22 x i8] c"objc_opt_ro_ptr = %p\0A\00", align 1, !dbg !102
@.str.1 = private unnamed_addr constant [28 x i8] c"shared_cache_base_ptr = %p\0A\00", align 1, !dbg !109
@.str.2 = private unnamed_addr constant [22 x i8] c"class_infos_ptr = %p\0A\00", align 1, !dbg !114
@.str.3 = private unnamed_addr constant [47 x i8] c"class_infos_byte_size = %u (%llu class infos)\0A\00", align 1, !dbg !116
@.str.4 = private unnamed_addr constant [24 x i8] c"objc_opt->version = %u\0A\00", align 1, !dbg !121
@.str.5 = private unnamed_addr constant [22 x i8] c"objc_opt->flags = %u\0A\00", align 1, !dbg !126
@.str.6 = private unnamed_addr constant [30 x i8] c"objc_opt->selopt_offset = %d\0A\00", align 1, !dbg !128
@.str.7 = private unnamed_addr constant [36 x i8] c"objc_opt->headeropt_ro_offset = %d\0A\00", align 1, !dbg !133
@.str.8 = private unnamed_addr constant [61 x i8] c"objc_opt->relativeMethodSelectorBaseAddressCacheOffset = %d\0A\00", align 1, !dbg !138
@.str.9 = private unnamed_addr constant [33 x i8] c"objc_opt->headeropt_offset = %d\0A\00", align 1, !dbg !143
@.str.10 = private unnamed_addr constant [30 x i8] c"objc_opt->clsopt_offset = %d\0A\00", align 1, !dbg !148
@.str.11 = private unnamed_addr constant [24 x i8] c"max_class_infos = %llu\0A\00", align 1, !dbg !150
@.str.12 = private unnamed_addr constant [23 x i8] c"clsopt->capacity = %u\0A\00", align 1, !dbg !152
@.str.13 = private unnamed_addr constant [24 x i8] c"clsopt->mask = 0x%8.8x\0A\00", align 1, !dbg !157
@.str.14 = private unnamed_addr constant [19 x i8] c"classOffsets = %p\0A\00", align 1, !dbg !159
@.str.15 = private unnamed_addr constant [28 x i8] c"objectCacheOffset[%u] = %u\0A\00", align 1, !dbg !164
@.str.16 = private unnamed_addr constant [20 x i8] c"isDuplicate = true\0A\00", align 1, !dbg !166
@.str.17 = private unnamed_addr constant [41 x i8] c"objectCacheOffset == invalidEntryOffset\0A\00", align 1, !dbg !171
@.str.18 = private unnamed_addr constant [19 x i8] c"[%u] isa = %8p %s\0A\00", align 1, !dbg !176
@.str.19 = private unnamed_addr constant [43 x i8] c"not(class_infos && idx < max_class_infos)\0A\00", align 1, !dbg !178
@.str.20 = private unnamed_addr constant [22 x i8] c"duplicate_count = %u\0A\00", align 1, !dbg !183
@.str.21 = private unnamed_addr constant [28 x i8] c"duplicateClassOffsets = %p\0A\00", align 1, !dbg !185
@.str.22 = private unnamed_addr constant [25 x i8] c"invalidEntryOffset = %d\0A\00", align 1, !dbg !187
@.str.23 = private unnamed_addr constant [20 x i8] c"clsOffset[%u] = %u\0A\00", align 1, !dbg !192
@.str.24 = private unnamed_addr constant [15 x i8] c"clsOffset & 1\0A\00", align 1, !dbg !194
@.str.25 = private unnamed_addr constant [33 x i8] c"clsOffset == invalidEntryOffset\0A\00", align 1, !dbg !199
@.str.26 = private unnamed_addr constant [16 x i8] c"%u class_infos\0A\00", align 1, !dbg !201
@.str.27 = private unnamed_addr constant [6 x i8] c"done\0A\00", align 1, !dbg !206
@reloc_placeholder = internal global i8 0
; Function Attrs: convergent
declare ptr @objc_debug_class_getNameRaw(ptr) #0
; Function Attrs: convergent mustprogress noinline nounwind optnone
define i32 @_Z48__lldb_apple_objc_v2_get_shared_cache_class_infoPvS_S_Pyjj(ptr %objc_opt_ro_ptr, ptr %shared_cache_base_ptr, ptr %class_infos_ptr, ptr %relative_selector_offset, i32 %class_infos_byte_size, i32 %should_log) #1 !dbg !230 {
entry:
%objc_opt_ro_ptr.addr = alloca ptr, align 8, !clang.decl.ptr !235
%shared_cache_base_ptr.addr = alloca ptr, align 8, !clang.decl.ptr !236
%class_infos_ptr.addr = alloca ptr, align 8, !clang.decl.ptr !237
%relative_selector_offset.addr = alloca ptr, align 8, !clang.decl.ptr !238
%class_infos_byte_size.addr = alloca i32, align 4, !clang.decl.ptr !239
%should_log.addr = alloca i32, align 4, !clang.decl.ptr !240
%idx = alloca i32, align 4, !clang.decl.ptr !241
%objc_opt = alloca ptr, align 8, !clang.decl.ptr !242
%objc_opt_v14 = alloca ptr, align 8, !clang.decl.ptr !243
%objc_opt_v16 = alloca ptr, align 8, !clang.decl.ptr !244
%clsopt = alloca ptr, align 8, !clang.decl.ptr !245
%max_class_infos = alloca i64, align 8, !clang.decl.ptr !246
%class_infos = alloca ptr, align 8, !clang.decl.ptr !247
%checkbytes = alloca ptr, align 8, !clang.decl.ptr !248
%offsets = alloca ptr, align 8, !clang.decl.ptr !249
%classOffsets = alloca ptr, align 8, !clang.decl.ptr !250
%i = alloca i32, align 4, !clang.decl.ptr !251
%objectCacheOffset = alloca i64, align 8, !clang.decl.ptr !252
%name = alloca ptr, align 8, !clang.decl.ptr !253
%s = alloca ptr, align 8, !clang.decl.ptr !254
%h = alloca i32, align 4, !clang.decl.ptr !255
%c = alloca i8, align 1, !clang.decl.ptr !256
%duplicate_count_ptr = alloca ptr, align 8, !clang.decl.ptr !257
%duplicate_count = alloca i32, align 4, !clang.decl.ptr !258
%duplicateClassOffsets = alloca ptr, align 8, !clang.decl.ptr !259
%i191 = alloca i32, align 4, !clang.decl.ptr !260
%objectCacheOffset195 = alloca i64, align 8, !clang.decl.ptr !261
%name232 = alloca ptr, align 8, !clang.decl.ptr !262
%s244 = alloca ptr, align 8, !clang.decl.ptr !263
%h245 = alloca i32, align 4, !clang.decl.ptr !264
%c246 = alloca i8, align 1, !clang.decl.ptr !265
%clsopt275 = alloca ptr, align 8, !clang.decl.ptr !266
%max_class_infos287 = alloca i64, align 8, !clang.decl.ptr !267
%class_infos294 = alloca ptr, align 8, !clang.decl.ptr !268
%invalidEntryOffset = alloca i32, align 4, !clang.decl.ptr !269
%checkbytes299 = alloca ptr, align 8, !clang.decl.ptr !270
%offsets305 = alloca ptr, align 8, !clang.decl.ptr !271
%classOffsets309 = alloca ptr, align 8, !clang.decl.ptr !272
%i331 = alloca i32, align 4, !clang.decl.ptr !273
%clsOffset = alloca i32, align 4, !clang.decl.ptr !274
%name368 = alloca ptr, align 8, !clang.decl.ptr !275
%s380 = alloca ptr, align 8, !clang.decl.ptr !276
%h381 = alloca i32, align 4, !clang.decl.ptr !277
%c382 = alloca i8, align 1, !clang.decl.ptr !278
%duplicate_count_ptr410 = alloca ptr, align 8, !clang.decl.ptr !279
%duplicate_count414 = alloca i32, align 4, !clang.decl.ptr !280
%duplicateClassOffsets415 = alloca ptr, align 8, !clang.decl.ptr !281
%i425 = alloca i32, align 4, !clang.decl.ptr !282
%clsOffset429 = alloca i32, align 4, !clang.decl.ptr !283
%name451 = alloca ptr, align 8, !clang.decl.ptr !284
%s463 = alloca ptr, align 8, !clang.decl.ptr !285
%h464 = alloca i32, align 4, !clang.decl.ptr !286
%c465 = alloca i8, align 1, !clang.decl.ptr !287
store ptr %objc_opt_ro_ptr, ptr %objc_opt_ro_ptr.addr, align 8
call void @llvm.dbg.declare(metadata ptr %objc_opt_ro_ptr.addr, metadata !288, metadata !DIExpression()), !dbg !289
store ptr %shared_cache_base_ptr, ptr %shared_cache_base_ptr.addr, align 8
call void @llvm.dbg.declare(metadata ptr %shared_cache_base_ptr.addr, metadata !290, metadata !DIExpression()), !dbg !291
store ptr %class_infos_ptr, ptr %class_infos_ptr.addr, align 8
call void @llvm.dbg.declare(metadata ptr %class_infos_ptr.addr, metadata !292, metadata !DIExpression()), !dbg !293
store ptr %relative_selector_offset, ptr %relative_selector_offset.addr, align 8
call void @llvm.dbg.declare(metadata ptr %relative_selector_offset.addr, metadata !294, metadata !DIExpression()), !dbg !295
store i32 %class_infos_byte_size, ptr %class_infos_byte_size.addr, align 4
call void @llvm.dbg.declare(metadata ptr %class_infos_byte_size.addr, metadata !296, metadata !DIExpression()), !dbg !297
store i32 %should_log, ptr %should_log.addr, align 4
call void @llvm.dbg.declare(metadata ptr %should_log.addr, metadata !298, metadata !DIExpression()), !dbg !299
%0 = load ptr, ptr %relative_selector_offset.addr, align 8, !dbg !300
store i64 0, ptr %0, align 8, !dbg !300
call void @llvm.dbg.declare(metadata ptr %idx, metadata !301, metadata !DIExpression()), !dbg !302
store i32 0, ptr %idx, align 4, !dbg !302
%1 = load i32, ptr %should_log.addr, align 4, !dbg !303
%tobool = icmp ne i32 %1, 0, !dbg !303
br i1 %tobool, label %if.then, label %if.end, !dbg !305
if.then: ; preds = %entry
%2 = load ptr, ptr %objc_opt_ro_ptr.addr, align 8, !dbg !303
%call = call i32 (ptr, ...) @printf(ptr @.str, ptr %2) #3, !dbg !303
br label %if.end, !dbg !303
if.end: ; preds = %if.then, %entry
%3 = load i32, ptr %should_log.addr, align 4, !dbg !306
%tobool1 = icmp ne i32 %3, 0, !dbg !306
br i1 %tobool1, label %if.then2, label %if.end4, !dbg !308
if.then2: ; preds = %if.end
%4 = load ptr, ptr %shared_cache_base_ptr.addr, align 8, !dbg !306
%call3 = call i32 (ptr, ...) @printf(ptr @.str.1, ptr %4) #3, !dbg !306
br label %if.end4, !dbg !306
if.end4: ; preds = %if.then2, %if.end
%5 = load i32, ptr %should_log.addr, align 4, !dbg !309
%tobool5 = icmp ne i32 %5, 0, !dbg !309
br i1 %tobool5, label %if.then6, label %if.end8, !dbg !311
if.then6: ; preds = %if.end4
%6 = load ptr, ptr %class_infos_ptr.addr, align 8, !dbg !309
%call7 = call i32 (ptr, ...) @printf(ptr @.str.2, ptr %6) #3, !dbg !309
br label %if.end8, !dbg !309
if.end8: ; preds = %if.then6, %if.end4
%7 = load i32, ptr %should_log.addr, align 4, !dbg !312
%tobool9 = icmp ne i32 %7, 0, !dbg !312
br i1 %tobool9, label %if.then10, label %if.end12, !dbg !314
if.then10: ; preds = %if.end8
%8 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !312
%9 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !312
%conv = zext i32 %9 to i64, !dbg !312
%div = udiv i64 %conv, 12, !dbg !312
%call11 = call i32 (ptr, ...) @printf(ptr @.str.3, i32 %8, i64 %div) #3, !dbg !312
br label %if.end12, !dbg !312
if.end12: ; preds = %if.then10, %if.end8
%10 = load ptr, ptr %objc_opt_ro_ptr.addr, align 8, !dbg !315
%tobool13 = icmp ne ptr %10, null, !dbg !315
br i1 %tobool13, label %if.then14, label %if.end498, !dbg !317
if.then14: ; preds = %if.end12
call void @llvm.dbg.declare(metadata ptr %objc_opt, metadata !318, metadata !DIExpression()), !dbg !322
%11 = load ptr, ptr %objc_opt_ro_ptr.addr, align 8, !dbg !322
store ptr %11, ptr %objc_opt, align 8, !dbg !322
call void @llvm.dbg.declare(metadata ptr %objc_opt_v14, metadata !323, metadata !DIExpression()), !dbg !326
%12 = load ptr, ptr %objc_opt_ro_ptr.addr, align 8, !dbg !326
store ptr %12, ptr %objc_opt_v14, align 8, !dbg !326
call void @llvm.dbg.declare(metadata ptr %objc_opt_v16, metadata !327, metadata !DIExpression()), !dbg !330
%13 = load ptr, ptr %objc_opt_ro_ptr.addr, align 8, !dbg !330
store ptr %13, ptr %objc_opt_v16, align 8, !dbg !330
%14 = load ptr, ptr %objc_opt, align 8, !dbg !331
%version = getelementptr inbounds %struct.objc_opt_t, ptr %14, i32 0, i32 0, !dbg !331
%15 = load i32, ptr %version, align 4, !dbg !331
%cmp = icmp uge i32 %15, 16, !dbg !331
br i1 %cmp, label %if.then15, label %if.else, !dbg !333
if.then15: ; preds = %if.then14
%16 = load ptr, ptr %objc_opt_v16, align 8, !dbg !334
%relativeMethodSelectorBaseAddressCacheOffset = getelementptr inbounds %struct.objc_opt_v16_t, ptr %16, i32 0, i32 10, !dbg !334
%17 = load i64, ptr %relativeMethodSelectorBaseAddressCacheOffset, align 8, !dbg !334
%18 = load ptr, ptr %relative_selector_offset.addr, align 8, !dbg !334
store i64 %17, ptr %18, align 8, !dbg !334
%19 = load i32, ptr %should_log.addr, align 4, !dbg !336
%tobool16 = icmp ne i32 %19, 0, !dbg !336
br i1 %tobool16, label %if.then17, label %if.end20, !dbg !338
if.then17: ; preds = %if.then15
%20 = load ptr, ptr %objc_opt_v16, align 8, !dbg !336
%version18 = getelementptr inbounds %struct.objc_opt_v16_t, ptr %20, i32 0, i32 0, !dbg !336
%21 = load i32, ptr %version18, align 8, !dbg !336
%call19 = call i32 (ptr, ...) @printf(ptr @.str.4, i32 %21) #3, !dbg !336
br label %if.end20, !dbg !336
if.end20: ; preds = %if.then17, %if.then15
%22 = load i32, ptr %should_log.addr, align 4, !dbg !339
%tobool21 = icmp ne i32 %22, 0, !dbg !339
br i1 %tobool21, label %if.then22, label %if.end24, !dbg !341
if.then22: ; preds = %if.end20
%23 = load ptr, ptr %objc_opt_v16, align 8, !dbg !339
%flags = getelementptr inbounds %struct.objc_opt_v16_t, ptr %23, i32 0, i32 1, !dbg !339
%24 = load i32, ptr %flags, align 4, !dbg !339
%call23 = call i32 (ptr, ...) @printf(ptr @.str.5, i32 %24) #3, !dbg !339
br label %if.end24, !dbg !339
if.end24: ; preds = %if.then22, %if.end20
%25 = load i32, ptr %should_log.addr, align 4, !dbg !342
%tobool25 = icmp ne i32 %25, 0, !dbg !342
br i1 %tobool25, label %if.then26, label %if.end28, !dbg !344
if.then26: ; preds = %if.end24
%26 = load ptr, ptr %objc_opt_v16, align 8, !dbg !342
%selopt_offset = getelementptr inbounds %struct.objc_opt_v16_t, ptr %26, i32 0, i32 2, !dbg !342
%27 = load i32, ptr %selopt_offset, align 8, !dbg !342
%call27 = call i32 (ptr, ...) @printf(ptr @.str.6, i32 %27) #3, !dbg !342
br label %if.end28, !dbg !342
if.end28: ; preds = %if.then26, %if.end24
%28 = load i32, ptr %should_log.addr, align 4, !dbg !345
%tobool29 = icmp ne i32 %28, 0, !dbg !345
br i1 %tobool29, label %if.then30, label %if.end32, !dbg !347
if.then30: ; preds = %if.end28
%29 = load ptr, ptr %objc_opt_v16, align 8, !dbg !345
%headeropt_ro_offset = getelementptr inbounds %struct.objc_opt_v16_t, ptr %29, i32 0, i32 3, !dbg !345
%30 = load i32, ptr %headeropt_ro_offset, align 4, !dbg !345
%call31 = call i32 (ptr, ...) @printf(ptr @.str.7, i32 %30) #3, !dbg !345
br label %if.end32, !dbg !345
if.end32: ; preds = %if.then30, %if.end28
%31 = load i32, ptr %should_log.addr, align 4, !dbg !348
%tobool33 = icmp ne i32 %31, 0, !dbg !348
br i1 %tobool33, label %if.then34, label %if.end36, !dbg !350
if.then34: ; preds = %if.end32
%32 = load ptr, ptr %relative_selector_offset.addr, align 8, !dbg !348
%33 = load i64, ptr %32, align 8, !dbg !348
%call35 = call i32 (ptr, ...) @printf(ptr @.str.8, i64 %33) #3, !dbg !348
br label %if.end36, !dbg !348
if.end36: ; preds = %if.then34, %if.end32
br label %if.end85, !dbg !351
if.else: ; preds = %if.then14
%34 = load ptr, ptr %objc_opt, align 8, !dbg !352
%version37 = getelementptr inbounds %struct.objc_opt_t, ptr %34, i32 0, i32 0, !dbg !352
%35 = load i32, ptr %version37, align 4, !dbg !352
%cmp38 = icmp uge i32 %35, 14, !dbg !352
br i1 %cmp38, label %if.then39, label %if.else63, !dbg !354
if.then39: ; preds = %if.else
%36 = load i32, ptr %should_log.addr, align 4, !dbg !355
%tobool40 = icmp ne i32 %36, 0, !dbg !355
br i1 %tobool40, label %if.then41, label %if.end44, !dbg !358
if.then41: ; preds = %if.then39
%37 = load ptr, ptr %objc_opt_v14, align 8, !dbg !355
%version42 = getelementptr inbounds %struct.objc_opt_v14_t, ptr %37, i32 0, i32 0, !dbg !355
%38 = load i32, ptr %version42, align 4, !dbg !355
%call43 = call i32 (ptr, ...) @printf(ptr @.str.4, i32 %38) #3, !dbg !355
br label %if.end44, !dbg !355
if.end44: ; preds = %if.then41, %if.then39
%39 = load i32, ptr %should_log.addr, align 4, !dbg !359
%tobool45 = icmp ne i32 %39, 0, !dbg !359
br i1 %tobool45, label %if.then46, label %if.end49, !dbg !361
if.then46: ; preds = %if.end44
%40 = load ptr, ptr %objc_opt_v14, align 8, !dbg !359
%flags47 = getelementptr inbounds %struct.objc_opt_v14_t, ptr %40, i32 0, i32 1, !dbg !359
%41 = load i32, ptr %flags47, align 4, !dbg !359
%call48 = call i32 (ptr, ...) @printf(ptr @.str.5, i32 %41) #3, !dbg !359
br label %if.end49, !dbg !359
if.end49: ; preds = %if.then46, %if.end44
%42 = load i32, ptr %should_log.addr, align 4, !dbg !362
%tobool50 = icmp ne i32 %42, 0, !dbg !362
br i1 %tobool50, label %if.then51, label %if.end54, !dbg !364
if.then51: ; preds = %if.end49
%43 = load ptr, ptr %objc_opt_v14, align 8, !dbg !362
%selopt_offset52 = getelementptr inbounds %struct.objc_opt_v14_t, ptr %43, i32 0, i32 2, !dbg !362
%44 = load i32, ptr %selopt_offset52, align 4, !dbg !362
%call53 = call i32 (ptr, ...) @printf(ptr @.str.6, i32 %44) #3, !dbg !362
br label %if.end54, !dbg !362
if.end54: ; preds = %if.then51, %if.end49
%45 = load i32, ptr %should_log.addr, align 4, !dbg !365
%tobool55 = icmp ne i32 %45, 0, !dbg !365
br i1 %tobool55, label %if.then56, label %if.end58, !dbg !367
if.then56: ; preds = %if.end54
%46 = load ptr, ptr %objc_opt_v14, align 8, !dbg !365
%headeropt_offset = getelementptr inbounds %struct.objc_opt_v14_t, ptr %46, i32 0, i32 3, !dbg !365
%47 = load i32, ptr %headeropt_offset, align 4, !dbg !365
%call57 = call i32 (ptr, ...) @printf(ptr @.str.9, i32 %47) #3, !dbg !365
br label %if.end58, !dbg !365
if.end58: ; preds = %if.then56, %if.end54
%48 = load i32, ptr %should_log.addr, align 4, !dbg !368
%tobool59 = icmp ne i32 %48, 0, !dbg !368
br i1 %tobool59, label %if.then60, label %if.end62, !dbg !370
if.then60: ; preds = %if.end58
%49 = load ptr, ptr %objc_opt_v14, align 8, !dbg !368
%clsopt_offset = getelementptr inbounds %struct.objc_opt_v14_t, ptr %49, i32 0, i32 4, !dbg !368
%50 = load i32, ptr %clsopt_offset, align 4, !dbg !368
%call61 = call i32 (ptr, ...) @printf(ptr @.str.10, i32 %50) #3, !dbg !368
br label %if.end62, !dbg !368
if.end62: ; preds = %if.then60, %if.end58
br label %if.end84, !dbg !371
if.else63: ; preds = %if.else
%51 = load i32, ptr %should_log.addr, align 4, !dbg !372
%tobool64 = icmp ne i32 %51, 0, !dbg !372
br i1 %tobool64, label %if.then65, label %if.end68, !dbg !375
if.then65: ; preds = %if.else63
%52 = load ptr, ptr %objc_opt, align 8, !dbg !372
%version66 = getelementptr inbounds %struct.objc_opt_t, ptr %52, i32 0, i32 0, !dbg !372
%53 = load i32, ptr %version66, align 4, !dbg !372
%call67 = call i32 (ptr, ...) @printf(ptr @.str.4, i32 %53) #3, !dbg !372
br label %if.end68, !dbg !372
if.end68: ; preds = %if.then65, %if.else63
%54 = load i32, ptr %should_log.addr, align 4, !dbg !376
%tobool69 = icmp ne i32 %54, 0, !dbg !376
br i1 %tobool69, label %if.then70, label %if.end73, !dbg !378
if.then70: ; preds = %if.end68
%55 = load ptr, ptr %objc_opt, align 8, !dbg !376
%selopt_offset71 = getelementptr inbounds %struct.objc_opt_t, ptr %55, i32 0, i32 1, !dbg !376
%56 = load i32, ptr %selopt_offset71, align 4, !dbg !376
%call72 = call i32 (ptr, ...) @printf(ptr @.str.6, i32 %56) #3, !dbg !376
br label %if.end73, !dbg !376
if.end73: ; preds = %if.then70, %if.end68
%57 = load i32, ptr %should_log.addr, align 4, !dbg !379
%tobool74 = icmp ne i32 %57, 0, !dbg !379
br i1 %tobool74, label %if.then75, label %if.end78, !dbg !381
if.then75: ; preds = %if.end73
%58 = load ptr, ptr %objc_opt, align 8, !dbg !379
%headeropt_offset76 = getelementptr inbounds %struct.objc_opt_t, ptr %58, i32 0, i32 2, !dbg !379
%59 = load i32, ptr %headeropt_offset76, align 4, !dbg !379
%call77 = call i32 (ptr, ...) @printf(ptr @.str.9, i32 %59) #3, !dbg !379
br label %if.end78, !dbg !379
if.end78: ; preds = %if.then75, %if.end73
%60 = load i32, ptr %should_log.addr, align 4, !dbg !382
%tobool79 = icmp ne i32 %60, 0, !dbg !382
br i1 %tobool79, label %if.then80, label %if.end83, !dbg !384
if.then80: ; preds = %if.end78
%61 = load ptr, ptr %objc_opt, align 8, !dbg !382
%clsopt_offset81 = getelementptr inbounds %struct.objc_opt_t, ptr %61, i32 0, i32 3, !dbg !382
%62 = load i32, ptr %clsopt_offset81, align 4, !dbg !382
%call82 = call i32 (ptr, ...) @printf(ptr @.str.10, i32 %62) #3, !dbg !382
br label %if.end83, !dbg !382
if.end83: ; preds = %if.then80, %if.end78
br label %if.end84
if.end84: ; preds = %if.end83, %if.end62
br label %if.end85
if.end85: ; preds = %if.end84, %if.end36
%63 = load ptr, ptr %objc_opt, align 8, !dbg !385
%version86 = getelementptr inbounds %struct.objc_opt_t, ptr %63, i32 0, i32 0, !dbg !385
%64 = load i32, ptr %version86, align 4, !dbg !385
%cmp87 = icmp eq i32 %64, 16, !dbg !385
br i1 %cmp87, label %if.then88, label %if.else268, !dbg !387
if.then88: ; preds = %if.end85
call void @llvm.dbg.declare(metadata ptr %clsopt, metadata !388, metadata !DIExpression()), !dbg !390
%65 = load ptr, ptr %objc_opt, align 8, !dbg !390
%66 = load ptr, ptr %objc_opt_v16, align 8, !dbg !390
%largeSharedCachesClassOffset = getelementptr inbounds %struct.objc_opt_v16_t, ptr %66, i32 0, i32 8, !dbg !390
%67 = load i32, ptr %largeSharedCachesClassOffset, align 8, !dbg !390
%idx.ext = sext i32 %67 to i64, !dbg !390
%add.ptr = getelementptr inbounds i8, ptr %65, i64 %idx.ext, !dbg !390
store ptr %add.ptr, ptr %clsopt, align 8, !dbg !390
call void @llvm.dbg.declare(metadata ptr %max_class_infos, metadata !391, metadata !DIExpression()), !dbg !395
%68 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !395
%conv89 = zext i32 %68 to i64, !dbg !395
%div90 = udiv i64 %conv89, 12, !dbg !395
store i64 %div90, ptr %max_class_infos, align 8, !dbg !395
%69 = load i32, ptr %should_log.addr, align 4, !dbg !396
%tobool91 = icmp ne i32 %69, 0, !dbg !396
br i1 %tobool91, label %if.then92, label %if.end94, !dbg !398
if.then92: ; preds = %if.then88
%70 = load i64, ptr %max_class_infos, align 8, !dbg !396
%call93 = call i32 (ptr, ...) @printf(ptr @.str.11, i64 %70) #3, !dbg !396
br label %if.end94, !dbg !396
if.end94: ; preds = %if.then92, %if.then88
call void @llvm.dbg.declare(metadata ptr %class_infos, metadata !399, metadata !DIExpression()), !dbg !400
%71 = load ptr, ptr %class_infos_ptr.addr, align 8, !dbg !400
store ptr %71, ptr %class_infos, align 8, !dbg !400
call void @llvm.dbg.declare(metadata ptr %checkbytes, metadata !401, metadata !DIExpression()), !dbg !404
%72 = load ptr, ptr %clsopt, align 8, !dbg !404
%tab = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %72, i32 0, i32 8, !dbg !404
%73 = load ptr, ptr %clsopt, align 8, !dbg !404
%mask = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %73, i32 0, i32 4, !dbg !404
%74 = load i32, ptr %mask, align 8, !dbg !404
%add = add i32 %74, 1, !dbg !404
%idxprom = zext i32 %add to i64, !dbg !404
%arrayidx = getelementptr inbounds [0 x i8], ptr %tab, i64 0, i64 %idxprom, !dbg !404
store ptr %arrayidx, ptr %checkbytes, align 8, !dbg !404
call void @llvm.dbg.declare(metadata ptr %offsets, metadata !405, metadata !DIExpression()), !dbg !406
%75 = load ptr, ptr %checkbytes, align 8, !dbg !406
%76 = load ptr, ptr %clsopt, align 8, !dbg !406
%capacity = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %76, i32 0, i32 1, !dbg !406
%77 = load i32, ptr %capacity, align 4, !dbg !406
%idx.ext95 = zext i32 %77 to i64, !dbg !406
%add.ptr96 = getelementptr inbounds i8, ptr %75, i64 %idx.ext95, !dbg !406
store ptr %add.ptr96, ptr %offsets, align 8, !dbg !406
call void @llvm.dbg.declare(metadata ptr %classOffsets, metadata !407, metadata !DIExpression()), !dbg !408
%78 = load ptr, ptr %offsets, align 8, !dbg !408
%79 = load ptr, ptr %clsopt, align 8, !dbg !408
%capacity97 = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %79, i32 0, i32 1, !dbg !408
%80 = load i32, ptr %capacity97, align 4, !dbg !408
%idx.ext98 = zext i32 %80 to i64, !dbg !408
%add.ptr99 = getelementptr inbounds i32, ptr %78, i64 %idx.ext98, !dbg !408
store ptr %add.ptr99, ptr %classOffsets, align 8, !dbg !408
%81 = load i32, ptr %should_log.addr, align 4, !dbg !409
%tobool100 = icmp ne i32 %81, 0, !dbg !409
br i1 %tobool100, label %if.then101, label %if.end104, !dbg !411
if.then101: ; preds = %if.end94
%82 = load ptr, ptr %clsopt, align 8, !dbg !409
%capacity102 = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %82, i32 0, i32 1, !dbg !409
%83 = load i32, ptr %capacity102, align 4, !dbg !409
%call103 = call i32 (ptr, ...) @printf(ptr @.str.12, i32 %83) #3, !dbg !409
br label %if.end104, !dbg !409
if.end104: ; preds = %if.then101, %if.end94
%84 = load i32, ptr %should_log.addr, align 4, !dbg !412
%tobool105 = icmp ne i32 %84, 0, !dbg !412
br i1 %tobool105, label %if.then106, label %if.end109, !dbg !414
if.then106: ; preds = %if.end104
%85 = load ptr, ptr %clsopt, align 8, !dbg !412
%mask107 = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %85, i32 0, i32 4, !dbg !412
%86 = load i32, ptr %mask107, align 8, !dbg !412
%call108 = call i32 (ptr, ...) @printf(ptr @.str.13, i32 %86) #3, !dbg !412
br label %if.end109, !dbg !412
if.end109: ; preds = %if.then106, %if.end104
%87 = load i32, ptr %should_log.addr, align 4, !dbg !415
%tobool110 = icmp ne i32 %87, 0, !dbg !415
br i1 %tobool110, label %if.then111, label %if.end113, !dbg !417
if.then111: ; preds = %if.end109
%88 = load ptr, ptr %classOffsets, align 8, !dbg !415
%call112 = call i32 (ptr, ...) @printf(ptr @.str.14, ptr %88) #3, !dbg !415
br label %if.end113, !dbg !415
if.end113: ; preds = %if.then111, %if.end109
call void @llvm.dbg.declare(metadata ptr %i, metadata !418, metadata !DIExpression()), !dbg !420
store i32 0, ptr %i, align 4, !dbg !420
br label %for.cond, !dbg !420
for.cond: ; preds = %for.inc176, %if.end113
%89 = load i32, ptr %i, align 4, !dbg !421
%90 = load ptr, ptr %clsopt, align 8, !dbg !421
%capacity114 = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %90, i32 0, i32 1, !dbg !421
%91 = load i32, ptr %capacity114, align 4, !dbg !421
%cmp115 = icmp ult i32 %89, %91, !dbg !421
br i1 %cmp115, label %for.body, label %for.end178, !dbg !420
for.body: ; preds = %for.cond
call void @llvm.dbg.declare(metadata ptr %objectCacheOffset, metadata !423, metadata !DIExpression()), !dbg !426
%92 = load ptr, ptr %classOffsets, align 8, !dbg !426
%93 = load i32, ptr %i, align 4, !dbg !426
%idxprom116 = zext i32 %93 to i64, !dbg !426
%arrayidx117 = getelementptr inbounds %struct.objc_classheader_v16_t, ptr %92, i64 %idxprom116, !dbg !426
%bf.load = load i64, ptr %arrayidx117, align 8, !dbg !426
%bf.lshr = lshr i64 %bf.load, 1, !dbg !426
%bf.clear = and i64 %bf.lshr, 140737488355327, !dbg !426
store i64 %bf.clear, ptr %objectCacheOffset, align 8, !dbg !426
%94 = load i32, ptr %should_log.addr, align 4, !dbg !427
%tobool118 = icmp ne i32 %94, 0, !dbg !427
br i1 %tobool118, label %if.then119, label %if.end121, !dbg !429
if.then119: ; preds = %for.body
%95 = load i32, ptr %i, align 4, !dbg !427
%96 = load i64, ptr %objectCacheOffset, align 8, !dbg !427
%call120 = call i32 (ptr, ...) @printf(ptr @.str.15, i32 %95, i64 %96) #3, !dbg !427
br label %if.end121, !dbg !427
if.end121: ; preds = %if.then119, %for.body
%97 = load ptr, ptr %classOffsets, align 8, !dbg !430
%98 = load i32, ptr %i, align 4, !dbg !430
%idxprom122 = zext i32 %98 to i64, !dbg !430
%arrayidx123 = getelementptr inbounds %struct.objc_classheader_v16_t, ptr %97, i64 %idxprom122, !dbg !430
%bf.load124 = load i64, ptr %arrayidx123, align 8, !dbg !430
%bf.clear125 = and i64 %bf.load124, 1, !dbg !430
%tobool126 = icmp ne i64 %bf.clear125, 0, !dbg !430
br i1 %tobool126, label %if.then127, label %if.end132, !dbg !432
if.then127: ; preds = %if.end121
%99 = load i32, ptr %should_log.addr, align 4, !dbg !433
%tobool128 = icmp ne i32 %99, 0, !dbg !433
br i1 %tobool128, label %if.then129, label %if.end131, !dbg !436
if.then129: ; preds = %if.then127
%call130 = call i32 (ptr, ...) @printf(ptr @.str.16) #3, !dbg !433
br label %if.end131, !dbg !433
if.end131: ; preds = %if.then129, %if.then127
br label %for.inc176, !dbg !437
if.end132: ; preds = %if.end121
%100 = load i64, ptr %objectCacheOffset, align 8, !dbg !438
%cmp133 = icmp eq i64 %100, 0, !dbg !438
br i1 %cmp133, label %if.then134, label %if.end139, !dbg !440
if.then134: ; preds = %if.end132
%101 = load i32, ptr %should_log.addr, align 4, !dbg !441
%tobool135 = icmp ne i32 %101, 0, !dbg !441
br i1 %tobool135, label %if.then136, label %if.end138, !dbg !444
if.then136: ; preds = %if.then134
%call137 = call i32 (ptr, ...) @printf(ptr @.str.17) #3, !dbg !441
br label %if.end138, !dbg !441
if.end138: ; preds = %if.then136, %if.then134
br label %for.inc176, !dbg !445
if.end139: ; preds = %if.end132
%102 = load ptr, ptr %class_infos, align 8, !dbg !446
%tobool140 = icmp ne ptr %102, null, !dbg !446
br i1 %tobool140, label %land.lhs.true, label %if.else170, !dbg !446
land.lhs.true: ; preds = %if.end139
%103 = load i32, ptr %idx, align 4, !dbg !446
%conv141 = zext i32 %103 to i64, !dbg !446
%104 = load i64, ptr %max_class_infos, align 8, !dbg !446
%cmp142 = icmp ult i64 %conv141, %104, !dbg !446
br i1 %cmp142, label %if.then143, label %if.else170, !dbg !448
if.then143: ; preds = %land.lhs.true
%105 = load ptr, ptr %shared_cache_base_ptr.addr, align 8, !dbg !449
%106 = load i64, ptr %objectCacheOffset, align 8, !dbg !449
%add.ptr144 = getelementptr inbounds i8, ptr %105, i64 %106, !dbg !449
%107 = load ptr, ptr %class_infos, align 8, !dbg !449
%108 = load i32, ptr %idx, align 4, !dbg !449
%idxprom145 = zext i32 %108 to i64, !dbg !449
%arrayidx146 = getelementptr inbounds %struct.ClassInfo, ptr %107, i64 %idxprom145, !dbg !449
%isa = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx146, i32 0, i32 0, !dbg !449
store ptr %add.ptr144, ptr %isa, align 1, !dbg !449
call void @llvm.dbg.declare(metadata ptr %name, metadata !451, metadata !DIExpression()), !dbg !452
%109 = load ptr, ptr @class_name_lookup_func, align 8, !dbg !452
%110 = load ptr, ptr %class_infos, align 8, !dbg !452
%111 = load i32, ptr %idx, align 4, !dbg !452
%idxprom147 = zext i32 %111 to i64, !dbg !452
%arrayidx148 = getelementptr inbounds %struct.ClassInfo, ptr %110, i64 %idxprom147, !dbg !452
%isa149 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx148, i32 0, i32 0, !dbg !452
%112 = load ptr, ptr %isa149, align 1, !dbg !452
%call150 = call ptr %109(ptr %112) #3, !dbg !452
store ptr %call150, ptr %name, align 8, !dbg !452
%113 = load i32, ptr %should_log.addr, align 4, !dbg !453
%tobool151 = icmp ne i32 %113, 0, !dbg !453
br i1 %tobool151, label %if.then152, label %if.end157, !dbg !455
if.then152: ; preds = %if.then143
%114 = load i32, ptr %idx, align 4, !dbg !453
%115 = load ptr, ptr %class_infos, align 8, !dbg !453
%116 = load i32, ptr %idx, align 4, !dbg !453
%idxprom153 = zext i32 %116 to i64, !dbg !453
%arrayidx154 = getelementptr inbounds %struct.ClassInfo, ptr %115, i64 %idxprom153, !dbg !453
%isa155 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx154, i32 0, i32 0, !dbg !453
%117 = load ptr, ptr %isa155, align 1, !dbg !453
%118 = load ptr, ptr %name, align 8, !dbg !453
%call156 = call i32 (ptr, ...) @printf(ptr @.str.18, i32 %114, ptr %117, ptr %118) #3, !dbg !453
br label %if.end157, !dbg !453
if.end157: ; preds = %if.then152, %if.then143
call void @llvm.dbg.declare(metadata ptr %s, metadata !456, metadata !DIExpression()), !dbg !457
%119 = load ptr, ptr %name, align 8, !dbg !457
store ptr %119, ptr %s, align 8, !dbg !457
call void @llvm.dbg.declare(metadata ptr %h, metadata !458, metadata !DIExpression()), !dbg !459
store i32 5381, ptr %h, align 4, !dbg !459
call void @llvm.dbg.declare(metadata ptr %c, metadata !460, metadata !DIExpression()), !dbg !462
%120 = load ptr, ptr %s, align 8, !dbg !462
%121 = load i8, ptr %120, align 1, !dbg !462
store i8 %121, ptr %c, align 1, !dbg !462
br label %for.cond158, !dbg !462
for.cond158: ; preds = %for.inc, %if.end157
%122 = load i8, ptr %c, align 1, !dbg !463
%tobool159 = icmp ne i8 %122, 0, !dbg !463
br i1 %tobool159, label %for.body160, label %for.end, !dbg !462
for.body160: ; preds = %for.cond158
%123 = load i8, ptr %c, align 1, !dbg !465
%conv161 = zext i8 %123 to i32, !dbg !465
%cmp162 = icmp eq i32 %conv161, 46, !dbg !465
br i1 %cmp162, label %if.then163, label %if.end164, !dbg !468
if.then163: ; preds = %for.body160
store i32 0, ptr %h, align 4, !dbg !469
br label %for.end, !dbg !471
if.end164: ; preds = %for.body160
%124 = load i32, ptr %h, align 4, !dbg !472
%shl = shl i32 %124, 5, !dbg !472
%125 = load i32, ptr %h, align 4, !dbg !472
%add165 = add i32 %shl, %125, !dbg !472
%126 = load i8, ptr %c, align 1, !dbg !472
%conv166 = zext i8 %126 to i32, !dbg !472
%add167 = add i32 %add165, %conv166, !dbg !472
store i32 %add167, ptr %h, align 4, !dbg !472
br label %for.inc, !dbg !473
for.inc: ; preds = %if.end164
%127 = load ptr, ptr %s, align 8, !dbg !463
%incdec.ptr = getelementptr inbounds i8, ptr %127, i32 1, !dbg !463
store ptr %incdec.ptr, ptr %s, align 8, !dbg !463
%128 = load i8, ptr %incdec.ptr, align 1, !dbg !463
store i8 %128, ptr %c, align 1, !dbg !463
br label %for.cond158, !dbg !463, !llvm.loop !474
for.end: ; preds = %if.then163, %for.cond158
%129 = load i32, ptr %h, align 4, !dbg !477
%130 = load ptr, ptr %class_infos, align 8, !dbg !477
%131 = load i32, ptr %idx, align 4, !dbg !477
%idxprom168 = zext i32 %131 to i64, !dbg !477
%arrayidx169 = getelementptr inbounds %struct.ClassInfo, ptr %130, i64 %idxprom168, !dbg !477
%hash = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx169, i32 0, i32 1, !dbg !477
store i32 %129, ptr %hash, align 1, !dbg !477
br label %if.end175, !dbg !478
if.else170: ; preds = %land.lhs.true, %if.end139
%132 = load i32, ptr %should_log.addr, align 4, !dbg !479
%tobool171 = icmp ne i32 %132, 0, !dbg !479
br i1 %tobool171, label %if.then172, label %if.end174, !dbg !482
if.then172: ; preds = %if.else170
%call173 = call i32 (ptr, ...) @printf(ptr @.str.19) #3, !dbg !479
br label %if.end174, !dbg !479
if.end174: ; preds = %if.then172, %if.else170
br label %if.end175
if.end175: ; preds = %if.end174, %for.end
%133 = load i32, ptr %idx, align 4, !dbg !483
%inc = add i32 %133, 1, !dbg !483
store i32 %inc, ptr %idx, align 4, !dbg !483
br label %for.inc176, !dbg !484
for.inc176: ; preds = %if.end175, %if.end138, %if.end131
%134 = load i32, ptr %i, align 4, !dbg !421
%inc177 = add i32 %134, 1, !dbg !421
store i32 %inc177, ptr %i, align 4, !dbg !421
br label %for.cond, !dbg !421, !llvm.loop !485
for.end178: ; preds = %for.cond
call void @llvm.dbg.declare(metadata ptr %duplicate_count_ptr, metadata !487, metadata !DIExpression()), !dbg !490
%135 = load ptr, ptr %classOffsets, align 8, !dbg !490
%136 = load ptr, ptr %clsopt, align 8, !dbg !490
%capacity179 = getelementptr inbounds %struct.objc_clsopt_v16_t, ptr %136, i32 0, i32 1, !dbg !490
%137 = load i32, ptr %capacity179, align 4, !dbg !490
%idxprom180 = zext i32 %137 to i64, !dbg !490
%arrayidx181 = getelementptr inbounds %struct.objc_classheader_v16_t, ptr %135, i64 %idxprom180, !dbg !490
store ptr %arrayidx181, ptr %duplicate_count_ptr, align 8, !dbg !490
call void @llvm.dbg.declare(metadata ptr %duplicate_count, metadata !491, metadata !DIExpression()), !dbg !492
%138 = load ptr, ptr %duplicate_count_ptr, align 8, !dbg !492
%139 = load i32, ptr %138, align 4, !dbg !492
store i32 %139, ptr %duplicate_count, align 4, !dbg !492
call void @llvm.dbg.declare(metadata ptr %duplicateClassOffsets, metadata !493, metadata !DIExpression()), !dbg !494
%140 = load ptr, ptr %duplicate_count_ptr, align 8, !dbg !494
%arrayidx182 = getelementptr inbounds i32, ptr %140, i64 1, !dbg !494
store ptr %arrayidx182, ptr %duplicateClassOffsets, align 8, !dbg !494
%141 = load i32, ptr %should_log.addr, align 4, !dbg !495
%tobool183 = icmp ne i32 %141, 0, !dbg !495
br i1 %tobool183, label %if.then184, label %if.end186, !dbg !497
if.then184: ; preds = %for.end178
%142 = load i32, ptr %duplicate_count, align 4, !dbg !495
%call185 = call i32 (ptr, ...) @printf(ptr @.str.20, i32 %142) #3, !dbg !495
br label %if.end186, !dbg !495
if.end186: ; preds = %if.then184, %for.end178
%143 = load i32, ptr %should_log.addr, align 4, !dbg !498
%tobool187 = icmp ne i32 %143, 0, !dbg !498
br i1 %tobool187, label %if.then188, label %if.end190, !dbg !500
if.then188: ; preds = %if.end186
%144 = load ptr, ptr %duplicateClassOffsets, align 8, !dbg !498
%call189 = call i32 (ptr, ...) @printf(ptr @.str.21, ptr %144) #3, !dbg !498
br label %if.end190, !dbg !498
if.end190: ; preds = %if.then188, %if.end186
call void @llvm.dbg.declare(metadata ptr %i191, metadata !501, metadata !DIExpression()), !dbg !503
store i32 0, ptr %i191, align 4, !dbg !503
br label %for.cond192, !dbg !503
for.cond192: ; preds = %for.inc265, %if.end190
%145 = load i32, ptr %i191, align 4, !dbg !504
%146 = load i32, ptr %duplicate_count, align 4, !dbg !504
%cmp193 = icmp ult i32 %145, %146, !dbg !504
br i1 %cmp193, label %for.body194, label %for.end267, !dbg !503
for.body194: ; preds = %for.cond192
call void @llvm.dbg.declare(metadata ptr %objectCacheOffset195, metadata !506, metadata !DIExpression()), !dbg !508
%147 = load ptr, ptr %classOffsets, align 8, !dbg !508
%148 = load i32, ptr %i191, align 4, !dbg !508
%idxprom196 = zext i32 %148 to i64, !dbg !508
%arrayidx197 = getelementptr inbounds %struct.objc_classheader_v16_t, ptr %147, i64 %idxprom196, !dbg !508
%bf.load198 = load i64, ptr %arrayidx197, align 8, !dbg !508
%bf.lshr199 = lshr i64 %bf.load198, 1, !dbg !508
%bf.clear200 = and i64 %bf.lshr199, 140737488355327, !dbg !508
store i64 %bf.clear200, ptr %objectCacheOffset195, align 8, !dbg !508
%149 = load i32, ptr %should_log.addr, align 4, !dbg !509
%tobool201 = icmp ne i32 %149, 0, !dbg !509
br i1 %tobool201, label %if.then202, label %if.end204, !dbg !511
if.then202: ; preds = %for.body194
%150 = load i32, ptr %i191, align 4, !dbg !509
%151 = load i64, ptr %objectCacheOffset195, align 8, !dbg !509
%call203 = call i32 (ptr, ...) @printf(ptr @.str.15, i32 %150, i64 %151) #3, !dbg !509
br label %if.end204, !dbg !509
if.end204: ; preds = %if.then202, %for.body194
%152 = load ptr, ptr %classOffsets, align 8, !dbg !512
%153 = load i32, ptr %i191, align 4, !dbg !512
%idxprom205 = zext i32 %153 to i64, !dbg !512
%arrayidx206 = getelementptr inbounds %struct.objc_classheader_v16_t, ptr %152, i64 %idxprom205, !dbg !512
%bf.load207 = load i64, ptr %arrayidx206, align 8, !dbg !512
%bf.clear208 = and i64 %bf.load207, 1, !dbg !512
%tobool209 = icmp ne i64 %bf.clear208, 0, !dbg !512
br i1 %tobool209, label %if.then210, label %if.end215, !dbg !514
if.then210: ; preds = %if.end204
%154 = load i32, ptr %should_log.addr, align 4, !dbg !515
%tobool211 = icmp ne i32 %154, 0, !dbg !515
br i1 %tobool211, label %if.then212, label %if.end214, !dbg !518
if.then212: ; preds = %if.then210
%call213 = call i32 (ptr, ...) @printf(ptr @.str.16) #3, !dbg !515
br label %if.end214, !dbg !515
if.end214: ; preds = %if.then212, %if.then210
br label %for.inc265, !dbg !519
if.end215: ; preds = %if.end204
%155 = load i64, ptr %objectCacheOffset195, align 8, !dbg !520
%cmp216 = icmp eq i64 %155, 0, !dbg !520
br i1 %cmp216, label %if.then217, label %if.end222, !dbg !522
if.then217: ; preds = %if.end215
%156 = load i32, ptr %should_log.addr, align 4, !dbg !523
%tobool218 = icmp ne i32 %156, 0, !dbg !523
br i1 %tobool218, label %if.then219, label %if.end221, !dbg !526
if.then219: ; preds = %if.then217
%call220 = call i32 (ptr, ...) @printf(ptr @.str.17) #3, !dbg !523
br label %if.end221, !dbg !523
if.end221: ; preds = %if.then219, %if.then217
br label %for.inc265, !dbg !527
if.end222: ; preds = %if.end215
%157 = load ptr, ptr %class_infos, align 8, !dbg !528
%tobool223 = icmp ne ptr %157, null, !dbg !528
br i1 %tobool223, label %land.lhs.true224, label %if.end264, !dbg !528
land.lhs.true224: ; preds = %if.end222
%158 = load i32, ptr %idx, align 4, !dbg !528
%conv225 = zext i32 %158 to i64, !dbg !528
%159 = load i64, ptr %max_class_infos, align 8, !dbg !528
%cmp226 = icmp ult i64 %conv225, %159, !dbg !528
br i1 %cmp226, label %if.then227, label %if.end264, !dbg !530
if.then227: ; preds = %land.lhs.true224
%160 = load ptr, ptr %shared_cache_base_ptr.addr, align 8, !dbg !531
%161 = load i64, ptr %objectCacheOffset195, align 8, !dbg !531
%add.ptr228 = getelementptr inbounds i8, ptr %160, i64 %161, !dbg !531
%162 = load ptr, ptr %class_infos, align 8, !dbg !531
%163 = load i32, ptr %idx, align 4, !dbg !531
%idxprom229 = zext i32 %163 to i64, !dbg !531
%arrayidx230 = getelementptr inbounds %struct.ClassInfo, ptr %162, i64 %idxprom229, !dbg !531
%isa231 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx230, i32 0, i32 0, !dbg !531
store ptr %add.ptr228, ptr %isa231, align 1, !dbg !531
call void @llvm.dbg.declare(metadata ptr %name232, metadata !533, metadata !DIExpression()), !dbg !534
%164 = load ptr, ptr @class_name_lookup_func, align 8, !dbg !534
%165 = load ptr, ptr %class_infos, align 8, !dbg !534
%166 = load i32, ptr %idx, align 4, !dbg !534
%idxprom233 = zext i32 %166 to i64, !dbg !534
%arrayidx234 = getelementptr inbounds %struct.ClassInfo, ptr %165, i64 %idxprom233, !dbg !534
%isa235 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx234, i32 0, i32 0, !dbg !534
%167 = load ptr, ptr %isa235, align 1, !dbg !534
%call236 = call ptr %164(ptr %167) #3, !dbg !534
store ptr %call236, ptr %name232, align 8, !dbg !534
%168 = load i32, ptr %should_log.addr, align 4, !dbg !535
%tobool237 = icmp ne i32 %168, 0, !dbg !535
br i1 %tobool237, label %if.then238, label %if.end243, !dbg !537
if.then238: ; preds = %if.then227
%169 = load i32, ptr %idx, align 4, !dbg !535
%170 = load ptr, ptr %class_infos, align 8, !dbg !535
%171 = load i32, ptr %idx, align 4, !dbg !535
%idxprom239 = zext i32 %171 to i64, !dbg !535
%arrayidx240 = getelementptr inbounds %struct.ClassInfo, ptr %170, i64 %idxprom239, !dbg !535
%isa241 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx240, i32 0, i32 0, !dbg !535
%172 = load ptr, ptr %isa241, align 1, !dbg !535
%173 = load ptr, ptr %name232, align 8, !dbg !535
%call242 = call i32 (ptr, ...) @printf(ptr @.str.18, i32 %169, ptr %172, ptr %173) #3, !dbg !535
br label %if.end243, !dbg !535
if.end243: ; preds = %if.then238, %if.then227
call void @llvm.dbg.declare(metadata ptr %s244, metadata !538, metadata !DIExpression()), !dbg !539
%174 = load ptr, ptr %name232, align 8, !dbg !539
store ptr %174, ptr %s244, align 8, !dbg !539
call void @llvm.dbg.declare(metadata ptr %h245, metadata !540, metadata !DIExpression()), !dbg !541
store i32 5381, ptr %h245, align 4, !dbg !541
call void @llvm.dbg.declare(metadata ptr %c246, metadata !542, metadata !DIExpression()), !dbg !544
%175 = load ptr, ptr %s244, align 8, !dbg !544
%176 = load i8, ptr %175, align 1, !dbg !544
store i8 %176, ptr %c246, align 1, !dbg !544
br label %for.cond247, !dbg !544
for.cond247: ; preds = %for.inc258, %if.end243
%177 = load i8, ptr %c246, align 1, !dbg !545
%tobool248 = icmp ne i8 %177, 0, !dbg !545
br i1 %tobool248, label %for.body249, label %for.end260, !dbg !544
for.body249: ; preds = %for.cond247
%178 = load i8, ptr %c246, align 1, !dbg !547
%conv250 = zext i8 %178 to i32, !dbg !547
%cmp251 = icmp eq i32 %conv250, 46, !dbg !547
br i1 %cmp251, label %if.then252, label %if.end253, !dbg !550
if.then252: ; preds = %for.body249
store i32 0, ptr %h245, align 4, !dbg !551
br label %for.end260, !dbg !553
if.end253: ; preds = %for.body249
%179 = load i32, ptr %h245, align 4, !dbg !554
%shl254 = shl i32 %179, 5, !dbg !554
%180 = load i32, ptr %h245, align 4, !dbg !554
%add255 = add i32 %shl254, %180, !dbg !554
%181 = load i8, ptr %c246, align 1, !dbg !554
%conv256 = zext i8 %181 to i32, !dbg !554
%add257 = add i32 %add255, %conv256, !dbg !554
store i32 %add257, ptr %h245, align 4, !dbg !554
br label %for.inc258, !dbg !555
for.inc258: ; preds = %if.end253
%182 = load ptr, ptr %s244, align 8, !dbg !545
%incdec.ptr259 = getelementptr inbounds i8, ptr %182, i32 1, !dbg !545
store ptr %incdec.ptr259, ptr %s244, align 8, !dbg !545
%183 = load i8, ptr %incdec.ptr259, align 1, !dbg !545
store i8 %183, ptr %c246, align 1, !dbg !545
br label %for.cond247, !dbg !545, !llvm.loop !556
for.end260: ; preds = %if.then252, %for.cond247
%184 = load i32, ptr %h245, align 4, !dbg !558
%185 = load ptr, ptr %class_infos, align 8, !dbg !558
%186 = load i32, ptr %idx, align 4, !dbg !558
%idxprom261 = zext i32 %186 to i64, !dbg !558
%arrayidx262 = getelementptr inbounds %struct.ClassInfo, ptr %185, i64 %idxprom261, !dbg !558
%hash263 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx262, i32 0, i32 1, !dbg !558
store i32 %184, ptr %hash263, align 1, !dbg !558
br label %if.end264, !dbg !559
if.end264: ; preds = %for.end260, %land.lhs.true224, %if.end222
br label %for.inc265, !dbg !560
for.inc265: ; preds = %if.end264, %if.end221, %if.end214
%187 = load i32, ptr %i191, align 4, !dbg !504
%inc266 = add i32 %187, 1, !dbg !504
store i32 %inc266, ptr %i191, align 4, !dbg !504
br label %for.cond192, !dbg !504, !llvm.loop !561
for.end267: ; preds = %for.cond192
br label %if.end489, !dbg !563
if.else268: ; preds = %if.end85
%188 = load ptr, ptr %objc_opt, align 8, !dbg !564
%version269 = getelementptr inbounds %struct.objc_opt_t, ptr %188, i32 0, i32 0, !dbg !564
%189 = load i32, ptr %version269, align 4, !dbg !564
%cmp270 = icmp uge i32 %189, 12, !dbg !564
br i1 %cmp270, label %land.lhs.true271, label %if.end488, !dbg !564
land.lhs.true271: ; preds = %if.else268
%190 = load ptr, ptr %objc_opt, align 8, !dbg !564
%version272 = getelementptr inbounds %struct.objc_opt_t, ptr %190, i32 0, i32 0, !dbg !564
%191 = load i32, ptr %version272, align 4, !dbg !564
%cmp273 = icmp ule i32 %191, 15, !dbg !564
br i1 %cmp273, label %if.then274, label %if.end488, !dbg !566
if.then274: ; preds = %land.lhs.true271
call void @llvm.dbg.declare(metadata ptr %clsopt275, metadata !567, metadata !DIExpression()), !dbg !569
store ptr null, ptr %clsopt275, align 8, !dbg !569
%192 = load ptr, ptr %objc_opt, align 8, !dbg !570
%version276 = getelementptr inbounds %struct.objc_opt_t, ptr %192, i32 0, i32 0, !dbg !570
%193 = load i32, ptr %version276, align 4, !dbg !570
%cmp277 = icmp uge i32 %193, 14, !dbg !570
br i1 %cmp277, label %if.then278, label %if.else282, !dbg !572
if.then278: ; preds = %if.then274
%194 = load ptr, ptr %objc_opt_v14, align 8, !dbg !573
%195 = load ptr, ptr %objc_opt_v14, align 8, !dbg !573
%clsopt_offset279 = getelementptr inbounds %struct.objc_opt_v14_t, ptr %195, i32 0, i32 4, !dbg !573
%196 = load i32, ptr %clsopt_offset279, align 4, !dbg !573
%idx.ext280 = sext i32 %196 to i64, !dbg !573
%add.ptr281 = getelementptr inbounds i8, ptr %194, i64 %idx.ext280, !dbg !573
store ptr %add.ptr281, ptr %clsopt275, align 8, !dbg !573
br label %if.end286, !dbg !573
if.else282: ; preds = %if.then274
%197 = load ptr, ptr %objc_opt, align 8, !dbg !574
%198 = load ptr, ptr %objc_opt, align 8, !dbg !574
%clsopt_offset283 = getelementptr inbounds %struct.objc_opt_t, ptr %198, i32 0, i32 3, !dbg !574
%199 = load i32, ptr %clsopt_offset283, align 4, !dbg !574
%idx.ext284 = sext i32 %199 to i64, !dbg !574
%add.ptr285 = getelementptr inbounds i8, ptr %197, i64 %idx.ext284, !dbg !574
store ptr %add.ptr285, ptr %clsopt275, align 8, !dbg !574
br label %if.end286
if.end286: ; preds = %if.else282, %if.then278
call void @llvm.dbg.declare(metadata ptr %max_class_infos287, metadata !575, metadata !DIExpression()), !dbg !576
%200 = load i32, ptr %class_infos_byte_size.addr, align 4, !dbg !576
%conv288 = zext i32 %200 to i64, !dbg !576
%div289 = udiv i64 %conv288, 12, !dbg !576
store i64 %div289, ptr %max_class_infos287, align 8, !dbg !576
%201 = load i32, ptr %should_log.addr, align 4, !dbg !577
%tobool290 = icmp ne i32 %201, 0, !dbg !577
br i1 %tobool290, label %if.then291, label %if.end293, !dbg !579
if.then291: ; preds = %if.end286
%202 = load i64, ptr %max_class_infos287, align 8, !dbg !577
%call292 = call i32 (ptr, ...) @printf(ptr @.str.11, i64 %202) #3, !dbg !577
br label %if.end293, !dbg !577
if.end293: ; preds = %if.then291, %if.end286
call void @llvm.dbg.declare(metadata ptr %class_infos294, metadata !580, metadata !DIExpression()), !dbg !581
%203 = load ptr, ptr %class_infos_ptr.addr, align 8, !dbg !581
store ptr %203, ptr %class_infos294, align 8, !dbg !581
call void @llvm.dbg.declare(metadata ptr %invalidEntryOffset, metadata !582, metadata !DIExpression()), !dbg !583
store i32 0, ptr %invalidEntryOffset, align 4, !dbg !583
%204 = load ptr, ptr %objc_opt, align 8, !dbg !584
%version295 = getelementptr inbounds %struct.objc_opt_t, ptr %204, i32 0, i32 0, !dbg !584
%205 = load i32, ptr %version295, align 4, !dbg !584
%cmp296 = icmp eq i32 %205, 12, !dbg !584
br i1 %cmp296, label %if.then297, label %if.end298, !dbg !586
if.then297: ; preds = %if.end293
store i32 16, ptr %invalidEntryOffset, align 4, !dbg !587
br label %if.end298, !dbg !587
if.end298: ; preds = %if.then297, %if.end293
call void @llvm.dbg.declare(metadata ptr %checkbytes299, metadata !588, metadata !DIExpression()), !dbg !589
%206 = load ptr, ptr %clsopt275, align 8, !dbg !589
%tab300 = getelementptr inbounds %struct.objc_clsopt_t, ptr %206, i32 0, i32 8, !dbg !589
%207 = load ptr, ptr %clsopt275, align 8, !dbg !589
%mask301 = getelementptr inbounds %struct.objc_clsopt_t, ptr %207, i32 0, i32 3, !dbg !589
%208 = load i32, ptr %mask301, align 4, !dbg !589
%add302 = add i32 %208, 1, !dbg !589
%idxprom303 = zext i32 %add302 to i64, !dbg !589
%arrayidx304 = getelementptr inbounds [0 x i8], ptr %tab300, i64 0, i64 %idxprom303, !dbg !589
store ptr %arrayidx304, ptr %checkbytes299, align 8, !dbg !589
call void @llvm.dbg.declare(metadata ptr %offsets305, metadata !590, metadata !DIExpression()), !dbg !591
%209 = load ptr, ptr %checkbytes299, align 8, !dbg !591
%210 = load ptr, ptr %clsopt275, align 8, !dbg !591
%capacity306 = getelementptr inbounds %struct.objc_clsopt_t, ptr %210, i32 0, i32 0, !dbg !591
%211 = load i32, ptr %capacity306, align 8, !dbg !591
%idx.ext307 = zext i32 %211 to i64, !dbg !591
%add.ptr308 = getelementptr inbounds i8, ptr %209, i64 %idx.ext307, !dbg !591
store ptr %add.ptr308, ptr %offsets305, align 8, !dbg !591
call void @llvm.dbg.declare(metadata ptr %classOffsets309, metadata !592, metadata !DIExpression()), !dbg !593
%212 = load ptr, ptr %offsets305, align 8, !dbg !593
%213 = load ptr, ptr %clsopt275, align 8, !dbg !593
%capacity310 = getelementptr inbounds %struct.objc_clsopt_t, ptr %213, i32 0, i32 0, !dbg !593
%214 = load i32, ptr %capacity310, align 8, !dbg !593
%idx.ext311 = zext i32 %214 to i64, !dbg !593
%add.ptr312 = getelementptr inbounds i32, ptr %212, i64 %idx.ext311, !dbg !593
store ptr %add.ptr312, ptr %classOffsets309, align 8, !dbg !593
%215 = load i32, ptr %should_log.addr, align 4, !dbg !594
%tobool313 = icmp ne i32 %215, 0, !dbg !594
br i1 %tobool313, label %if.then314, label %if.end317, !dbg !596
if.then314: ; preds = %if.end298
%216 = load ptr, ptr %clsopt275, align 8, !dbg !594
%capacity315 = getelementptr inbounds %struct.objc_clsopt_t, ptr %216, i32 0, i32 0, !dbg !594
%217 = load i32, ptr %capacity315, align 8, !dbg !594
%call316 = call i32 (ptr, ...) @printf(ptr @.str.12, i32 %217) #3, !dbg !594
br label %if.end317, !dbg !594
if.end317: ; preds = %if.then314, %if.end298
%218 = load i32, ptr %should_log.addr, align 4, !dbg !597
%tobool318 = icmp ne i32 %218, 0, !dbg !597
br i1 %tobool318, label %if.then319, label %if.end322, !dbg !599
if.then319: ; preds = %if.end317
%219 = load ptr, ptr %clsopt275, align 8, !dbg !597
%mask320 = getelementptr inbounds %struct.objc_clsopt_t, ptr %219, i32 0, i32 3, !dbg !597
%220 = load i32, ptr %mask320, align 4, !dbg !597
%call321 = call i32 (ptr, ...) @printf(ptr @.str.13, i32 %220) #3, !dbg !597
br label %if.end322, !dbg !597
if.end322: ; preds = %if.then319, %if.end317
%221 = load i32, ptr %should_log.addr, align 4, !dbg !600
%tobool323 = icmp ne i32 %221, 0, !dbg !600
br i1 %tobool323, label %if.then324, label %if.end326, !dbg !602
if.then324: ; preds = %if.end322
%222 = load ptr, ptr %classOffsets309, align 8, !dbg !600
%call325 = call i32 (ptr, ...) @printf(ptr @.str.14, ptr %222) #3, !dbg !600
br label %if.end326, !dbg !600
if.end326: ; preds = %if.then324, %if.end322
%223 = load i32, ptr %should_log.addr, align 4, !dbg !603
%tobool327 = icmp ne i32 %223, 0, !dbg !603
br i1 %tobool327, label %if.then328, label %if.end330, !dbg !605
if.then328: ; preds = %if.end326
%224 = load i32, ptr %invalidEntryOffset, align 4, !dbg !603
%call329 = call i32 (ptr, ...) @printf(ptr @.str.22, i32 %224) #3, !dbg !603
br label %if.end330, !dbg !603
if.end330: ; preds = %if.then328, %if.end326
call void @llvm.dbg.declare(metadata ptr %i331, metadata !606, metadata !DIExpression()), !dbg !608
store i32 0, ptr %i331, align 4, !dbg !608
br label %for.cond332, !dbg !608
for.cond332: ; preds = %for.inc407, %if.end330
%225 = load i32, ptr %i331, align 4, !dbg !609
%226 = load ptr, ptr %clsopt275, align 8, !dbg !609
%capacity333 = getelementptr inbounds %struct.objc_clsopt_t, ptr %226, i32 0, i32 0, !dbg !609
%227 = load i32, ptr %capacity333, align 8, !dbg !609
%cmp334 = icmp ult i32 %225, %227, !dbg !609
br i1 %cmp334, label %for.body335, label %for.end409, !dbg !608
for.body335: ; preds = %for.cond332
call void @llvm.dbg.declare(metadata ptr %clsOffset, metadata !611, metadata !DIExpression()), !dbg !613
%228 = load ptr, ptr %classOffsets309, align 8, !dbg !613
%229 = load i32, ptr %i331, align 4, !dbg !613
%idxprom336 = zext i32 %229 to i64, !dbg !613
%arrayidx337 = getelementptr inbounds %struct.objc_classheader_t, ptr %228, i64 %idxprom336, !dbg !613
%clsOffset338 = getelementptr inbounds %struct.objc_classheader_t, ptr %arrayidx337, i32 0, i32 0, !dbg !613
%230 = load i32, ptr %clsOffset338, align 4, !dbg !613
store i32 %230, ptr %clsOffset, align 4, !dbg !613
%231 = load i32, ptr %should_log.addr, align 4, !dbg !614
%tobool339 = icmp ne i32 %231, 0, !dbg !614
br i1 %tobool339, label %if.then340, label %if.end342, !dbg !616
if.then340: ; preds = %for.body335
%232 = load i32, ptr %i331, align 4, !dbg !614
%233 = load i32, ptr %clsOffset, align 4, !dbg !614
%call341 = call i32 (ptr, ...) @printf(ptr @.str.23, i32 %232, i32 %233) #3, !dbg !614
br label %if.end342, !dbg !614
if.end342: ; preds = %if.then340, %for.body335
%234 = load i32, ptr %clsOffset, align 4, !dbg !617
%and = and i32 %234, 1, !dbg !617
%tobool343 = icmp ne i32 %and, 0, !dbg !617
br i1 %tobool343, label %if.then344, label %if.else349, !dbg !619
if.then344: ; preds = %if.end342
%235 = load i32, ptr %should_log.addr, align 4, !dbg !620
%tobool345 = icmp ne i32 %235, 0, !dbg !620
br i1 %tobool345, label %if.then346, label %if.end348, !dbg !623
if.then346: ; preds = %if.then344
%call347 = call i32 (ptr, ...) @printf(ptr @.str.24) #3, !dbg !620
br label %if.end348, !dbg !620
if.end348: ; preds = %if.then346, %if.then344
br label %for.inc407, !dbg !624
if.else349: ; preds = %if.end342
%236 = load i32, ptr %clsOffset, align 4, !dbg !625
%237 = load i32, ptr %invalidEntryOffset, align 4, !dbg !625
%cmp350 = icmp eq i32 %236, %237, !dbg !625
br i1 %cmp350, label %if.then351, label %if.end356, !dbg !627
if.then351: ; preds = %if.else349
%238 = load i32, ptr %should_log.addr, align 4, !dbg !628
%tobool352 = icmp ne i32 %238, 0, !dbg !628
br i1 %tobool352, label %if.then353, label %if.end355, !dbg !631
if.then353: ; preds = %if.then351
%call354 = call i32 (ptr, ...) @printf(ptr @.str.25) #3, !dbg !628
br label %if.end355, !dbg !628
if.end355: ; preds = %if.then353, %if.then351
br label %for.inc407, !dbg !632
if.end356: ; preds = %if.else349
br label %if.end357
if.end357: ; preds = %if.end356
%239 = load ptr, ptr %class_infos294, align 8, !dbg !633
%tobool358 = icmp ne ptr %239, null, !dbg !633
br i1 %tobool358, label %land.lhs.true359, label %if.else400, !dbg !633
land.lhs.true359: ; preds = %if.end357
%240 = load i32, ptr %idx, align 4, !dbg !633
%conv360 = zext i32 %240 to i64, !dbg !633
%241 = load i64, ptr %max_class_infos287, align 8, !dbg !633
%cmp361 = icmp ult i64 %conv360, %241, !dbg !633
br i1 %cmp361, label %if.then362, label %if.else400, !dbg !635
if.then362: ; preds = %land.lhs.true359
%242 = load ptr, ptr %clsopt275, align 8, !dbg !636
%243 = load i32, ptr %clsOffset, align 4, !dbg !636
%idx.ext363 = sext i32 %243 to i64, !dbg !636
%add.ptr364 = getelementptr inbounds i8, ptr %242, i64 %idx.ext363, !dbg !636
%244 = load ptr, ptr %class_infos294, align 8, !dbg !636
%245 = load i32, ptr %idx, align 4, !dbg !636
%idxprom365 = zext i32 %245 to i64, !dbg !636
%arrayidx366 = getelementptr inbounds %struct.ClassInfo, ptr %244, i64 %idxprom365, !dbg !636
%isa367 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx366, i32 0, i32 0, !dbg !636
store ptr %add.ptr364, ptr %isa367, align 1, !dbg !636
call void @llvm.dbg.declare(metadata ptr %name368, metadata !638, metadata !DIExpression()), !dbg !639
%246 = load ptr, ptr @class_name_lookup_func, align 8, !dbg !639
%247 = load ptr, ptr %class_infos294, align 8, !dbg !639
%248 = load i32, ptr %idx, align 4, !dbg !639
%idxprom369 = zext i32 %248 to i64, !dbg !639
%arrayidx370 = getelementptr inbounds %struct.ClassInfo, ptr %247, i64 %idxprom369, !dbg !639
%isa371 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx370, i32 0, i32 0, !dbg !639
%249 = load ptr, ptr %isa371, align 1, !dbg !639
%call372 = call ptr %246(ptr %249) #3, !dbg !639
store ptr %call372, ptr %name368, align 8, !dbg !639
%250 = load i32, ptr %should_log.addr, align 4, !dbg !640
%tobool373 = icmp ne i32 %250, 0, !dbg !640
br i1 %tobool373, label %if.then374, label %if.end379, !dbg !642
if.then374: ; preds = %if.then362
%251 = load i32, ptr %idx, align 4, !dbg !640
%252 = load ptr, ptr %class_infos294, align 8, !dbg !640
%253 = load i32, ptr %idx, align 4, !dbg !640
%idxprom375 = zext i32 %253 to i64, !dbg !640
%arrayidx376 = getelementptr inbounds %struct.ClassInfo, ptr %252, i64 %idxprom375, !dbg !640
%isa377 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx376, i32 0, i32 0, !dbg !640
%254 = load ptr, ptr %isa377, align 1, !dbg !640
%255 = load ptr, ptr %name368, align 8, !dbg !640
%call378 = call i32 (ptr, ...) @printf(ptr @.str.18, i32 %251, ptr %254, ptr %255) #3, !dbg !640
br label %if.end379, !dbg !640
if.end379: ; preds = %if.then374, %if.then362
call void @llvm.dbg.declare(metadata ptr %s380, metadata !643, metadata !DIExpression()), !dbg !644
%256 = load ptr, ptr %name368, align 8, !dbg !644
store ptr %256, ptr %s380, align 8, !dbg !644
call void @llvm.dbg.declare(metadata ptr %h381, metadata !645, metadata !DIExpression()), !dbg !646
store i32 5381, ptr %h381, align 4, !dbg !646
call void @llvm.dbg.declare(metadata ptr %c382, metadata !647, metadata !DIExpression()), !dbg !649
%257 = load ptr, ptr %s380, align 8, !dbg !649
%258 = load i8, ptr %257, align 1, !dbg !649
store i8 %258, ptr %c382, align 1, !dbg !649
br label %for.cond383, !dbg !649
for.cond383: ; preds = %for.inc394, %if.end379
%259 = load i8, ptr %c382, align 1, !dbg !650
%tobool384 = icmp ne i8 %259, 0, !dbg !650
br i1 %tobool384, label %for.body385, label %for.end396, !dbg !649
for.body385: ; preds = %for.cond383
%260 = load i8, ptr %c382, align 1, !dbg !652
%conv386 = zext i8 %260 to i32, !dbg !652
%cmp387 = icmp eq i32 %conv386, 46, !dbg !652
br i1 %cmp387, label %if.then388, label %if.end389, !dbg !655
if.then388: ; preds = %for.body385
store i32 0, ptr %h381, align 4, !dbg !656
br label %for.end396, !dbg !658
if.end389: ; preds = %for.body385
%261 = load i32, ptr %h381, align 4, !dbg !659
%shl390 = shl i32 %261, 5, !dbg !659
%262 = load i32, ptr %h381, align 4, !dbg !659
%add391 = add i32 %shl390, %262, !dbg !659
%263 = load i8, ptr %c382, align 1, !dbg !659
%conv392 = zext i8 %263 to i32, !dbg !659
%add393 = add i32 %add391, %conv392, !dbg !659
store i32 %add393, ptr %h381, align 4, !dbg !659
br label %for.inc394, !dbg !660
for.inc394: ; preds = %if.end389
%264 = load ptr, ptr %s380, align 8, !dbg !650
%incdec.ptr395 = getelementptr inbounds i8, ptr %264, i32 1, !dbg !650
store ptr %incdec.ptr395, ptr %s380, align 8, !dbg !650
%265 = load i8, ptr %incdec.ptr395, align 1, !dbg !650
store i8 %265, ptr %c382, align 1, !dbg !650
br label %for.cond383, !dbg !650, !llvm.loop !661
for.end396: ; preds = %if.then388, %for.cond383
%266 = load i32, ptr %h381, align 4, !dbg !663
%267 = load ptr, ptr %class_infos294, align 8, !dbg !663
%268 = load i32, ptr %idx, align 4, !dbg !663
%idxprom397 = zext i32 %268 to i64, !dbg !663
%arrayidx398 = getelementptr inbounds %struct.ClassInfo, ptr %267, i64 %idxprom397, !dbg !663
%hash399 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx398, i32 0, i32 1, !dbg !663
store i32 %266, ptr %hash399, align 1, !dbg !663
br label %if.end405, !dbg !664
if.else400: ; preds = %land.lhs.true359, %if.end357
%269 = load i32, ptr %should_log.addr, align 4, !dbg !665
%tobool401 = icmp ne i32 %269, 0, !dbg !665
br i1 %tobool401, label %if.then402, label %if.end404, !dbg !668
if.then402: ; preds = %if.else400
%call403 = call i32 (ptr, ...) @printf(ptr @.str.19) #3, !dbg !665
br label %if.end404, !dbg !665
if.end404: ; preds = %if.then402, %if.else400
br label %if.end405
if.end405: ; preds = %if.end404, %for.end396
%270 = load i32, ptr %idx, align 4, !dbg !669
%inc406 = add i32 %270, 1, !dbg !669
store i32 %inc406, ptr %idx, align 4, !dbg !669
br label %for.inc407, !dbg !670
for.inc407: ; preds = %if.end405, %if.end355, %if.end348
%271 = load i32, ptr %i331, align 4, !dbg !609
%inc408 = add i32 %271, 1, !dbg !609
store i32 %inc408, ptr %i331, align 4, !dbg !609
br label %for.cond332, !dbg !609, !llvm.loop !671
for.end409: ; preds = %for.cond332
call void @llvm.dbg.declare(metadata ptr %duplicate_count_ptr410, metadata !673, metadata !DIExpression()), !dbg !674
%272 = load ptr, ptr %classOffsets309, align 8, !dbg !674
%273 = load ptr, ptr %clsopt275, align 8, !dbg !674
%capacity411 = getelementptr inbounds %struct.objc_clsopt_t, ptr %273, i32 0, i32 0, !dbg !674
%274 = load i32, ptr %capacity411, align 8, !dbg !674
%idxprom412 = zext i32 %274 to i64, !dbg !674
%arrayidx413 = getelementptr inbounds %struct.objc_classheader_t, ptr %272, i64 %idxprom412, !dbg !674
store ptr %arrayidx413, ptr %duplicate_count_ptr410, align 8, !dbg !674
call void @llvm.dbg.declare(metadata ptr %duplicate_count414, metadata !675, metadata !DIExpression()), !dbg !676
%275 = load ptr, ptr %duplicate_count_ptr410, align 8, !dbg !676
%276 = load i32, ptr %275, align 4, !dbg !676
store i32 %276, ptr %duplicate_count414, align 4, !dbg !676
call void @llvm.dbg.declare(metadata ptr %duplicateClassOffsets415, metadata !677, metadata !DIExpression()), !dbg !678
%277 = load ptr, ptr %duplicate_count_ptr410, align 8, !dbg !678
%arrayidx416 = getelementptr inbounds i32, ptr %277, i64 1, !dbg !678
store ptr %arrayidx416, ptr %duplicateClassOffsets415, align 8, !dbg !678
%278 = load i32, ptr %should_log.addr, align 4, !dbg !679
%tobool417 = icmp ne i32 %278, 0, !dbg !679
br i1 %tobool417, label %if.then418, label %if.end420, !dbg !681
if.then418: ; preds = %for.end409
%279 = load i32, ptr %duplicate_count414, align 4, !dbg !679
%call419 = call i32 (ptr, ...) @printf(ptr @.str.20, i32 %279) #3, !dbg !679
br label %if.end420, !dbg !679
if.end420: ; preds = %if.then418, %for.end409
%280 = load i32, ptr %should_log.addr, align 4, !dbg !682
%tobool421 = icmp ne i32 %280, 0, !dbg !682
br i1 %tobool421, label %if.then422, label %if.end424, !dbg !684
if.then422: ; preds = %if.end420
%281 = load ptr, ptr %duplicateClassOffsets415, align 8, !dbg !682
%call423 = call i32 (ptr, ...) @printf(ptr @.str.21, ptr %281) #3, !dbg !682
br label %if.end424, !dbg !682
if.end424: ; preds = %if.then422, %if.end420
call void @llvm.dbg.declare(metadata ptr %i425, metadata !685, metadata !DIExpression()), !dbg !687
store i32 0, ptr %i425, align 4, !dbg !687
br label %for.cond426, !dbg !687
for.cond426: ; preds = %for.inc485, %if.end424
%282 = load i32, ptr %i425, align 4, !dbg !688
%283 = load i32, ptr %duplicate_count414, align 4, !dbg !688
%cmp427 = icmp ult i32 %282, %283, !dbg !688
br i1 %cmp427, label %for.body428, label %for.end487, !dbg !687
for.body428: ; preds = %for.cond426
call void @llvm.dbg.declare(metadata ptr %clsOffset429, metadata !690, metadata !DIExpression()), !dbg !692
%284 = load ptr, ptr %duplicateClassOffsets415, align 8, !dbg !692
%285 = load i32, ptr %i425, align 4, !dbg !692
%idxprom430 = zext i32 %285 to i64, !dbg !692
%arrayidx431 = getelementptr inbounds %struct.objc_classheader_t, ptr %284, i64 %idxprom430, !dbg !692
%clsOffset432 = getelementptr inbounds %struct.objc_classheader_t, ptr %arrayidx431, i32 0, i32 0, !dbg !692
%286 = load i32, ptr %clsOffset432, align 4, !dbg !692
store i32 %286, ptr %clsOffset429, align 4, !dbg !692
%287 = load i32, ptr %clsOffset429, align 4, !dbg !693
%and433 = and i32 %287, 1, !dbg !693
%tobool434 = icmp ne i32 %and433, 0, !dbg !693
br i1 %tobool434, label %if.then435, label %if.else436, !dbg !695
if.then435: ; preds = %for.body428
br label %for.inc485, !dbg !696
if.else436: ; preds = %for.body428
%288 = load i32, ptr %clsOffset429, align 4, !dbg !697
%289 = load i32, ptr %invalidEntryOffset, align 4, !dbg !697
%cmp437 = icmp eq i32 %288, %289, !dbg !697
br i1 %cmp437, label %if.then438, label %if.end439, !dbg !699
if.then438: ; preds = %if.else436
br label %for.inc485, !dbg !700
if.end439: ; preds = %if.else436
br label %if.end440
if.end440: ; preds = %if.end439
%290 = load ptr, ptr %class_infos294, align 8, !dbg !701
%tobool441 = icmp ne ptr %290, null, !dbg !701
br i1 %tobool441, label %land.lhs.true442, label %if.end483, !dbg !701
land.lhs.true442: ; preds = %if.end440
%291 = load i32, ptr %idx, align 4, !dbg !701
%conv443 = zext i32 %291 to i64, !dbg !701
%292 = load i64, ptr %max_class_infos287, align 8, !dbg !701
%cmp444 = icmp ult i64 %conv443, %292, !dbg !701
br i1 %cmp444, label %if.then445, label %if.end483, !dbg !703
if.then445: ; preds = %land.lhs.true442
%293 = load ptr, ptr %clsopt275, align 8, !dbg !704
%294 = load i32, ptr %clsOffset429, align 4, !dbg !704
%idx.ext446 = sext i32 %294 to i64, !dbg !704
%add.ptr447 = getelementptr inbounds i8, ptr %293, i64 %idx.ext446, !dbg !704
%295 = load ptr, ptr %class_infos294, align 8, !dbg !704
%296 = load i32, ptr %idx, align 4, !dbg !704
%idxprom448 = zext i32 %296 to i64, !dbg !704
%arrayidx449 = getelementptr inbounds %struct.ClassInfo, ptr %295, i64 %idxprom448, !dbg !704
%isa450 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx449, i32 0, i32 0, !dbg !704
store ptr %add.ptr447, ptr %isa450, align 1, !dbg !704
call void @llvm.dbg.declare(metadata ptr %name451, metadata !706, metadata !DIExpression()), !dbg !707
%297 = load ptr, ptr @class_name_lookup_func, align 8, !dbg !707
%298 = load ptr, ptr %class_infos294, align 8, !dbg !707
%299 = load i32, ptr %idx, align 4, !dbg !707
%idxprom452 = zext i32 %299 to i64, !dbg !707
%arrayidx453 = getelementptr inbounds %struct.ClassInfo, ptr %298, i64 %idxprom452, !dbg !707
%isa454 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx453, i32 0, i32 0, !dbg !707
%300 = load ptr, ptr %isa454, align 1, !dbg !707
%call455 = call ptr %297(ptr %300) #3, !dbg !707
store ptr %call455, ptr %name451, align 8, !dbg !707
%301 = load i32, ptr %should_log.addr, align 4, !dbg !708
%tobool456 = icmp ne i32 %301, 0, !dbg !708
br i1 %tobool456, label %if.then457, label %if.end462, !dbg !710
if.then457: ; preds = %if.then445
%302 = load i32, ptr %idx, align 4, !dbg !708
%303 = load ptr, ptr %class_infos294, align 8, !dbg !708
%304 = load i32, ptr %idx, align 4, !dbg !708
%idxprom458 = zext i32 %304 to i64, !dbg !708
%arrayidx459 = getelementptr inbounds %struct.ClassInfo, ptr %303, i64 %idxprom458, !dbg !708
%isa460 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx459, i32 0, i32 0, !dbg !708
%305 = load ptr, ptr %isa460, align 1, !dbg !708
%306 = load ptr, ptr %name451, align 8, !dbg !708
%call461 = call i32 (ptr, ...) @printf(ptr @.str.18, i32 %302, ptr %305, ptr %306) #3, !dbg !708
br label %if.end462, !dbg !708
if.end462: ; preds = %if.then457, %if.then445
call void @llvm.dbg.declare(metadata ptr %s463, metadata !711, metadata !DIExpression()), !dbg !712
%307 = load ptr, ptr %name451, align 8, !dbg !712
store ptr %307, ptr %s463, align 8, !dbg !712
call void @llvm.dbg.declare(metadata ptr %h464, metadata !713, metadata !DIExpression()), !dbg !714
store i32 5381, ptr %h464, align 4, !dbg !714
call void @llvm.dbg.declare(metadata ptr %c465, metadata !715, metadata !DIExpression()), !dbg !717
%308 = load ptr, ptr %s463, align 8, !dbg !717
%309 = load i8, ptr %308, align 1, !dbg !717
store i8 %309, ptr %c465, align 1, !dbg !717
br label %for.cond466, !dbg !717
for.cond466: ; preds = %for.inc477, %if.end462
%310 = load i8, ptr %c465, align 1, !dbg !718
%tobool467 = icmp ne i8 %310, 0, !dbg !718
br i1 %tobool467, label %for.body468, label %for.end479, !dbg !717
for.body468: ; preds = %for.cond466
%311 = load i8, ptr %c465, align 1, !dbg !720
%conv469 = zext i8 %311 to i32, !dbg !720
%cmp470 = icmp eq i32 %conv469, 46, !dbg !720
br i1 %cmp470, label %if.then471, label %if.end472, !dbg !723
if.then471: ; preds = %for.body468
store i32 0, ptr %h464, align 4, !dbg !724
br label %for.end479, !dbg !726
if.end472: ; preds = %for.body468
%312 = load i32, ptr %h464, align 4, !dbg !727
%shl473 = shl i32 %312, 5, !dbg !727
%313 = load i32, ptr %h464, align 4, !dbg !727
%add474 = add i32 %shl473, %313, !dbg !727
%314 = load i8, ptr %c465, align 1, !dbg !727
%conv475 = zext i8 %314 to i32, !dbg !727
%add476 = add i32 %add474, %conv475, !dbg !727
store i32 %add476, ptr %h464, align 4, !dbg !727
br label %for.inc477, !dbg !728
for.inc477: ; preds = %if.end472
%315 = load ptr, ptr %s463, align 8, !dbg !718
%incdec.ptr478 = getelementptr inbounds i8, ptr %315, i32 1, !dbg !718
store ptr %incdec.ptr478, ptr %s463, align 8, !dbg !718
%316 = load i8, ptr %incdec.ptr478, align 1, !dbg !718
store i8 %316, ptr %c465, align 1, !dbg !718
br label %for.cond466, !dbg !718, !llvm.loop !729
for.end479: ; preds = %if.then471, %for.cond466
%317 = load i32, ptr %h464, align 4, !dbg !731
%318 = load ptr, ptr %class_infos294, align 8, !dbg !731
%319 = load i32, ptr %idx, align 4, !dbg !731
%idxprom480 = zext i32 %319 to i64, !dbg !731
%arrayidx481 = getelementptr inbounds %struct.ClassInfo, ptr %318, i64 %idxprom480, !dbg !731
%hash482 = getelementptr inbounds %struct.ClassInfo, ptr %arrayidx481, i32 0, i32 1, !dbg !731
store i32 %317, ptr %hash482, align 1, !dbg !731
br label %if.end483, !dbg !732
if.end483: ; preds = %for.end479, %land.lhs.true442, %if.end440
%320 = load i32, ptr %idx, align 4, !dbg !733
%inc484 = add i32 %320, 1, !dbg !733
store i32 %inc484, ptr %idx, align 4, !dbg !733
br label %for.inc485, !dbg !734
for.inc485: ; preds = %if.end483, %if.then438, %if.then435
%321 = load i32, ptr %i425, align 4, !dbg !688
%inc486 = add i32 %321, 1, !dbg !688
store i32 %inc486, ptr %i425, align 4, !dbg !688
br label %for.cond426, !dbg !688, !llvm.loop !735
for.end487: ; preds = %for.cond426
br label %if.end488, !dbg !737
if.end488: ; preds = %for.end487, %land.lhs.true271, %if.else268
br label %if.end489
if.end489: ; preds = %if.end488, %for.end267
%322 = load i32, ptr %should_log.addr, align 4, !dbg !738
%tobool490 = icmp ne i32 %322, 0, !dbg !738
br i1 %tobool490, label %if.then491, label %if.end493, !dbg !740
if.then491: ; preds = %if.end489
%323 = load i32, ptr %idx, align 4, !dbg !738
%call492 = call i32 (ptr, ...) @printf(ptr @.str.26, i32 %323) #3, !dbg !738
br label %if.end493, !dbg !738
if.end493: ; preds = %if.then491, %if.end489
%324 = load i32, ptr %should_log.addr, align 4, !dbg !741
%tobool494 = icmp ne i32 %324, 0, !dbg !741
br i1 %tobool494, label %if.then495, label %if.end497, !dbg !743
if.then495: ; preds = %if.end493
%call496 = call i32 (ptr, ...) @printf(ptr @.str.27) #3, !dbg !741
br label %if.end497, !dbg !741
if.end497: ; preds = %if.then495, %if.end493
br label %if.end498, !dbg !744
if.end498: ; preds = %if.end497, %if.end12
%325 = load i32, ptr %idx, align 4, !dbg !745
ret i32 %325, !dbg !745
}
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #2
; Function Attrs: convergent
declare i32 @printf(ptr, ...) #0
attributes #0 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #2 = { nocallback nofree nosync nounwind readnone speculatable willreturn }
attributes #3 = { convergent "no-builtins" }
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!216, !217, !218, !219, !220, !221, !222, !223, !224}
!clang.global.decl.ptrs = !{!225, !226, !227, !228}
!llvm.ident = !{!229}
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "class_name_lookup_func", scope: !2, file: !6, line: 40, type: !211, isLocal: false, isDefinition: true)
!2 = distinct !DICompileUnit(language: DW_LANG_ObjC_plus_plus, file: !3, producer: "Apple clang version 15.0.0 (clang-1500.0.40.1)", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug, retainedTypes: !4, globals: !101)
!3 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "/")
!4 = !{!5, !8, !19, !27, !41, !62, !63, !72, !74, !67, !81, !82, !95}
!5 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", file: !6, line: 26, baseType: !7)
!6 = !DIFile(filename: "<lldb wrapper prefix>", directory: "/")
!7 = !DIBasicType(name: "unsigned long long", size: 64, encoding: DW_ATE_unsigned)
!8 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !9, size: 64)
!9 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_opt_t", file: !6, line: 101, size: 128, flags: DIFlagTypePassByValue, elements: !10, identifier: "_ZTS10objc_opt_t")
!10 = !{!11, !14, !17, !18}
!11 = !DIDerivedType(tag: DW_TAG_member, name: "version", scope: !9, file: !6, line: 102, baseType: !12, size: 32)
!12 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !6, line: 24, baseType: !13)
!13 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
!14 = !DIDerivedType(tag: DW_TAG_member, name: "selopt_offset", scope: !9, file: !6, line: 103, baseType: !15, size: 32, offset: 32)
!15 = !DIDerivedType(tag: DW_TAG_typedef, name: "int32_t", file: !6, line: 23, baseType: !16)
!16 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!17 = !DIDerivedType(tag: DW_TAG_member, name: "headeropt_offset", scope: !9, file: !6, line: 104, baseType: !15, size: 32, offset: 64)
!18 = !DIDerivedType(tag: DW_TAG_member, name: "clsopt_offset", scope: !9, file: !6, line: 105, baseType: !15, size: 32, offset: 96)
!19 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !20, size: 64)
!20 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_opt_v14_t", file: !6, line: 108, size: 160, flags: DIFlagTypePassByValue, elements: !21, identifier: "_ZTS14objc_opt_v14_t")
!21 = !{!22, !23, !24, !25, !26}
!22 = !DIDerivedType(tag: DW_TAG_member, name: "version", scope: !20, file: !6, line: 109, baseType: !12, size: 32)
!23 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !20, file: !6, line: 110, baseType: !12, size: 32, offset: 32)
!24 = !DIDerivedType(tag: DW_TAG_member, name: "selopt_offset", scope: !20, file: !6, line: 111, baseType: !15, size: 32, offset: 64)
!25 = !DIDerivedType(tag: DW_TAG_member, name: "headeropt_offset", scope: !20, file: !6, line: 112, baseType: !15, size: 32, offset: 96)
!26 = !DIDerivedType(tag: DW_TAG_member, name: "clsopt_offset", scope: !20, file: !6, line: 113, baseType: !15, size: 32, offset: 128)
!27 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !28, size: 64)
!28 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_opt_v16_t", file: !6, line: 116, size: 384, flags: DIFlagTypePassByValue, elements: !29, identifier: "_ZTS14objc_opt_v16_t")
!29 = !{!30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40}
!30 = !DIDerivedType(tag: DW_TAG_member, name: "version", scope: !28, file: !6, line: 117, baseType: !12, size: 32)
!31 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !28, file: !6, line: 118, baseType: !12, size: 32, offset: 32)
!32 = !DIDerivedType(tag: DW_TAG_member, name: "selopt_offset", scope: !28, file: !6, line: 119, baseType: !15, size: 32, offset: 64)
!33 = !DIDerivedType(tag: DW_TAG_member, name: "headeropt_ro_offset", scope: !28, file: !6, line: 120, baseType: !15, size: 32, offset: 96)
!34 = !DIDerivedType(tag: DW_TAG_member, name: "unused_clsopt_offset", scope: !28, file: !6, line: 121, baseType: !15, size: 32, offset: 128)
!35 = !DIDerivedType(tag: DW_TAG_member, name: "unused_protocolopt_offset", scope: !28, file: !6, line: 122, baseType: !15, size: 32, offset: 160)
!36 = !DIDerivedType(tag: DW_TAG_member, name: "headeropt_rw_offset", scope: !28, file: !6, line: 123, baseType: !15, size: 32, offset: 192)
!37 = !DIDerivedType(tag: DW_TAG_member, name: "unused_protocolopt2_offset", scope: !28, file: !6, line: 124, baseType: !15, size: 32, offset: 224)
!38 = !DIDerivedType(tag: DW_TAG_member, name: "largeSharedCachesClassOffset", scope: !28, file: !6, line: 125, baseType: !15, size: 32, offset: 256)
!39 = !DIDerivedType(tag: DW_TAG_member, name: "largeSharedCachesProtocolOffset", scope: !28, file: !6, line: 126, baseType: !15, size: 32, offset: 288)
!40 = !DIDerivedType(tag: DW_TAG_member, name: "relativeMethodSelectorBaseAddressCacheOffset", scope: !28, file: !6, line: 127, baseType: !5, size: 64, offset: 320)
!41 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !42, size: 64)
!42 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !43)
!43 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_clsopt_v16_t", file: !6, line: 84, size: 8448, flags: DIFlagTypePassByValue, elements: !44, identifier: "_ZTS17objc_clsopt_v16_t")
!44 = !{!45, !46, !47, !48, !49, !50, !51, !52, !56}
!45 = !DIDerivedType(tag: DW_TAG_member, name: "version", scope: !43, file: !6, line: 85, baseType: !12, size: 32)
!46 = !DIDerivedType(tag: DW_TAG_member, name: "capacity", scope: !43, file: !6, line: 86, baseType: !12, size: 32, offset: 32)
!47 = !DIDerivedType(tag: DW_TAG_member, name: "occupied", scope: !43, file: !6, line: 87, baseType: !12, size: 32, offset: 64)
!48 = !DIDerivedType(tag: DW_TAG_member, name: "shift", scope: !43, file: !6, line: 88, baseType: !12, size: 32, offset: 96)
!49 = !DIDerivedType(tag: DW_TAG_member, name: "mask", scope: !43, file: !6, line: 89, baseType: !12, size: 32, offset: 128)
!50 = !DIDerivedType(tag: DW_TAG_member, name: "zero", scope: !43, file: !6, line: 90, baseType: !12, size: 32, offset: 160)
!51 = !DIDerivedType(tag: DW_TAG_member, name: "salt", scope: !43, file: !6, line: 91, baseType: !5, size: 64, offset: 192)
!52 = !DIDerivedType(tag: DW_TAG_member, name: "scramble", scope: !43, file: !6, line: 92, baseType: !53, size: 8192, offset: 256)
!53 = !DICompositeType(tag: DW_TAG_array_type, baseType: !12, size: 8192, elements: !54)
!54 = !{!55}
!55 = !DISubrange(count: 256)
!56 = !DIDerivedType(tag: DW_TAG_member, name: "tab", scope: !43, file: !6, line: 93, baseType: !57, offset: 8448)
!57 = !DICompositeType(tag: DW_TAG_array_type, baseType: !58, elements: !60)
!58 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !6, line: 20, baseType: !59)
!59 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char)
!60 = !{!61}
!61 = !DISubrange(count: 0)
!62 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !58, size: 64)
!63 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !64, size: 64)
!64 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "ClassInfo", file: !6, line: 130, size: 96, flags: DIFlagTypePassByValue, elements: !65, identifier: "_ZTS9ClassInfo")
!65 = !{!66, !71}
!66 = !DIDerivedType(tag: DW_TAG_member, name: "isa", scope: !64, file: !6, line: 132, baseType: !67, size: 64)
!67 = !DIDerivedType(tag: DW_TAG_typedef, name: "Class", file: !68, baseType: !69)
!68 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "")
!69 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !70, size: 64)
!70 = !DICompositeType(tag: DW_TAG_structure_type, name: "objc_class", file: !3, flags: DIFlagFwdDecl)
!71 = !DIDerivedType(tag: DW_TAG_member, name: "hash", scope: !64, file: !6, line: 133, baseType: !12, size: 32, offset: 64)
!72 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !73, size: 64)
!73 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !15)
!74 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !75, size: 64)
!75 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !76)
!76 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_classheader_v16_t", file: !6, line: 61, size: 64, flags: DIFlagTypePassByValue, elements: !77, identifier: "_ZTS22objc_classheader_v16_t")
!77 = !{!78, !79, !80}
!78 = !DIDerivedType(tag: DW_TAG_member, name: "isDuplicate", scope: !76, file: !6, line: 62, baseType: !5, size: 1, flags: DIFlagBitField, extraData: i64 0)
!79 = !DIDerivedType(tag: DW_TAG_member, name: "objectCacheOffset", scope: !76, file: !6, line: 63, baseType: !5, size: 47, offset: 1, flags: DIFlagBitField, extraData: i64 0)
!80 = !DIDerivedType(tag: DW_TAG_member, name: "dylibObjCIndex", scope: !76, file: !6, line: 64, baseType: !5, size: 16, offset: 48, flags: DIFlagBitField, extraData: i64 0)
!81 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !12, size: 64)
!82 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !83, size: 64)
!83 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !84)
!84 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_clsopt_t", file: !6, line: 67, size: 8448, flags: DIFlagTypePassByValue, elements: !85, identifier: "_ZTS13objc_clsopt_t")
!85 = !{!86, !87, !88, !89, !90, !91, !92, !93, !94}
!86 = !DIDerivedType(tag: DW_TAG_member, name: "capacity", scope: !84, file: !6, line: 68, baseType: !12, size: 32)
!87 = !DIDerivedType(tag: DW_TAG_member, name: "occupied", scope: !84, file: !6, line: 69, baseType: !12, size: 32, offset: 32)
!88 = !DIDerivedType(tag: DW_TAG_member, name: "shift", scope: !84, file: !6, line: 70, baseType: !12, size: 32, offset: 64)
!89 = !DIDerivedType(tag: DW_TAG_member, name: "mask", scope: !84, file: !6, line: 71, baseType: !12, size: 32, offset: 96)
!90 = !DIDerivedType(tag: DW_TAG_member, name: "zero", scope: !84, file: !6, line: 72, baseType: !12, size: 32, offset: 128)
!91 = !DIDerivedType(tag: DW_TAG_member, name: "unused", scope: !84, file: !6, line: 73, baseType: !12, size: 32, offset: 160)
!92 = !DIDerivedType(tag: DW_TAG_member, name: "salt", scope: !84, file: !6, line: 74, baseType: !5, size: 64, offset: 192)
!93 = !DIDerivedType(tag: DW_TAG_member, name: "scramble", scope: !84, file: !6, line: 75, baseType: !53, size: 8192, offset: 256)
!94 = !DIDerivedType(tag: DW_TAG_member, name: "tab", scope: !84, file: !6, line: 76, baseType: !57, offset: 8448)
!95 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !96, size: 64)
!96 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !97)
!97 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "objc_classheader_t", file: !6, line: 56, size: 64, flags: DIFlagTypePassByValue, elements: !98, identifier: "_ZTS18objc_classheader_t")
!98 = !{!99, !100}
!99 = !DIDerivedType(tag: DW_TAG_member, name: "clsOffset", scope: !97, file: !6, line: 57, baseType: !15, size: 32)
!100 = !DIDerivedType(tag: DW_TAG_member, name: "hiOffset", scope: !97, file: !6, line: 58, baseType: !15, size: 32, offset: 32)
!101 = !{!0, !102, !109, !114, !116, !121, !126, !128, !133, !138, !143, !148, !150, !152, !157, !159, !164, !166, !171, !176, !178, !183, !185, !187, !192, !194, !199, !201, !206}
!102 = !DIGlobalVariableExpression(var: !103, expr: !DIExpression())
!103 = distinct !DIGlobalVariable(scope: null, file: !6, line: 146, type: !104, isLocal: true, isDefinition: true)
!104 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 176, elements: !107)
!105 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !106)
!106 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
!107 = !{!108}
!108 = !DISubrange(count: 22)
!109 = !DIGlobalVariableExpression(var: !110, expr: !DIExpression())
!110 = distinct !DIGlobalVariable(scope: null, file: !6, line: 147, type: !111, isLocal: true, isDefinition: true)
!111 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 224, elements: !112)
!112 = !{!113}
!113 = !DISubrange(count: 28)
!114 = !DIGlobalVariableExpression(var: !115, expr: !DIExpression())
!115 = distinct !DIGlobalVariable(scope: null, file: !6, line: 148, type: !104, isLocal: true, isDefinition: true)
!116 = !DIGlobalVariableExpression(var: !117, expr: !DIExpression())
!117 = distinct !DIGlobalVariable(scope: null, file: !6, line: 149, type: !118, isLocal: true, isDefinition: true)
!118 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 376, elements: !119)
!119 = !{!120}
!120 = !DISubrange(count: 47)
!121 = !DIGlobalVariableExpression(var: !122, expr: !DIExpression())
!122 = distinct !DIGlobalVariable(scope: null, file: !6, line: 158, type: !123, isLocal: true, isDefinition: true)
!123 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 192, elements: !124)
!124 = !{!125}
!125 = !DISubrange(count: 24)
!126 = !DIGlobalVariableExpression(var: !127, expr: !DIExpression())
!127 = distinct !DIGlobalVariable(scope: null, file: !6, line: 159, type: !104, isLocal: true, isDefinition: true)
!128 = !DIGlobalVariableExpression(var: !129, expr: !DIExpression())
!129 = distinct !DIGlobalVariable(scope: null, file: !6, line: 160, type: !130, isLocal: true, isDefinition: true)
!130 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 240, elements: !131)
!131 = !{!132}
!132 = !DISubrange(count: 30)
!133 = !DIGlobalVariableExpression(var: !134, expr: !DIExpression())
!134 = distinct !DIGlobalVariable(scope: null, file: !6, line: 161, type: !135, isLocal: true, isDefinition: true)
!135 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 288, elements: !136)
!136 = !{!137}
!137 = !DISubrange(count: 36)
!138 = !DIGlobalVariableExpression(var: !139, expr: !DIExpression())
!139 = distinct !DIGlobalVariable(scope: null, file: !6, line: 162, type: !140, isLocal: true, isDefinition: true)
!140 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 488, elements: !141)
!141 = !{!142}
!142 = !DISubrange(count: 61)
!143 = !DIGlobalVariableExpression(var: !144, expr: !DIExpression())
!144 = distinct !DIGlobalVariable(scope: null, file: !6, line: 169, type: !145, isLocal: true, isDefinition: true)
!145 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 264, elements: !146)
!146 = !{!147}
!147 = !DISubrange(count: 33)
!148 = !DIGlobalVariableExpression(var: !149, expr: !DIExpression())
!149 = distinct !DIGlobalVariable(scope: null, file: !6, line: 170, type: !130, isLocal: true, isDefinition: true)
!150 = !DIGlobalVariableExpression(var: !151, expr: !DIExpression())
!151 = distinct !DIGlobalVariable(scope: null, file: !6, line: 185, type: !123, isLocal: true, isDefinition: true)
!152 = !DIGlobalVariableExpression(var: !153, expr: !DIExpression())
!153 = distinct !DIGlobalVariable(scope: null, file: !6, line: 193, type: !154, isLocal: true, isDefinition: true)
!154 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 184, elements: !155)
!155 = !{!156}
!156 = !DISubrange(count: 23)
!157 = !DIGlobalVariableExpression(var: !158, expr: !DIExpression())
!158 = distinct !DIGlobalVariable(scope: null, file: !6, line: 194, type: !123, isLocal: true, isDefinition: true)
!159 = !DIGlobalVariableExpression(var: !160, expr: !DIExpression())
!160 = distinct !DIGlobalVariable(scope: null, file: !6, line: 195, type: !161, isLocal: true, isDefinition: true)
!161 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 152, elements: !162)
!162 = !{!163}
!163 = !DISubrange(count: 19)
!164 = !DIGlobalVariableExpression(var: !165, expr: !DIExpression())
!165 = distinct !DIGlobalVariable(scope: null, file: !6, line: 200, type: !111, isLocal: true, isDefinition: true)
!166 = !DIGlobalVariableExpression(var: !167, expr: !DIExpression())
!167 = distinct !DIGlobalVariable(scope: null, file: !6, line: 203, type: !168, isLocal: true, isDefinition: true)
!168 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 160, elements: !169)
!169 = !{!170}
!170 = !DISubrange(count: 20)
!171 = !DIGlobalVariableExpression(var: !172, expr: !DIExpression())
!172 = distinct !DIGlobalVariable(scope: null, file: !6, line: 208, type: !173, isLocal: true, isDefinition: true)
!173 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 328, elements: !174)
!174 = !{!175}
!175 = !DISubrange(count: 41)
!176 = !DIGlobalVariableExpression(var: !177, expr: !DIExpression())
!177 = distinct !DIGlobalVariable(scope: null, file: !6, line: 218, type: !161, isLocal: true, isDefinition: true)
!178 = !DIGlobalVariableExpression(var: !179, expr: !DIExpression())
!179 = distinct !DIGlobalVariable(scope: null, file: !6, line: 240, type: !180, isLocal: true, isDefinition: true)
!180 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 344, elements: !181)
!181 = !{!182}
!182 = !DISubrange(count: 43)
!183 = !DIGlobalVariableExpression(var: !184, expr: !DIExpression())
!184 = distinct !DIGlobalVariable(scope: null, file: !6, line: 249, type: !104, isLocal: true, isDefinition: true)
!185 = !DIGlobalVariableExpression(var: !186, expr: !DIExpression())
!186 = distinct !DIGlobalVariable(scope: null, file: !6, line: 250, type: !111, isLocal: true, isDefinition: true)
!187 = !DIGlobalVariableExpression(var: !188, expr: !DIExpression())
!188 = distinct !DIGlobalVariable(scope: null, file: !6, line: 315, type: !189, isLocal: true, isDefinition: true)
!189 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 200, elements: !190)
!190 = !{!191}
!191 = !DISubrange(count: 25)
!192 = !DIGlobalVariableExpression(var: !193, expr: !DIExpression())
!193 = distinct !DIGlobalVariable(scope: null, file: !6, line: 319, type: !168, isLocal: true, isDefinition: true)
!194 = !DIGlobalVariableExpression(var: !195, expr: !DIExpression())
!195 = distinct !DIGlobalVariable(scope: null, file: !6, line: 322, type: !196, isLocal: true, isDefinition: true)
!196 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 120, elements: !197)
!197 = !{!198}
!198 = !DISubrange(count: 15)
!199 = !DIGlobalVariableExpression(var: !200, expr: !DIExpression())
!200 = distinct !DIGlobalVariable(scope: null, file: !6, line: 327, type: !145, isLocal: true, isDefinition: true)
!201 = !DIGlobalVariableExpression(var: !202, expr: !DIExpression())
!202 = distinct !DIGlobalVariable(scope: null, file: !6, line: 400, type: !203, isLocal: true, isDefinition: true)
!203 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 128, elements: !204)
!204 = !{!205}
!205 = !DISubrange(count: 16)
!206 = !DIGlobalVariableExpression(var: !207, expr: !DIExpression())
!207 = distinct !DIGlobalVariable(scope: null, file: !6, line: 401, type: !208, isLocal: true, isDefinition: true)
!208 = !DICompositeType(tag: DW_TAG_array_type, baseType: !105, size: 48, elements: !209)
!209 = !{!210}
!210 = !DISubrange(count: 6)
!211 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !212, size: 64)
!212 = !DISubroutineType(types: !213)
!213 = !{!214, !215}
!214 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !105, size: 64)
!215 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!216 = !{i32 1, !"Objective-C Version", i32 2}
!217 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!218 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!219 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!220 = !{i32 1, !"Objective-C Class Properties", i32 64}
!221 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!222 = !{i32 2, !"Debug Info Version", i32 3}
!223 = !{i32 1, !"wchar_size", i32 4}
!224 = !{i32 7, !"frame-pointer", i32 2}
!225 = !{ptr @objc_debug_class_getNameRaw, i64 5181241392}
!226 = !{ptr @class_name_lookup_func, i64 5181344880}
!227 = !{ptr @_Z48__lldb_apple_objc_v2_get_shared_cache_class_infoPvS_S_Pyjj, i64 5181401512}
!228 = !{ptr @printf, i64 5181240760}
!229 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!230 = distinct !DISubprogram(name: "__lldb_apple_objc_v2_get_shared_cache_class_info", linkageName: "_Z48__lldb_apple_objc_v2_get_shared_cache_class_infoPvS_S_Pyjj", scope: !6, file: !6, line: 137, type: !231, scopeLine: 143, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !2, retainedNodes: !234)
!231 = !DISubroutineType(types: !232)
!232 = !{!12, !215, !215, !215, !233, !12, !12}
!233 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !5, size: 64)
!234 = !{}
!235 = !{i64 5181400280}
!236 = !{i64 5181400408}
!237 = !{i64 5181400536}
!238 = !{i64 5181400760}
!239 = !{i64 5181400880}
!240 = !{i64 5181401000}
!241 = !{i64 5181401936}
!242 = !{i64 5181412760}
!243 = !{i64 5181413320}
!244 = !{i64 5181413880}
!245 = !{i64 5181428808}
!246 = !{i64 5181429480}
!247 = !{i64 5181433592}
!248 = !{i64 5181433992}
!249 = !{i64 5181434744}
!250 = !{i64 5181435416}
!251 = !{i64 5181437568}
!252 = !{i64 5181438064}
!253 = !{i64 5181441376}
!254 = !{i64 5181442592}
!255 = !{i64 5181442816}
!256 = !{i64 5181443048}
!257 = !{i64 5181445768}
!258 = !{i64 5181446360}
!259 = !{i64 5181446728}
!260 = !{i64 5181448008}
!261 = !{i64 5181448432}
!262 = !{i64 5181451480}
!263 = !{i64 5181452696}
!264 = !{i64 5181452920}
!265 = !{i64 5181453152}
!266 = !{i64 5181455896}
!267 = !{i64 5181457408}
!268 = !{i64 5181458328}
!269 = !{i64 5181458616}
!270 = !{i64 5181459168}
!271 = !{i64 5181459792}
!272 = !{i64 5181460456}
!273 = !{i64 5181462912}
!274 = !{i64 5181463408}
!275 = !{i64 5181472648}
!276 = !{i64 5181473864}
!277 = !{i64 5181474088}
!278 = !{i64 5181474320}
!279 = !{i64 5181476800}
!280 = !{i64 5181477296}
!281 = !{i64 5181477664}
!282 = !{i64 5181478944}
!283 = !{i64 5181479368}
!284 = !{i64 5181481088}
!285 = !{i64 5181482304}
!286 = !{i64 5181482528}
!287 = !{i64 5181482760}
!288 = !DILocalVariable(name: "objc_opt_ro_ptr", arg: 1, scope: !230, file: !6, line: 137, type: !215)
!289 = !DILocation(line: 137, scope: !230)
!290 = !DILocalVariable(name: "shared_cache_base_ptr", arg: 2, scope: !230, file: !6, line: 138, type: !215)
!291 = !DILocation(line: 138, scope: !230)
!292 = !DILocalVariable(name: "class_infos_ptr", arg: 3, scope: !230, file: !6, line: 139, type: !215)
!293 = !DILocation(line: 139, scope: !230)
!294 = !DILocalVariable(name: "relative_selector_offset", arg: 4, scope: !230, file: !6, line: 140, type: !233)
!295 = !DILocation(line: 140, scope: !230)
!296 = !DILocalVariable(name: "class_infos_byte_size", arg: 5, scope: !230, file: !6, line: 141, type: !12)
!297 = !DILocation(line: 141, scope: !230)
!298 = !DILocalVariable(name: "should_log", arg: 6, scope: !230, file: !6, line: 142, type: !12)
!299 = !DILocation(line: 142, scope: !230)
!300 = !DILocation(line: 144, scope: !230)
!301 = !DILocalVariable(name: "idx", scope: !230, file: !6, line: 145, type: !12)
!302 = !DILocation(line: 145, scope: !230)
!303 = !DILocation(line: 146, scope: !304)
!304 = distinct !DILexicalBlock(scope: !230, file: !6, line: 146)
!305 = !DILocation(line: 146, scope: !230)
!306 = !DILocation(line: 147, scope: !307)
!307 = distinct !DILexicalBlock(scope: !230, file: !6, line: 147)
!308 = !DILocation(line: 147, scope: !230)
!309 = !DILocation(line: 148, scope: !310)
!310 = distinct !DILexicalBlock(scope: !230, file: !6, line: 148)
!311 = !DILocation(line: 148, scope: !230)
!312 = !DILocation(line: 149, scope: !313)
!313 = distinct !DILexicalBlock(scope: !230, file: !6, line: 149)
!314 = !DILocation(line: 149, scope: !230)
!315 = !DILocation(line: 150, scope: !316)
!316 = distinct !DILexicalBlock(scope: !230, file: !6, line: 150)
!317 = !DILocation(line: 150, scope: !230)
!318 = !DILocalVariable(name: "objc_opt", scope: !319, file: !6, line: 152, type: !320)
!319 = distinct !DILexicalBlock(scope: !316, file: !6, line: 151)
!320 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !321, size: 64)
!321 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !9)
!322 = !DILocation(line: 152, scope: !319)
!323 = !DILocalVariable(name: "objc_opt_v14", scope: !319, file: !6, line: 153, type: !324)
!324 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !325, size: 64)
!325 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !20)
!326 = !DILocation(line: 153, scope: !319)
!327 = !DILocalVariable(name: "objc_opt_v16", scope: !319, file: !6, line: 154, type: !328)
!328 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !329, size: 64)
!329 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !28)
!330 = !DILocation(line: 154, scope: !319)
!331 = !DILocation(line: 155, scope: !332)
!332 = distinct !DILexicalBlock(scope: !319, file: !6, line: 155)
!333 = !DILocation(line: 155, scope: !319)
!334 = !DILocation(line: 157, scope: !335)
!335 = distinct !DILexicalBlock(scope: !332, file: !6, line: 156)
!336 = !DILocation(line: 158, scope: !337)
!337 = distinct !DILexicalBlock(scope: !335, file: !6, line: 158)
!338 = !DILocation(line: 158, scope: !335)
!339 = !DILocation(line: 159, scope: !340)
!340 = distinct !DILexicalBlock(scope: !335, file: !6, line: 159)
!341 = !DILocation(line: 159, scope: !335)
!342 = !DILocation(line: 160, scope: !343)
!343 = distinct !DILexicalBlock(scope: !335, file: !6, line: 160)
!344 = !DILocation(line: 160, scope: !335)
!345 = !DILocation(line: 161, scope: !346)
!346 = distinct !DILexicalBlock(scope: !335, file: !6, line: 161)
!347 = !DILocation(line: 161, scope: !335)
!348 = !DILocation(line: 162, scope: !349)
!349 = distinct !DILexicalBlock(scope: !335, file: !6, line: 162)
!350 = !DILocation(line: 162, scope: !335)
!351 = !DILocation(line: 163, scope: !335)
!352 = !DILocation(line: 164, scope: !353)
!353 = distinct !DILexicalBlock(scope: !332, file: !6, line: 164)
!354 = !DILocation(line: 164, scope: !332)
!355 = !DILocation(line: 166, scope: !356)
!356 = distinct !DILexicalBlock(scope: !357, file: !6, line: 166)
!357 = distinct !DILexicalBlock(scope: !353, file: !6, line: 165)
!358 = !DILocation(line: 166, scope: !357)
!359 = !DILocation(line: 167, scope: !360)
!360 = distinct !DILexicalBlock(scope: !357, file: !6, line: 167)
!361 = !DILocation(line: 167, scope: !357)
!362 = !DILocation(line: 168, scope: !363)
!363 = distinct !DILexicalBlock(scope: !357, file: !6, line: 168)
!364 = !DILocation(line: 168, scope: !357)
!365 = !DILocation(line: 169, scope: !366)
!366 = distinct !DILexicalBlock(scope: !357, file: !6, line: 169)
!367 = !DILocation(line: 169, scope: !357)
!368 = !DILocation(line: 170, scope: !369)
!369 = distinct !DILexicalBlock(scope: !357, file: !6, line: 170)
!370 = !DILocation(line: 170, scope: !357)
!371 = !DILocation(line: 171, scope: !357)
!372 = !DILocation(line: 174, scope: !373)
!373 = distinct !DILexicalBlock(scope: !374, file: !6, line: 174)
!374 = distinct !DILexicalBlock(scope: !353, file: !6, line: 173)
!375 = !DILocation(line: 174, scope: !374)
!376 = !DILocation(line: 175, scope: !377)
!377 = distinct !DILexicalBlock(scope: !374, file: !6, line: 175)
!378 = !DILocation(line: 175, scope: !374)
!379 = !DILocation(line: 176, scope: !380)
!380 = distinct !DILexicalBlock(scope: !374, file: !6, line: 176)
!381 = !DILocation(line: 176, scope: !374)
!382 = !DILocation(line: 177, scope: !383)
!383 = distinct !DILexicalBlock(scope: !374, file: !6, line: 177)
!384 = !DILocation(line: 177, scope: !374)
!385 = !DILocation(line: 180, scope: !386)
!386 = distinct !DILexicalBlock(scope: !319, file: !6, line: 180)
!387 = !DILocation(line: 180, scope: !319)
!388 = !DILocalVariable(name: "clsopt", scope: !389, file: !6, line: 182, type: !41)
!389 = distinct !DILexicalBlock(scope: !386, file: !6, line: 181)
!390 = !DILocation(line: 182, scope: !389)
!391 = !DILocalVariable(name: "max_class_infos", scope: !389, file: !6, line: 183, type: !392)
!392 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !393)
!393 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_t", file: !6, line: 29, baseType: !394)
!394 = !DIBasicType(name: "unsigned long", size: 64, encoding: DW_ATE_unsigned)
!395 = !DILocation(line: 183, scope: !389)
!396 = !DILocation(line: 185, scope: !397)
!397 = distinct !DILexicalBlock(scope: !389, file: !6, line: 185)
!398 = !DILocation(line: 185, scope: !389)
!399 = !DILocalVariable(name: "class_infos", scope: !389, file: !6, line: 187, type: !63)
!400 = !DILocation(line: 187, scope: !389)
!401 = !DILocalVariable(name: "checkbytes", scope: !389, file: !6, line: 189, type: !402)
!402 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !403, size: 64)
!403 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !58)
!404 = !DILocation(line: 189, scope: !389)
!405 = !DILocalVariable(name: "offsets", scope: !389, file: !6, line: 190, type: !72)
!406 = !DILocation(line: 190, scope: !389)
!407 = !DILocalVariable(name: "classOffsets", scope: !389, file: !6, line: 191, type: !74)
!408 = !DILocation(line: 191, scope: !389)
!409 = !DILocation(line: 193, scope: !410)
!410 = distinct !DILexicalBlock(scope: !389, file: !6, line: 193)
!411 = !DILocation(line: 193, scope: !389)
!412 = !DILocation(line: 194, scope: !413)
!413 = distinct !DILexicalBlock(scope: !389, file: !6, line: 194)
!414 = !DILocation(line: 194, scope: !389)
!415 = !DILocation(line: 195, scope: !416)
!416 = distinct !DILexicalBlock(scope: !389, file: !6, line: 195)
!417 = !DILocation(line: 195, scope: !389)
!418 = !DILocalVariable(name: "i", scope: !419, file: !6, line: 197, type: !12)
!419 = distinct !DILexicalBlock(scope: !389, file: !6, line: 197)
!420 = !DILocation(line: 197, scope: !419)
!421 = !DILocation(line: 197, scope: !422)
!422 = distinct !DILexicalBlock(scope: !419, file: !6, line: 197)
!423 = !DILocalVariable(name: "objectCacheOffset", scope: !424, file: !6, line: 199, type: !425)
!424 = distinct !DILexicalBlock(scope: !422, file: !6, line: 198)
!425 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !5)
!426 = !DILocation(line: 199, scope: !424)
!427 = !DILocation(line: 200, scope: !428)
!428 = distinct !DILexicalBlock(scope: !424, file: !6, line: 200)
!429 = !DILocation(line: 200, scope: !424)
!430 = !DILocation(line: 202, scope: !431)
!431 = distinct !DILexicalBlock(scope: !424, file: !6, line: 202)
!432 = !DILocation(line: 202, scope: !424)
!433 = !DILocation(line: 203, scope: !434)
!434 = distinct !DILexicalBlock(scope: !435, file: !6, line: 203)
!435 = distinct !DILexicalBlock(scope: !431, file: !6, line: 202)
!436 = !DILocation(line: 203, scope: !435)
!437 = !DILocation(line: 204, scope: !435)
!438 = !DILocation(line: 207, scope: !439)
!439 = distinct !DILexicalBlock(scope: !424, file: !6, line: 207)
!440 = !DILocation(line: 207, scope: !424)
!441 = !DILocation(line: 208, scope: !442)
!442 = distinct !DILexicalBlock(scope: !443, file: !6, line: 208)
!443 = distinct !DILexicalBlock(scope: !439, file: !6, line: 207)
!444 = !DILocation(line: 208, scope: !443)
!445 = !DILocation(line: 209, scope: !443)
!446 = !DILocation(line: 212, scope: !447)
!447 = distinct !DILexicalBlock(scope: !424, file: !6, line: 212)
!448 = !DILocation(line: 212, scope: !424)
!449 = !DILocation(line: 214, scope: !450)
!450 = distinct !DILexicalBlock(scope: !447, file: !6, line: 213)
!451 = !DILocalVariable(name: "name", scope: !450, file: !6, line: 217, type: !214)
!452 = !DILocation(line: 217, scope: !450)
!453 = !DILocation(line: 218, scope: !454)
!454 = distinct !DILexicalBlock(scope: !450, file: !6, line: 218)
!455 = !DILocation(line: 218, scope: !450)
!456 = !DILocalVariable(name: "s", scope: !450, file: !6, line: 221, type: !214)
!457 = !DILocation(line: 221, scope: !450)
!458 = !DILocalVariable(name: "h", scope: !450, file: !6, line: 222, type: !12)
!459 = !DILocation(line: 222, scope: !450)
!460 = !DILocalVariable(name: "c", scope: !461, file: !6, line: 223, type: !59)
!461 = distinct !DILexicalBlock(scope: !450, file: !6, line: 223)
!462 = !DILocation(line: 223, scope: !461)
!463 = !DILocation(line: 223, scope: !464)
!464 = distinct !DILexicalBlock(scope: !461, file: !6, line: 223)
!465 = !DILocation(line: 229, scope: !466)
!466 = distinct !DILexicalBlock(scope: !467, file: !6, line: 229)
!467 = distinct !DILexicalBlock(scope: !464, file: !6, line: 224)
!468 = !DILocation(line: 229, scope: !467)
!469 = !DILocation(line: 231, scope: !470)
!470 = distinct !DILexicalBlock(scope: !466, file: !6, line: 230)
!471 = !DILocation(line: 232, scope: !470)
!472 = !DILocation(line: 234, scope: !467)
!473 = !DILocation(line: 235, scope: !467)
!474 = distinct !{!474, !462, !475, !476}
!475 = !DILocation(line: 235, scope: !461)
!476 = !{!"llvm.loop.mustprogress"}
!477 = !DILocation(line: 236, scope: !450)
!478 = !DILocation(line: 237, scope: !450)
!479 = !DILocation(line: 240, scope: !480)
!480 = distinct !DILexicalBlock(scope: !481, file: !6, line: 240)
!481 = distinct !DILexicalBlock(scope: !447, file: !6, line: 239)
!482 = !DILocation(line: 240, scope: !481)
!483 = !DILocation(line: 242, scope: !424)
!484 = !DILocation(line: 243, scope: !424)
!485 = distinct !{!485, !420, !486, !476}
!486 = !DILocation(line: 243, scope: !419)
!487 = !DILocalVariable(name: "duplicate_count_ptr", scope: !389, file: !6, line: 245, type: !488)
!488 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !489, size: 64)
!489 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !12)
!490 = !DILocation(line: 245, scope: !389)
!491 = !DILocalVariable(name: "duplicate_count", scope: !389, file: !6, line: 246, type: !489)
!492 = !DILocation(line: 246, scope: !389)
!493 = !DILocalVariable(name: "duplicateClassOffsets", scope: !389, file: !6, line: 247, type: !74)
!494 = !DILocation(line: 247, scope: !389)
!495 = !DILocation(line: 249, scope: !496)
!496 = distinct !DILexicalBlock(scope: !389, file: !6, line: 249)
!497 = !DILocation(line: 249, scope: !389)
!498 = !DILocation(line: 250, scope: !499)
!499 = distinct !DILexicalBlock(scope: !389, file: !6, line: 250)
!500 = !DILocation(line: 250, scope: !389)
!501 = !DILocalVariable(name: "i", scope: !502, file: !6, line: 252, type: !12)
!502 = distinct !DILexicalBlock(scope: !389, file: !6, line: 252)
!503 = !DILocation(line: 252, scope: !502)
!504 = !DILocation(line: 252, scope: !505)
!505 = distinct !DILexicalBlock(scope: !502, file: !6, line: 252)
!506 = !DILocalVariable(name: "objectCacheOffset", scope: !507, file: !6, line: 254, type: !425)
!507 = distinct !DILexicalBlock(scope: !505, file: !6, line: 253)
!508 = !DILocation(line: 254, scope: !507)
!509 = !DILocation(line: 255, scope: !510)
!510 = distinct !DILexicalBlock(scope: !507, file: !6, line: 255)
!511 = !DILocation(line: 255, scope: !507)
!512 = !DILocation(line: 257, scope: !513)
!513 = distinct !DILexicalBlock(scope: !507, file: !6, line: 257)
!514 = !DILocation(line: 257, scope: !507)
!515 = !DILocation(line: 258, scope: !516)
!516 = distinct !DILexicalBlock(scope: !517, file: !6, line: 258)
!517 = distinct !DILexicalBlock(scope: !513, file: !6, line: 257)
!518 = !DILocation(line: 258, scope: !517)
!519 = !DILocation(line: 259, scope: !517)
!520 = !DILocation(line: 262, scope: !521)
!521 = distinct !DILexicalBlock(scope: !507, file: !6, line: 262)
!522 = !DILocation(line: 262, scope: !507)
!523 = !DILocation(line: 263, scope: !524)
!524 = distinct !DILexicalBlock(scope: !525, file: !6, line: 263)
!525 = distinct !DILexicalBlock(scope: !521, file: !6, line: 262)
!526 = !DILocation(line: 263, scope: !525)
!527 = !DILocation(line: 264, scope: !525)
!528 = !DILocation(line: 267, scope: !529)
!529 = distinct !DILexicalBlock(scope: !507, file: !6, line: 267)
!530 = !DILocation(line: 267, scope: !507)
!531 = !DILocation(line: 269, scope: !532)
!532 = distinct !DILexicalBlock(scope: !529, file: !6, line: 268)
!533 = !DILocalVariable(name: "name", scope: !532, file: !6, line: 272, type: !214)
!534 = !DILocation(line: 272, scope: !532)
!535 = !DILocation(line: 273, scope: !536)
!536 = distinct !DILexicalBlock(scope: !532, file: !6, line: 273)
!537 = !DILocation(line: 273, scope: !532)
!538 = !DILocalVariable(name: "s", scope: !532, file: !6, line: 276, type: !214)
!539 = !DILocation(line: 276, scope: !532)
!540 = !DILocalVariable(name: "h", scope: !532, file: !6, line: 277, type: !12)
!541 = !DILocation(line: 277, scope: !532)
!542 = !DILocalVariable(name: "c", scope: !543, file: !6, line: 278, type: !59)
!543 = distinct !DILexicalBlock(scope: !532, file: !6, line: 278)
!544 = !DILocation(line: 278, scope: !543)
!545 = !DILocation(line: 278, scope: !546)
!546 = distinct !DILexicalBlock(scope: !543, file: !6, line: 278)
!547 = !DILocation(line: 284, scope: !548)
!548 = distinct !DILexicalBlock(scope: !549, file: !6, line: 284)
!549 = distinct !DILexicalBlock(scope: !546, file: !6, line: 279)
!550 = !DILocation(line: 284, scope: !549)
!551 = !DILocation(line: 286, scope: !552)
!552 = distinct !DILexicalBlock(scope: !548, file: !6, line: 285)
!553 = !DILocation(line: 287, scope: !552)
!554 = !DILocation(line: 289, scope: !549)
!555 = !DILocation(line: 290, scope: !549)
!556 = distinct !{!556, !544, !557, !476}
!557 = !DILocation(line: 290, scope: !543)
!558 = !DILocation(line: 291, scope: !532)
!559 = !DILocation(line: 292, scope: !532)
!560 = !DILocation(line: 293, scope: !507)
!561 = distinct !{!561, !503, !562, !476}
!562 = !DILocation(line: 293, scope: !502)
!563 = !DILocation(line: 294, scope: !389)
!564 = !DILocation(line: 295, scope: !565)
!565 = distinct !DILexicalBlock(scope: !386, file: !6, line: 295)
!566 = !DILocation(line: 295, scope: !386)
!567 = !DILocalVariable(name: "clsopt", scope: !568, file: !6, line: 297, type: !82)
!568 = distinct !DILexicalBlock(scope: !565, file: !6, line: 296)
!569 = !DILocation(line: 297, scope: !568)
!570 = !DILocation(line: 298, scope: !571)
!571 = distinct !DILexicalBlock(scope: !568, file: !6, line: 298)
!572 = !DILocation(line: 298, scope: !568)
!573 = !DILocation(line: 299, scope: !571)
!574 = !DILocation(line: 301, scope: !571)
!575 = !DILocalVariable(name: "max_class_infos", scope: !568, file: !6, line: 302, type: !392)
!576 = !DILocation(line: 302, scope: !568)
!577 = !DILocation(line: 303, scope: !578)
!578 = distinct !DILexicalBlock(scope: !568, file: !6, line: 303)
!579 = !DILocation(line: 303, scope: !568)
!580 = !DILocalVariable(name: "class_infos", scope: !568, file: !6, line: 304, type: !63)
!581 = !DILocation(line: 304, scope: !568)
!582 = !DILocalVariable(name: "invalidEntryOffset", scope: !568, file: !6, line: 305, type: !15)
!583 = !DILocation(line: 305, scope: !568)
!584 = !DILocation(line: 307, scope: !585)
!585 = distinct !DILexicalBlock(scope: !568, file: !6, line: 307)
!586 = !DILocation(line: 307, scope: !568)
!587 = !DILocation(line: 308, scope: !585)
!588 = !DILocalVariable(name: "checkbytes", scope: !568, file: !6, line: 309, type: !402)
!589 = !DILocation(line: 309, scope: !568)
!590 = !DILocalVariable(name: "offsets", scope: !568, file: !6, line: 310, type: !72)
!591 = !DILocation(line: 310, scope: !568)
!592 = !DILocalVariable(name: "classOffsets", scope: !568, file: !6, line: 311, type: !95)
!593 = !DILocation(line: 311, scope: !568)
!594 = !DILocation(line: 312, scope: !595)
!595 = distinct !DILexicalBlock(scope: !568, file: !6, line: 312)
!596 = !DILocation(line: 312, scope: !568)
!597 = !DILocation(line: 313, scope: !598)
!598 = distinct !DILexicalBlock(scope: !568, file: !6, line: 313)
!599 = !DILocation(line: 313, scope: !568)
!600 = !DILocation(line: 314, scope: !601)
!601 = distinct !DILexicalBlock(scope: !568, file: !6, line: 314)
!602 = !DILocation(line: 314, scope: !568)
!603 = !DILocation(line: 315, scope: !604)
!604 = distinct !DILexicalBlock(scope: !568, file: !6, line: 315)
!605 = !DILocation(line: 315, scope: !568)
!606 = !DILocalVariable(name: "i", scope: !607, file: !6, line: 316, type: !12)
!607 = distinct !DILexicalBlock(scope: !568, file: !6, line: 316)
!608 = !DILocation(line: 316, scope: !607)
!609 = !DILocation(line: 316, scope: !610)
!610 = distinct !DILexicalBlock(scope: !607, file: !6, line: 316)
!611 = !DILocalVariable(name: "clsOffset", scope: !612, file: !6, line: 318, type: !73)
!612 = distinct !DILexicalBlock(scope: !610, file: !6, line: 317)
!613 = !DILocation(line: 318, scope: !612)
!614 = !DILocation(line: 319, scope: !615)
!615 = distinct !DILexicalBlock(scope: !612, file: !6, line: 319)
!616 = !DILocation(line: 319, scope: !612)
!617 = !DILocation(line: 320, scope: !618)
!618 = distinct !DILexicalBlock(scope: !612, file: !6, line: 320)
!619 = !DILocation(line: 320, scope: !612)
!620 = !DILocation(line: 322, scope: !621)
!621 = distinct !DILexicalBlock(scope: !622, file: !6, line: 322)
!622 = distinct !DILexicalBlock(scope: !618, file: !6, line: 321)
!623 = !DILocation(line: 322, scope: !622)
!624 = !DILocation(line: 323, scope: !622)
!625 = !DILocation(line: 325, scope: !626)
!626 = distinct !DILexicalBlock(scope: !618, file: !6, line: 325)
!627 = !DILocation(line: 325, scope: !618)
!628 = !DILocation(line: 327, scope: !629)
!629 = distinct !DILexicalBlock(scope: !630, file: !6, line: 327)
!630 = distinct !DILexicalBlock(scope: !626, file: !6, line: 326)
!631 = !DILocation(line: 327, scope: !630)
!632 = !DILocation(line: 328, scope: !630)
!633 = !DILocation(line: 331, scope: !634)
!634 = distinct !DILexicalBlock(scope: !612, file: !6, line: 331)
!635 = !DILocation(line: 331, scope: !612)
!636 = !DILocation(line: 333, scope: !637)
!637 = distinct !DILexicalBlock(scope: !634, file: !6, line: 332)
!638 = !DILocalVariable(name: "name", scope: !637, file: !6, line: 334, type: !214)
!639 = !DILocation(line: 334, scope: !637)
!640 = !DILocation(line: 335, scope: !641)
!641 = distinct !DILexicalBlock(scope: !637, file: !6, line: 335)
!642 = !DILocation(line: 335, scope: !637)
!643 = !DILocalVariable(name: "s", scope: !637, file: !6, line: 337, type: !214)
!644 = !DILocation(line: 337, scope: !637)
!645 = !DILocalVariable(name: "h", scope: !637, file: !6, line: 338, type: !12)
!646 = !DILocation(line: 338, scope: !637)
!647 = !DILocalVariable(name: "c", scope: !648, file: !6, line: 339, type: !59)
!648 = distinct !DILexicalBlock(scope: !637, file: !6, line: 339)
!649 = !DILocation(line: 339, scope: !648)
!650 = !DILocation(line: 339, scope: !651)
!651 = distinct !DILexicalBlock(scope: !648, file: !6, line: 339)
!652 = !DILocation(line: 345, scope: !653)
!653 = distinct !DILexicalBlock(scope: !654, file: !6, line: 345)
!654 = distinct !DILexicalBlock(scope: !651, file: !6, line: 340)
!655 = !DILocation(line: 345, scope: !654)
!656 = !DILocation(line: 347, scope: !657)
!657 = distinct !DILexicalBlock(scope: !653, file: !6, line: 346)
!658 = !DILocation(line: 348, scope: !657)
!659 = !DILocation(line: 350, scope: !654)
!660 = !DILocation(line: 351, scope: !654)
!661 = distinct !{!661, !649, !662, !476}
!662 = !DILocation(line: 351, scope: !648)
!663 = !DILocation(line: 352, scope: !637)
!664 = !DILocation(line: 353, scope: !637)
!665 = !DILocation(line: 356, scope: !666)
!666 = distinct !DILexicalBlock(scope: !667, file: !6, line: 356)
!667 = distinct !DILexicalBlock(scope: !634, file: !6, line: 355)
!668 = !DILocation(line: 356, scope: !667)
!669 = !DILocation(line: 358, scope: !612)
!670 = !DILocation(line: 359, scope: !612)
!671 = distinct !{!671, !608, !672, !476}
!672 = !DILocation(line: 359, scope: !607)
!673 = !DILocalVariable(name: "duplicate_count_ptr", scope: !568, file: !6, line: 361, type: !488)
!674 = !DILocation(line: 361, scope: !568)
!675 = !DILocalVariable(name: "duplicate_count", scope: !568, file: !6, line: 362, type: !489)
!676 = !DILocation(line: 362, scope: !568)
!677 = !DILocalVariable(name: "duplicateClassOffsets", scope: !568, file: !6, line: 363, type: !95)
!678 = !DILocation(line: 363, scope: !568)
!679 = !DILocation(line: 364, scope: !680)
!680 = distinct !DILexicalBlock(scope: !568, file: !6, line: 364)
!681 = !DILocation(line: 364, scope: !568)
!682 = !DILocation(line: 365, scope: !683)
!683 = distinct !DILexicalBlock(scope: !568, file: !6, line: 365)
!684 = !DILocation(line: 365, scope: !568)
!685 = !DILocalVariable(name: "i", scope: !686, file: !6, line: 366, type: !12)
!686 = distinct !DILexicalBlock(scope: !568, file: !6, line: 366)
!687 = !DILocation(line: 366, scope: !686)
!688 = !DILocation(line: 366, scope: !689)
!689 = distinct !DILexicalBlock(scope: !686, file: !6, line: 366)
!690 = !DILocalVariable(name: "clsOffset", scope: !691, file: !6, line: 368, type: !73)
!691 = distinct !DILexicalBlock(scope: !689, file: !6, line: 367)
!692 = !DILocation(line: 368, scope: !691)
!693 = !DILocation(line: 369, scope: !694)
!694 = distinct !DILexicalBlock(scope: !691, file: !6, line: 369)
!695 = !DILocation(line: 369, scope: !691)
!696 = !DILocation(line: 370, scope: !694)
!697 = !DILocation(line: 371, scope: !698)
!698 = distinct !DILexicalBlock(scope: !694, file: !6, line: 371)
!699 = !DILocation(line: 371, scope: !694)
!700 = !DILocation(line: 372, scope: !698)
!701 = !DILocation(line: 374, scope: !702)
!702 = distinct !DILexicalBlock(scope: !691, file: !6, line: 374)
!703 = !DILocation(line: 374, scope: !691)
!704 = !DILocation(line: 376, scope: !705)
!705 = distinct !DILexicalBlock(scope: !702, file: !6, line: 375)
!706 = !DILocalVariable(name: "name", scope: !705, file: !6, line: 377, type: !214)
!707 = !DILocation(line: 377, scope: !705)
!708 = !DILocation(line: 378, scope: !709)
!709 = distinct !DILexicalBlock(scope: !705, file: !6, line: 378)
!710 = !DILocation(line: 378, scope: !705)
!711 = !DILocalVariable(name: "s", scope: !705, file: !6, line: 380, type: !214)
!712 = !DILocation(line: 380, scope: !705)
!713 = !DILocalVariable(name: "h", scope: !705, file: !6, line: 381, type: !12)
!714 = !DILocation(line: 381, scope: !705)
!715 = !DILocalVariable(name: "c", scope: !716, file: !6, line: 382, type: !59)
!716 = distinct !DILexicalBlock(scope: !705, file: !6, line: 382)
!717 = !DILocation(line: 382, scope: !716)
!718 = !DILocation(line: 382, scope: !719)
!719 = distinct !DILexicalBlock(scope: !716, file: !6, line: 382)
!720 = !DILocation(line: 388, scope: !721)
!721 = distinct !DILexicalBlock(scope: !722, file: !6, line: 388)
!722 = distinct !DILexicalBlock(scope: !719, file: !6, line: 383)
!723 = !DILocation(line: 388, scope: !722)
!724 = !DILocation(line: 390, scope: !725)
!725 = distinct !DILexicalBlock(scope: !721, file: !6, line: 389)
!726 = !DILocation(line: 391, scope: !725)
!727 = !DILocation(line: 393, scope: !722)
!728 = !DILocation(line: 394, scope: !722)
!729 = distinct !{!729, !717, !730, !476}
!730 = !DILocation(line: 394, scope: !716)
!731 = !DILocation(line: 395, scope: !705)
!732 = !DILocation(line: 396, scope: !705)
!733 = !DILocation(line: 397, scope: !691)
!734 = !DILocation(line: 398, scope: !691)
!735 = distinct !{!735, !687, !736, !476}
!736 = !DILocation(line: 398, scope: !686)
!737 = !DILocation(line: 399, scope: !568)
!738 = !DILocation(line: 400, scope: !739)
!739 = distinct !DILexicalBlock(scope: !319, file: !6, line: 400)
!740 = !DILocation(line: 400, scope: !319)
!741 = !DILocation(line: 401, scope: !742)
!742 = distinct !DILexicalBlock(scope: !319, file: !6, line: 401)
!743 = !DILocation(line: 401, scope: !319)
!744 = !DILocation(line: 402, scope: !319)
!745 = !DILocation(line: 403, scope: !230)
IRExecutionUnit::allocateCodeSection(Size=0x15af, Alignment=8, SectionID=0) = 0x1057fc000
IRExecutionUnit::allocateDataSection(Size=0x307, Alignment=8, SectionID=1) = 0x107ffc000
IRExecutionUnit::allocateDataSection(Size=0x17, Alignment=8, SectionID=2) = 0x107ffc308
IRExecutionUnit::allocateDataSection(Size=0xf, Alignment=8, SectionID=3) = 0x107ffc320
IRExecutionUnit::allocateDataSection(Size=0x16, Alignment=8, SectionID=4) = 0x107ffc330
IRExecutionUnit::allocateDataSection(Size=0x159, Alignment=8, SectionID=5) = 0x107ffc348
IRExecutionUnit::allocateDataSection(Size=0xc90, Alignment=8, SectionID=6) = 0x107ffc4a8
IRExecutionUnit::allocateDataSection(Size=0x4ea, Alignment=8, SectionID=7) = 0x107ffd138
IRExecutionUnit::allocateDataSection(Size=0x10a, Alignment=8, SectionID=8) = 0x107ffd628
IRExecutionUnit::allocateDataSection(Size=0x32, Alignment=8, SectionID=9) = 0x107ffd738
IRExecutionUnit::allocateDataSection(Size=0x32, Alignment=8, SectionID=10) = 0x107ffd770
IRExecutionUnit::allocateDataSection(Size=0x295, Alignment=8, SectionID=11) = 0x107ffd7a8
IRExecutionUnit::allocateDataSection(Size=0x2e6, Alignment=8, SectionID=12) = 0x107ffda40
IRMemoryMap::Malloc (5559, 0x8, 0x6, eAllocationPolicyProcessOnly) -> 0x11d0fc000
IRMemoryMap::Malloc (783, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8120
IRMemoryMap::Malloc (31, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8430
IRMemoryMap::Malloc (23, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8450
IRMemoryMap::Malloc (31, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8470
IRExecutionUnit::getSymbolAddress(Name="_objc_debug_class_getNameRaw") = 18a621204
IRExecutionUnit::getSymbolAddress(Name="_printf") = 18a88001c
IRMemoryMap::WriteMemory (0x11d0fc000, 0x1057fc000, 0x5551) went to [0x11d0fc000..0x11d0fd5b7)
IRMemoryMap::WriteMemory (0x11d0f8120, 0x107ffc000, 0x775) went to [0x11d0f8120..0x11d0f842f)
IRMemoryMap::WriteMemory (0x11d0f8430, 0x107ffc308, 0x23) went to [0x11d0f8430..0x11d0f844f)
IRMemoryMap::WriteMemory (0x11d0f8450, 0x107ffc320, 0x15) went to [0x11d0f8450..0x11d0f8467)
IRMemoryMap::WriteMemory (0x11d0f8470, 0x107ffc330, 0x22) went to [0x11d0f8470..0x11d0f848f)
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1057fc000 in [0x1057fc000..0x1057fd5af], and returned 0x11d0fc000 from [0x11d0fc000..0x11d0fd5af].
Code can be run in the target.
Found function, has local address 0x1057fc000 and remote address 0x11d0fc000
Function's code range is [0x11d0fc000+0x15af]
Function data has contents:
0x11d0fc000: ff c3 06 d1 f4 4f 19 a9 fd 7b 1a a9 fd 83 06 91
0x11d0fc010: f3 a3 02 91 60 72 00 f9 61 6e 00 f9 62 6a 00 f9
0x11d0fc020: 63 66 00 f9 64 c6 00 b9 65 c2 00 b9 68 66 40 f9
0x11d0fc030: 1f 01 00 f9 7f be 00 b9 68 c2 40 b9 08 01 00 34
0x11d0fc040: 68 72 40 f9 e8 03 00 f9 00 00 00 b0 00 28 40 f9
0x11d0fc050: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 c2 40 b9
0x11d0fc060: 08 01 00 34 68 6e 40 f9 e8 03 00 f9 00 00 00 b0
0x11d0fc070: 00 24 40 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc080: 68 c2 40 b9 08 01 00 34 68 6a 40 f9 e8 03 00 f9
0x11d0fc090: 00 00 00 b0 00 20 40 f9 08 00 00 90 08 b5 47 f9
0x11d0fc0a0: 00 01 3f d6 68 c2 40 b9 88 01 00 34 68 c6 40 b9
0x11d0fc0b0: 69 c6 40 b9 8a 01 80 d2 29 09 ca 9a e9 07 00 f9
0x11d0fc0c0: e8 03 00 f9 00 00 00 b0 00 1c 40 f9 08 00 00 90
0x11d0fc0d0: 08 b5 47 f9 00 01 3f d6 68 72 40 f9 a8 73 00 b4
0x11d0fc0e0: 68 72 40 f9 68 5a 00 f9 68 72 40 f9 68 56 00 f9
0x11d0fc0f0: 68 72 40 f9 68 52 00 f9 68 5a 40 f9 08 01 40 b9
0x11d0fc100: 1f 41 00 71 03 07 00 54 68 52 40 f9 08 15 40 f9
0x11d0fc110: 69 66 40 f9 28 01 00 f9 68 c2 40 b9 28 01 00 34
0x11d0fc120: 68 52 40 f9 08 01 40 b9 e8 03 00 f9 00 00 00 b0
0x11d0fc130: 00 0c 40 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc140: 68 c2 40 b9 28 01 00 34 68 52 40 f9 08 05 40 b9
0x11d0fc150: e8 03 00 f9 00 00 00 b0 00 10 40 f9 08 00 00 90
0x11d0fc160: 08 b5 47 f9 00 01 3f d6 68 c2 40 b9 28 01 00 34
0x11d0fc170: 68 52 40 f9 08 09 40 b9 e8 03 00 f9 00 00 00 b0
0x11d0fc180: 00 08 40 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc190: 68 c2 40 b9 28 01 00 34 68 52 40 f9 08 0d 40 b9
0x11d0fc1a0: e8 03 00 f9 00 00 00 b0 00 18 40 f9 08 00 00 90
0x11d0fc1b0: 08 b5 47 f9 00 01 3f d6 68 c2 40 b9 28 01 00 34
0x11d0fc1c0: 68 66 40 f9 08 01 40 f9 e8 03 00 f9 00 00 00 b0
0x11d0fc1d0: 00 14 40 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc1e0: 62 00 00 14 68 5a 40 f9 08 01 40 b9 1f 39 00 71
0x11d0fc1f0: 83 06 00 54 68 c2 40 b9 28 01 00 34 68 56 40 f9
0x11d0fc200: 08 01 40 b9 e8 03 00 f9 00 00 00 b0 00 0c 40 f9
0x11d0fc210: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 c2 40 b9
0x11d0fc220: 28 01 00 34 68 56 40 f9 08 05 40 b9 e8 03 00 f9
0x11d0fc230: 00 00 00 b0 00 10 40 f9 08 00 00 90 08 b5 47 f9
0x11d0fc240: 00 01 3f d6 68 c2 40 b9 28 01 00 34 68 56 40 f9
0x11d0fc250: 08 09 40 b9 e8 03 00 f9 00 00 00 b0 00 08 40 f9
0x11d0fc260: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 c2 40 b9
0x11d0fc270: 28 01 00 34 68 56 40 f9 08 0d 40 b9 e8 03 00 f9
0x11d0fc280: 00 00 00 b0 00 04 40 f9 08 00 00 90 08 b5 47 f9
0x11d0fc290: 00 01 3f d6 68 c2 40 b9 28 01 00 34 68 56 40 f9
0x11d0fc2a0: 08 11 40 b9 e8 03 00 f9 00 00 00 b0 00 00 40 f9
0x11d0fc2b0: 08 00 00 90 08 b5 47 f9 00 01 3f d6 2a 00 00 14
0x11d0fc2c0: 68 c2 40 b9 28 01 00 34 68 5a 40 f9 08 01 40 b9
0x11d0fc2d0: e8 03 00 f9 00 00 00 b0 00 0c 40 f9 08 00 00 90
0x11d0fc2e0: 08 b5 47 f9 00 01 3f d6 68 c2 40 b9 28 01 00 34
0x11d0fc2f0: 68 5a 40 f9 08 05 40 b9 e8 03 00 f9 00 00 00 b0
0x11d0fc300: 00 08 40 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc310: 68 c2 40 b9 28 01 00 34 68 5a 40 f9 08 09 40 b9
0x11d0fc320: e8 03 00 f9 00 00 00 b0 00 04 40 f9 08 00 00 90
0x11d0fc330: 08 b5 47 f9 00 01 3f d6 68 c2 40 b9 28 01 00 34
0x11d0fc340: 68 5a 40 f9 08 0d 40 b9 e8 03 00 f9 00 00 00 b0
0x11d0fc350: 00 00 40 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc360: 01 00 00 14 01 00 00 14 68 5a 40 f9 08 01 40 b9
0x11d0fc370: 1f 41 00 71 01 2e 00 54 68 5a 40 f9 69 52 40 f9
0x11d0fc380: 29 21 80 b9 08 01 09 8b 68 4e 00 f9 68 c6 40 b9
0x11d0fc390: 89 01 80 d2 08 09 c9 9a 68 4a 00 f9 68 c2 40 b9
0x11d0fc3a0: 08 01 00 34 68 4a 40 f9 e8 03 00 f9 00 00 00 90
0x11d0fc3b0: 00 f0 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc3c0: 68 6a 40 f9 68 46 00 f9 68 4e 40 f9 08 81 10 91
0x11d0fc3d0: 69 4e 40 f9 29 11 40 b9 29 05 00 11 29 7d 40 d3
0x11d0fc3e0: 08 01 09 8b 68 42 00 f9 68 42 40 f9 69 4e 40 f9
0x11d0fc3f0: 29 05 40 b9 08 01 09 8b 68 3e 00 f9 68 3e 40 f9
0x11d0fc400: 69 4e 40 f9 29 05 40 b9 8a 00 80 d2 28 21 0a 9b
0x11d0fc410: 68 3a 00 f9 68 c2 40 b9 28 01 00 34 68 4e 40 f9
0x11d0fc420: 08 05 40 b9 e8 03 00 f9 00 00 00 90 00 ec 47 f9
0x11d0fc430: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 c2 40 b9
0x11d0fc440: 28 01 00 34 68 4e 40 f9 08 11 40 b9 e8 03 00 f9
0x11d0fc450: 00 00 00 90 00 e8 47 f9 08 00 00 90 08 b5 47 f9
0x11d0fc460: 00 01 3f d6 68 c2 40 b9 08 01 00 34 68 3a 40 f9
0x11d0fc470: e8 03 00 f9 00 00 00 90 00 e4 47 f9 08 00 00 90
0x11d0fc480: 08 b5 47 f9 00 01 3f d6 7f 6e 00 b9 68 6e 40 b9
0x11d0fc490: 69 4e 40 f9 29 05 40 b9 1f 01 09 6b e2 10 00 54
0x11d0fc4a0: 68 3a 40 f9 69 6e 40 b9 0a 01 80 d2 28 21 0a 9b
0x11d0fc4b0: 08 01 40 f9 08 fd 41 d3 08 b9 40 92 68 32 00 f9
0x11d0fc4c0: 68 c2 40 b9 48 01 00 34 68 6e 40 b9 69 32 40 f9
0x11d0fc4d0: e9 07 00 f9 e8 03 00 f9 00 00 00 90 00 fc 47 f9
0x11d0fc4e0: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 3a 40 f9
0x11d0fc4f0: 69 6e 40 b9 0a 01 80 d2 28 21 0a 9b 08 01 40 f9
0x11d0fc500: 28 01 00 36 68 c2 40 b9 c8 00 00 34 00 00 00 90
0x11d0fc510: 00 f8 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc520: 62 00 00 14 68 32 40 f9 28 01 00 b5 68 c2 40 b9
0x11d0fc530: c8 00 00 34 00 00 00 90 00 f4 47 f9 08 00 00 90
0x11d0fc540: 08 b5 47 f9 00 01 3f d6 58 00 00 14 68 46 40 f9
0x11d0fc550: 68 09 00 b4 68 be 40 b9 69 4a 40 f9 1f 01 09 eb
0x11d0fc560: e2 08 00 54 68 6e 40 f9 69 32 40 f9 08 01 09 8b
0x11d0fc570: 69 46 40 f9 6a be 40 b9 8b 01 80 d2 49 25 0b 9b
0x11d0fc580: 28 01 00 f9 08 00 00 90 08 c5 47 f9 08 01 40 f9
0x11d0fc590: 69 46 40 f9 6a be 40 b9 8b 01 80 d2 49 25 0b 9b
0x11d0fc5a0: 20 01 40 f9 00 01 3f d6 60 2e 00 f9 68 c2 40 b9
0x11d0fc5b0: 08 02 00 34 68 be 40 b9 69 46 40 f9 6a be 40 b9
0x11d0fc5c0: 8b 01 80 d2 49 25 0b 9b 29 01 40 f9 6a 2e 40 f9
0x11d0fc5d0: ea 0b 00 f9 e9 07 00 f9 e8 03 00 f9 00 00 00 90
0x11d0fc5e0: 00 c0 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc5f0: 68 2e 40 f9 68 2a 00 f9 a8 a0 82 52 68 4e 00 b9
0x11d0fc600: 68 2a 40 f9 08 01 40 39 a8 33 15 38 a8 33 55 38
0x11d0fc610: 08 1d 00 53 48 02 00 34 a8 33 55 38 1f b9 00 71
0x11d0fc620: 61 00 00 54 7f 4e 00 b9 0e 00 00 14 68 4e 40 b9
0x11d0fc630: 69 4e 40 b9 28 15 08 0b a9 33 55 38 08 01 09 0b
0x11d0fc640: 68 4e 00 b9 68 2a 40 f9 09 05 00 91 69 2a 00 f9
0x11d0fc650: 08 05 40 39 a8 33 15 38 ed ff ff 17 01 00 00 14
0x11d0fc660: 68 4e 40 b9 69 46 40 f9 6a be 40 b9 8b 01 80 d2
0x11d0fc670: 49 25 0b 9b 28 09 00 b9 09 00 00 14 68 c2 40 b9
0x11d0fc680: c8 00 00 34 00 00 00 90 00 d0 47 f9 08 00 00 90
0x11d0fc690: 08 b5 47 f9 00 01 3f d6 01 00 00 14 68 be 40 b9
0x11d0fc6a0: 08 05 00 11 68 be 00 b9 68 6e 40 b9 08 05 00 11
0x11d0fc6b0: 68 6e 00 b9 76 ff ff 17 68 3a 40 f9 69 4e 40 f9
0x11d0fc6c0: 29 05 40 b9 0a 01 80 d2 28 21 0a 9b 68 22 00 f9
0x11d0fc6d0: 68 22 40 f9 08 01 40 b9 68 3e 00 b9 68 22 40 f9
0x11d0fc6e0: 08 11 00 91 68 1a 00 f9 68 c2 40 b9 08 01 00 34
0x11d0fc6f0: 68 3e 40 b9 e8 03 00 f9 00 00 00 90 00 cc 47 f9
0x11d0fc700: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 c2 40 b9
0x11d0fc710: 08 01 00 34 68 1a 40 f9 e8 03 00 f9 00 00 00 90
0x11d0fc720: 00 c8 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc730: 7f 2e 00 b9 68 2e 40 b9 69 3e 40 b9 1f 01 09 6b
0x11d0fc740: 82 0f 00 54 68 3a 40 f9 69 2e 40 b9 0a 01 80 d2
0x11d0fc750: 28 21 0a 9b 08 01 40 f9 08 fd 41 d3 08 b9 40 92
0x11d0fc760: 68 12 00 f9 68 c2 40 b9 48 01 00 34 68 2e 40 b9
0x11d0fc770: 69 12 40 f9 e9 07 00 f9 e8 03 00 f9 00 00 00 90
0x11d0fc780: 00 fc 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc790: 68 3a 40 f9 69 2e 40 b9 0a 01 80 d2 28 21 0a 9b
0x11d0fc7a0: 08 01 40 f9 28 01 00 36 68 c2 40 b9 c8 00 00 34
0x11d0fc7b0: 00 00 00 90 00 f8 47 f9 08 00 00 90 08 b5 47 f9
0x11d0fc7c0: 00 01 3f d6 57 00 00 14 68 12 40 f9 28 01 00 b5
0x11d0fc7d0: 68 c2 40 b9 c8 00 00 34 00 00 00 90 00 f4 47 f9
0x11d0fc7e0: 08 00 00 90 08 b5 47 f9 00 01 3f d6 4d 00 00 14
0x11d0fc7f0: 68 46 40 f9 48 09 00 b4 68 be 40 b9 69 4a 40 f9
0x11d0fc800: 1f 01 09 eb c2 08 00 54 68 6e 40 f9 69 12 40 f9
0x11d0fc810: 08 01 09 8b 69 46 40 f9 6a be 40 b9 8b 01 80 d2
0x11d0fc820: 49 25 0b 9b 28 01 00 f9 08 00 00 90 08 c5 47 f9
0x11d0fc830: 08 01 40 f9 69 46 40 f9 6a be 40 b9 8b 01 80 d2
0x11d0fc840: 49 25 0b 9b 20 01 40 f9 00 01 3f d6 60 0e 00 f9
0x11d0fc850: 68 c2 40 b9 08 02 00 34 68 be 40 b9 69 46 40 f9
0x11d0fc860: 6a be 40 b9 8b 01 80 d2 49 25 0b 9b 29 01 40 f9
0x11d0fc870: 6a 0e 40 f9 ea 0b 00 f9 e9 07 00 f9 e8 03 00 f9
0x11d0fc880: 00 00 00 90 00 c0 47 f9 08 00 00 90 08 b5 47 f9
0x11d0fc890: 00 01 3f d6 68 0e 40 f9 68 0a 00 f9 a8 a0 82 52
0x11d0fc8a0: 68 0e 00 b9 68 0a 40 f9 08 01 40 39 e8 cf 02 39
0x11d0fc8b0: e8 cf 42 39 08 1d 00 53 48 02 00 34 e8 cf 42 39
0x11d0fc8c0: 1f b9 00 71 61 00 00 54 7f 0e 00 b9 0e 00 00 14
0x11d0fc8d0: 68 0e 40 b9 69 0e 40 b9 28 15 08 0b e9 cf 42 39
0x11d0fc8e0: 08 01 09 0b 68 0e 00 b9 68 0a 40 f9 09 05 00 91
0x11d0fc8f0: 69 0a 00 f9 08 05 40 39 e8 cf 02 39 ed ff ff 17
0x11d0fc900: 01 00 00 14 68 0e 40 b9 69 46 40 f9 6a be 40 b9
0x11d0fc910: 8b 01 80 d2 49 25 0b 9b 28 09 00 b9 01 00 00 14
0x11d0fc920: 68 2e 40 b9 08 05 00 11 68 2e 00 b9 82 ff ff 17
0x11d0fc930: 77 01 00 14 68 5a 40 f9 08 01 40 b9 1f 31 00 71
0x11d0fc940: 43 2e 00 54 68 5a 40 f9 08 01 40 b9 1f 3d 00 71
0x11d0fc950: c8 2d 00 54 7f 02 00 f9 68 5a 40 f9 08 01 40 b9
0x11d0fc960: 1f 39 00 71 e3 00 00 54 68 56 40 f9 69 56 40 f9
0x11d0fc970: 29 11 80 b9 08 01 09 8b 68 02 00 f9 06 00 00 14
0x11d0fc980: 68 5a 40 f9 69 5a 40 f9 29 0d 80 b9 08 01 09 8b
0x11d0fc990: 68 02 00 f9 68 c6 40 b9 89 01 80 d2 08 09 c9 9a
0x11d0fc9a0: e8 53 00 f9 68 c2 40 b9 08 01 00 34 e8 53 40 f9
0x11d0fc9b0: e8 03 00 f9 00 00 00 90 00 f0 47 f9 08 00 00 90
0x11d0fc9c0: 08 b5 47 f9 00 01 3f d6 68 6a 40 f9 e8 4f 00 f9
0x11d0fc9d0: ff 97 00 b9 68 5a 40 f9 08 01 40 b9 1f 31 00 71
0x11d0fc9e0: 61 00 00 54 08 02 80 52 e8 97 00 b9 68 02 40 f9
0x11d0fc9f0: 08 81 10 91 69 02 40 f9 29 0d 40 b9 29 05 00 11
0x11d0fca00: 29 7d 40 d3 08 01 09 8b e8 47 00 f9 e8 47 40 f9
0x11d0fca10: 69 02 40 f9 29 01 40 b9 08 01 09 8b e8 43 00 f9
0x11d0fca20: e8 43 40 f9 69 02 40 f9 29 01 40 b9 8a 00 80 d2
0x11d0fca30: 28 21 0a 9b e8 3f 00 f9 68 c2 40 b9 28 01 00 34
0x11d0fca40: 68 02 40 f9 08 01 40 b9 e8 03 00 f9 00 00 00 90
0x11d0fca50: 00 ec 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fca60: 68 c2 40 b9 28 01 00 34 68 02 40 f9 08 0d 40 b9
0x11d0fca70: e8 03 00 f9 00 00 00 90 00 e8 47 f9 08 00 00 90
0x11d0fca80: 08 b5 47 f9 00 01 3f d6 68 c2 40 b9 08 01 00 34
0x11d0fca90: e8 3f 40 f9 e8 03 00 f9 00 00 00 90 00 e4 47 f9
0x11d0fcaa0: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 c2 40 b9
0x11d0fcab0: 08 01 00 34 e8 97 40 b9 e8 03 00 f9 00 00 00 90
0x11d0fcac0: 00 e0 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fcad0: ff 77 00 b9 e8 77 40 b9 69 02 40 f9 29 01 40 b9
0x11d0fcae0: 1f 01 09 6b 82 10 00 54 e8 3f 40 f9 e9 77 40 b9
0x11d0fcaf0: 0a 01 80 d2 28 21 0a 9b 08 01 40 b9 e8 73 00 b9
0x11d0fcb00: 68 c2 40 b9 48 01 00 34 e8 77 40 b9 e9 73 40 b9
0x11d0fcb10: e9 07 00 f9 e8 03 00 f9 00 00 00 90 00 dc 47 f9
0x11d0fcb20: 08 00 00 90 08 b5 47 f9 00 01 3f d6 e8 73 40 b9
0x11d0fcb30: 28 01 00 36 68 c2 40 b9 c8 00 00 34 00 00 00 90
0x11d0fcb40: 00 d8 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fcb50: 65 00 00 14 e8 73 40 b9 e9 97 40 b9 1f 01 09 6b
0x11d0fcb60: 21 01 00 54 68 c2 40 b9 c8 00 00 34 00 00 00 90
0x11d0fcb70: 00 d4 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fcb80: 59 00 00 14 01 00 00 14 e8 4f 40 f9 68 09 00 b4
0x11d0fcb90: 68 be 40 b9 e9 53 40 f9 1f 01 09 eb e2 08 00 54
0x11d0fcba0: 68 02 40 f9 e9 73 80 b9 08 01 09 8b e9 4f 40 f9
0x11d0fcbb0: 6a be 40 b9 8b 01 80 d2 49 25 0b 9b 28 01 00 f9
0x11d0fcbc0: 08 00 00 90 08 c5 47 f9 08 01 40 f9 e9 4f 40 f9
0x11d0fcbd0: 6a be 40 b9 8b 01 80 d2 49 25 0b 9b 20 01 40 f9
0x11d0fcbe0: 00 01 3f d6 e0 37 00 f9 68 c2 40 b9 08 02 00 34
0x11d0fcbf0: 68 be 40 b9 e9 4f 40 f9 6a be 40 b9 8b 01 80 d2
0x11d0fcc00: 49 25 0b 9b 29 01 40 f9 ea 37 40 f9 ea 0b 00 f9
0x11d0fcc10: e9 07 00 f9 e8 03 00 f9 00 00 00 90 00 c0 47 f9
0x11d0fcc20: 08 00 00 90 08 b5 47 f9 00 01 3f d6 e8 37 40 f9
0x11d0fcc30: e8 33 00 f9 a8 a0 82 52 e8 5f 00 b9 e8 33 40 f9
0x11d0fcc40: 08 01 40 39 e8 6f 01 39 e8 6f 41 39 08 1d 00 53
0x11d0fcc50: 48 02 00 34 e8 6f 41 39 1f b9 00 71 61 00 00 54
0x11d0fcc60: ff 5f 00 b9 0e 00 00 14 e8 5f 40 b9 e9 5f 40 b9
0x11d0fcc70: 28 15 08 0b e9 6f 41 39 08 01 09 0b e8 5f 00 b9
0x11d0fcc80: e8 33 40 f9 09 05 00 91 e9 33 00 f9 08 05 40 39
0x11d0fcc90: e8 6f 01 39 ed ff ff 17 01 00 00 14 e8 5f 40 b9
0x11d0fcca0: e9 4f 40 f9 6a be 40 b9 8b 01 80 d2 49 25 0b 9b
0x11d0fccb0: 28 09 00 b9 09 00 00 14 68 c2 40 b9 c8 00 00 34
0x11d0fccc0: 00 00 00 90 00 d0 47 f9 08 00 00 90 08 b5 47 f9
0x11d0fccd0: 00 01 3f d6 01 00 00 14 68 be 40 b9 08 05 00 11
0x11d0fcce0: 68 be 00 b9 e8 77 40 b9 08 05 00 11 e8 77 00 b9
0x11d0fccf0: 79 ff ff 17 e8 3f 40 f9 69 02 40 f9 29 01 40 b9
0x11d0fcd00: 0a 01 80 d2 28 21 0a 9b e8 2b 00 f9 e8 2b 40 f9
0x11d0fcd10: 08 01 40 b9 e8 4f 00 b9 e8 2b 40 f9 08 11 00 91
0x11d0fcd20: e8 23 00 f9 68 c2 40 b9 08 01 00 34 e8 4f 40 b9
0x11d0fcd30: e8 03 00 f9 00 00 00 90 00 cc 47 f9 08 00 00 90
0x11d0fcd40: 08 b5 47 f9 00 01 3f d6 68 c2 40 b9 08 01 00 34
0x11d0fcd50: e8 23 40 f9 e8 03 00 f9 00 00 00 90 00 c8 47 f9
0x11d0fcd60: 08 00 00 90 08 b5 47 f9 00 01 3f d6 ff 3f 00 b9
0x11d0fcd70: e8 3f 40 b9 e9 4f 40 b9 1f 01 09 6b 42 0c 00 54
0x11d0fcd80: e8 23 40 f9 e9 3f 40 b9 0a 01 80 d2 28 21 0a 9b
0x11d0fcd90: 08 01 40 b9 e8 3b 00 b9 e8 3b 40 b9 48 00 00 36
0x11d0fcda0: 55 00 00 14 e8 3b 40 b9 e9 97 40 b9 1f 01 09 6b
0x11d0fcdb0: 41 00 00 54 50 00 00 14 01 00 00 14 e8 4f 40 f9
0x11d0fcdc0: 48 09 00 b4 68 be 40 b9 e9 53 40 f9 1f 01 09 eb
0x11d0fcdd0: c2 08 00 54 68 02 40 f9 e9 3b 80 b9 08 01 09 8b
0x11d0fcde0: e9 4f 40 f9 6a be 40 b9 8b 01 80 d2 49 25 0b 9b
0x11d0fcdf0: 28 01 00 f9 08 00 00 90 08 c5 47 f9 08 01 40 f9
0x11d0fce00: e9 4f 40 f9 6a be 40 b9 8b 01 80 d2 49 25 0b 9b
0x11d0fce10: 20 01 40 f9 00 01 3f d6 e0 1b 00 f9 68 c2 40 b9
0x11d0fce20: 08 02 00 34 68 be 40 b9 e9 4f 40 f9 6a be 40 b9
0x11d0fce30: 8b 01 80 d2 49 25 0b 9b 29 01 40 f9 ea 1b 40 f9
0x11d0fce40: ea 0b 00 f9 e9 07 00 f9 e8 03 00 f9 00 00 00 90
0x11d0fce50: 00 c0 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fce60: e8 1b 40 f9 e8 17 00 f9 a8 a0 82 52 e8 27 00 b9
0x11d0fce70: e8 17 40 f9 08 01 40 39 e8 8f 00 39 e8 8f 40 39
0x11d0fce80: 08 1d 00 53 48 02 00 34 e8 8f 40 39 1f b9 00 71
0x11d0fce90: 61 00 00 54 ff 27 00 b9 0e 00 00 14 e8 27 40 b9
0x11d0fcea0: e9 27 40 b9 28 15 08 0b e9 8f 40 39 08 01 09 0b
0x11d0fceb0: e8 27 00 b9 e8 17 40 f9 09 05 00 91 e9 17 00 f9
0x11d0fcec0: 08 05 40 39 e8 8f 00 39 ed ff ff 17 01 00 00 14
0x11d0fced0: e8 27 40 b9 e9 4f 40 f9 6a be 40 b9 8b 01 80 d2
0x11d0fcee0: 49 25 0b 9b 28 09 00 b9 68 be 40 b9 08 05 00 11
0x11d0fcef0: 68 be 00 b9 e8 3f 40 b9 08 05 00 11 e8 3f 00 b9
0x11d0fcf00: 9c ff ff 17 01 00 00 14 01 00 00 14 68 c2 40 b9
0x11d0fcf10: 08 01 00 34 68 be 40 b9 e8 03 00 f9 00 00 00 90
0x11d0fcf20: 00 bc 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fcf30: 68 c2 40 b9 c8 00 00 34 00 00 00 90 00 b8 47 f9
0x11d0fcf40: 08 00 00 90 08 b5 47 f9 00 01 3f d6 01 00 00 14
0x11d0fcf50: 60 be 40 b9 fd 7b 5a a9 f4 4f 59 a9 ff c3 06 91
0x11d0fcf60: c0 03 5f d6 00 00 00 00 1c 00 88 8a 01 00 00 00
0x11d0fcf70: 13 84 0f 1d 01 00 00 00 03 84 0f 1d 01 00 00 00
0x11d0fcf80: 36 83 0f 1d 01 00 00 00 30 84 0f 1d 01 00 00 00
0x11d0fcf90: 8a 83 0f 1d 01 00 00 00 74 83 0f 1d 01 00 00 00
0x11d0fcfa0: 49 83 0f 1d 01 00 00 00 e2 83 0f 1d 01 00 00 00
0x11d0fcfb0: d3 83 0f 1d 01 00 00 00 bf 83 0f 1d 01 00 00 00
0x11d0fcfc0: a6 83 0f 1d 01 00 00 00 ca 82 0f 1d 01 00 00 00
0x11d0fcfd0: b2 82 0f 1d 01 00 00 00 9b 82 0f 1d 01 00 00 00
0x11d0fcfe0: 83 82 0f 1d 01 00 00 00 0d 83 0f 1d 01 00 00 00
0x11d0fcff0: f9 82 0f 1d 01 00 00 00 dd 82 0f 1d 01 00 00 00
0x11d0fd000: 65 82 0f 1d 01 00 00 00 44 82 0f 1d 01 00 00 00
0x11d0fd010: c5 81 0f 1d 01 00 00 00 97 81 0f 1d 01 00 00 00
0x11d0fd020: af 81 0f 1d 01 00 00 00 07 82 0f 1d 01 00 00 00
0x11d0fd030: e3 81 0f 1d 01 00 00 00 68 81 0f 1d 01 00 00 00
0x11d0fd040: 52 81 0f 1d 01 00 00 00 36 81 0f 1d 01 00 00 00
0x11d0fd050: 20 81 0f 1d 01 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd0a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd0b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd0c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd0d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd0e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd0f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd1b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd1c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd1d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd1f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd2a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd2b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd2c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd2d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd2e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd2f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd3a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd3b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd3c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd3d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd3e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd3f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd4a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd4b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd4c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd4d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd4e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd4f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd540: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd550: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd5a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Function disassembly:
0x11d0fc000: 0xd106c3ff unknown sub sp, sp, #0x1b0
0x11d0fc004: 0xa9194ff4 unknown stp x20, x19, [sp, #0x190]
0x11d0fc008: 0xa91a7bfd unknown stp x29, x30, [sp, #0x1a0]
0x11d0fc00c: 0x910683fd unknown add x29, sp, #0x1a0
0x11d0fc010: 0x9102a3f3 unknown add x19, sp, #0xa8
0x11d0fc014: 0xf9007260 unknown str x0, [x19, #0xe0]
0x11d0fc018: 0xf9006e61 unknown str x1, [x19, #0xd8]
0x11d0fc01c: 0xf9006a62 unknown str x2, [x19, #0xd0]
0x11d0fc020: 0xf9006663 unknown str x3, [x19, #0xc8]
0x11d0fc024: 0xb900c664 unknown str w4, [x19, #0xc4]
0x11d0fc028: 0xb900c265 unknown str w5, [x19, #0xc0]
0x11d0fc02c: 0xf9406668 unknown ldr x8, [x19, #0xc8]
0x11d0fc030: 0xf900011f unknown str xzr, [x8]
0x11d0fc034: 0xb900be7f unknown str wzr, [x19, #0xbc]
0x11d0fc038: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc03c: 0x34000108 unknown cbz w8, 0x11d0fc05c
0x11d0fc040: 0xf9407268 unknown ldr x8, [x19, #0xe0]
0x11d0fc044: 0xf90003e8 unknown str x8, [sp]
0x11d0fc048: 0xb0000000 unknown adrp x0, 1
0x11d0fc04c: 0xf9402800 unknown ldr x0, [x0, #0x50]
0x11d0fc050: 0x90000008 unknown adrp x8, 0
0x11d0fc054: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc058: 0xd63f0100 unknown blr x8
0x11d0fc05c: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc060: 0x34000108 unknown cbz w8, 0x11d0fc080
0x11d0fc064: 0xf9406e68 unknown ldr x8, [x19, #0xd8]
0x11d0fc068: 0xf90003e8 unknown str x8, [sp]
0x11d0fc06c: 0xb0000000 unknown adrp x0, 1
0x11d0fc070: 0xf9402400 unknown ldr x0, [x0, #0x48]
0x11d0fc074: 0x90000008 unknown adrp x8, 0
0x11d0fc078: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc07c: 0xd63f0100 unknown blr x8
0x11d0fc080: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc084: 0x34000108 unknown cbz w8, 0x11d0fc0a4
0x11d0fc088: 0xf9406a68 unknown ldr x8, [x19, #0xd0]
0x11d0fc08c: 0xf90003e8 unknown str x8, [sp]
0x11d0fc090: 0xb0000000 unknown adrp x0, 1
0x11d0fc094: 0xf9402000 unknown ldr x0, [x0, #0x40]
0x11d0fc098: 0x90000008 unknown adrp x8, 0
0x11d0fc09c: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc0a0: 0xd63f0100 unknown blr x8
0x11d0fc0a4: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc0a8: 0x34000188 unknown cbz w8, 0x11d0fc0d8
0x11d0fc0ac: 0xb940c668 unknown ldr w8, [x19, #0xc4]
0x11d0fc0b0: 0xb940c669 unknown ldr w9, [x19, #0xc4]
0x11d0fc0b4: 0xd280018a unknown mov x10, #0xc
0x11d0fc0b8: 0x9aca0929 unknown udiv x9, x9, x10
0x11d0fc0bc: 0xf90007e9 unknown str x9, [sp, #0x8]
0x11d0fc0c0: 0xf90003e8 unknown str x8, [sp]
0x11d0fc0c4: 0xb0000000 unknown adrp x0, 1
0x11d0fc0c8: 0xf9401c00 unknown ldr x0, [x0, #0x38]
0x11d0fc0cc: 0x90000008 unknown adrp x8, 0
0x11d0fc0d0: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc0d4: 0xd63f0100 unknown blr x8
0x11d0fc0d8: 0xf9407268 unknown ldr x8, [x19, #0xe0]
0x11d0fc0dc: 0xb40073a8 unknown cbz x8, 0x11d0fcf50
0x11d0fc0e0: 0xf9407268 unknown ldr x8, [x19, #0xe0]
0x11d0fc0e4: 0xf9005a68 unknown str x8, [x19, #0xb0]
0x11d0fc0e8: 0xf9407268 unknown ldr x8, [x19, #0xe0]
0x11d0fc0ec: 0xf9005668 unknown str x8, [x19, #0xa8]
0x11d0fc0f0: 0xf9407268 unknown ldr x8, [x19, #0xe0]
0x11d0fc0f4: 0xf9005268 unknown str x8, [x19, #0xa0]
0x11d0fc0f8: 0xf9405a68 unknown ldr x8, [x19, #0xb0]
0x11d0fc0fc: 0xb9400108 unknown ldr w8, [x8]
0x11d0fc100: 0x7100411f unknown cmp w8, #0x10
0x11d0fc104: 0x54000703 unknown b.lo 0x11d0fc1e4
0x11d0fc108: 0xf9405268 unknown ldr x8, [x19, #0xa0]
0x11d0fc10c: 0xf9401508 unknown ldr x8, [x8, #0x28]
0x11d0fc110: 0xf9406669 unknown ldr x9, [x19, #0xc8]
0x11d0fc114: 0xf9000128 unknown str x8, [x9]
0x11d0fc118: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc11c: 0x34000128 unknown cbz w8, 0x11d0fc140
0x11d0fc120: 0xf9405268 unknown ldr x8, [x19, #0xa0]
0x11d0fc124: 0xb9400108 unknown ldr w8, [x8]
0x11d0fc128: 0xf90003e8 unknown str x8, [sp]
0x11d0fc12c: 0xb0000000 unknown adrp x0, 1
0x11d0fc130: 0xf9400c00 unknown ldr x0, [x0, #0x18]
0x11d0fc134: 0x90000008 unknown adrp x8, 0
0x11d0fc138: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc13c: 0xd63f0100 unknown blr x8
0x11d0fc140: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc144: 0x34000128 unknown cbz w8, 0x11d0fc168
0x11d0fc148: 0xf9405268 unknown ldr x8, [x19, #0xa0]
0x11d0fc14c: 0xb9400508 unknown ldr w8, [x8, #0x4]
0x11d0fc150: 0xf90003e8 unknown str x8, [sp]
0x11d0fc154: 0xb0000000 unknown adrp x0, 1
0x11d0fc158: 0xf9401000 unknown ldr x0, [x0, #0x20]
0x11d0fc15c: 0x90000008 unknown adrp x8, 0
0x11d0fc160: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc164: 0xd63f0100 unknown blr x8
0x11d0fc168: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc16c: 0x34000128 unknown cbz w8, 0x11d0fc190
0x11d0fc170: 0xf9405268 unknown ldr x8, [x19, #0xa0]
0x11d0fc174: 0xb9400908 unknown ldr w8, [x8, #0x8]
0x11d0fc178: 0xf90003e8 unknown str x8, [sp]
0x11d0fc17c: 0xb0000000 unknown adrp x0, 1
0x11d0fc180: 0xf9400800 unknown ldr x0, [x0, #0x10]
0x11d0fc184: 0x90000008 unknown adrp x8, 0
0x11d0fc188: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc18c: 0xd63f0100 unknown blr x8
0x11d0fc190: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc194: 0x34000128 unknown cbz w8, 0x11d0fc1b8
0x11d0fc198: 0xf9405268 unknown ldr x8, [x19, #0xa0]
0x11d0fc19c: 0xb9400d08 unknown ldr w8, [x8, #0xc]
0x11d0fc1a0: 0xf90003e8 unknown str x8, [sp]
0x11d0fc1a4: 0xb0000000 unknown adrp x0, 1
0x11d0fc1a8: 0xf9401800 unknown ldr x0, [x0, #0x30]
0x11d0fc1ac: 0x90000008 unknown adrp x8, 0
0x11d0fc1b0: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc1b4: 0xd63f0100 unknown blr x8
0x11d0fc1b8: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc1bc: 0x34000128 unknown cbz w8, 0x11d0fc1e0
0x11d0fc1c0: 0xf9406668 unknown ldr x8, [x19, #0xc8]
0x11d0fc1c4: 0xf9400108 unknown ldr x8, [x8]
0x11d0fc1c8: 0xf90003e8 unknown str x8, [sp]
0x11d0fc1cc: 0xb0000000 unknown adrp x0, 1
0x11d0fc1d0: 0xf9401400 unknown ldr x0, [x0, #0x28]
0x11d0fc1d4: 0x90000008 unknown adrp x8, 0
0x11d0fc1d8: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc1dc: 0xd63f0100 unknown blr x8
0x11d0fc1e0: 0x14000062 unknown b 0x11d0fc368
0x11d0fc1e4: 0xf9405a68 unknown ldr x8, [x19, #0xb0]
0x11d0fc1e8: 0xb9400108 unknown ldr w8, [x8]
0x11d0fc1ec: 0x7100391f unknown cmp w8, #0xe
0x11d0fc1f0: 0x54000683 unknown b.lo 0x11d0fc2c0
0x11d0fc1f4: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc1f8: 0x34000128 unknown cbz w8, 0x11d0fc21c
0x11d0fc1fc: 0xf9405668 unknown ldr x8, [x19, #0xa8]
0x11d0fc200: 0xb9400108 unknown ldr w8, [x8]
0x11d0fc204: 0xf90003e8 unknown str x8, [sp]
0x11d0fc208: 0xb0000000 unknown adrp x0, 1
0x11d0fc20c: 0xf9400c00 unknown ldr x0, [x0, #0x18]
0x11d0fc210: 0x90000008 unknown adrp x8, 0
0x11d0fc214: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc218: 0xd63f0100 unknown blr x8
0x11d0fc21c: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc220: 0x34000128 unknown cbz w8, 0x11d0fc244
0x11d0fc224: 0xf9405668 unknown ldr x8, [x19, #0xa8]
0x11d0fc228: 0xb9400508 unknown ldr w8, [x8, #0x4]
0x11d0fc22c: 0xf90003e8 unknown str x8, [sp]
0x11d0fc230: 0xb0000000 unknown adrp x0, 1
0x11d0fc234: 0xf9401000 unknown ldr x0, [x0, #0x20]
0x11d0fc238: 0x90000008 unknown adrp x8, 0
0x11d0fc23c: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc240: 0xd63f0100 unknown blr x8
0x11d0fc244: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc248: 0x34000128 unknown cbz w8, 0x11d0fc26c
0x11d0fc24c: 0xf9405668 unknown ldr x8, [x19, #0xa8]
0x11d0fc250: 0xb9400908 unknown ldr w8, [x8, #0x8]
0x11d0fc254: 0xf90003e8 unknown str x8, [sp]
0x11d0fc258: 0xb0000000 unknown adrp x0, 1
0x11d0fc25c: 0xf9400800 unknown ldr x0, [x0, #0x10]
0x11d0fc260: 0x90000008 unknown adrp x8, 0
0x11d0fc264: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc268: 0xd63f0100 unknown blr x8
0x11d0fc26c: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc270: 0x34000128 unknown cbz w8, 0x11d0fc294
0x11d0fc274: 0xf9405668 unknown ldr x8, [x19, #0xa8]
0x11d0fc278: 0xb9400d08 unknown ldr w8, [x8, #0xc]
0x11d0fc27c: 0xf90003e8 unknown str x8, [sp]
0x11d0fc280: 0xb0000000 unknown adrp x0, 1
0x11d0fc284: 0xf9400400 unknown ldr x0, [x0, #0x8]
0x11d0fc288: 0x90000008 unknown adrp x8, 0
0x11d0fc28c: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc290: 0xd63f0100 unknown blr x8
0x11d0fc294: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc298: 0x34000128 unknown cbz w8, 0x11d0fc2bc
0x11d0fc29c: 0xf9405668 unknown ldr x8, [x19, #0xa8]
0x11d0fc2a0: 0xb9401108 unknown ldr w8, [x8, #0x10]
0x11d0fc2a4: 0xf90003e8 unknown str x8, [sp]
0x11d0fc2a8: 0xb0000000 unknown adrp x0, 1
0x11d0fc2ac: 0xf9400000 unknown ldr x0, [x0]
0x11d0fc2b0: 0x90000008 unknown adrp x8, 0
0x11d0fc2b4: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc2b8: 0xd63f0100 unknown blr x8
0x11d0fc2bc: 0x1400002a unknown b 0x11d0fc364
0x11d0fc2c0: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc2c4: 0x34000128 unknown cbz w8, 0x11d0fc2e8
0x11d0fc2c8: 0xf9405a68 unknown ldr x8, [x19, #0xb0]
0x11d0fc2cc: 0xb9400108 unknown ldr w8, [x8]
0x11d0fc2d0: 0xf90003e8 unknown str x8, [sp]
0x11d0fc2d4: 0xb0000000 unknown adrp x0, 1
0x11d0fc2d8: 0xf9400c00 unknown ldr x0, [x0, #0x18]
0x11d0fc2dc: 0x90000008 unknown adrp x8, 0
0x11d0fc2e0: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc2e4: 0xd63f0100 unknown blr x8
0x11d0fc2e8: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc2ec: 0x34000128 unknown cbz w8, 0x11d0fc310
0x11d0fc2f0: 0xf9405a68 unknown ldr x8, [x19, #0xb0]
0x11d0fc2f4: 0xb9400508 unknown ldr w8, [x8, #0x4]
0x11d0fc2f8: 0xf90003e8 unknown str x8, [sp]
0x11d0fc2fc: 0xb0000000 unknown adrp x0, 1
0x11d0fc300: 0xf9400800 unknown ldr x0, [x0, #0x10]
0x11d0fc304: 0x90000008 unknown adrp x8, 0
0x11d0fc308: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc30c: 0xd63f0100 unknown blr x8
0x11d0fc310: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc314: 0x34000128 unknown cbz w8, 0x11d0fc338
0x11d0fc318: 0xf9405a68 unknown ldr x8, [x19, #0xb0]
0x11d0fc31c: 0xb9400908 unknown ldr w8, [x8, #0x8]
0x11d0fc320: 0xf90003e8 unknown str x8, [sp]
0x11d0fc324: 0xb0000000 unknown adrp x0, 1
0x11d0fc328: 0xf9400400 unknown ldr x0, [x0, #0x8]
0x11d0fc32c: 0x90000008 unknown adrp x8, 0
0x11d0fc330: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc334: 0xd63f0100 unknown blr x8
0x11d0fc338: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc33c: 0x34000128 unknown cbz w8, 0x11d0fc360
0x11d0fc340: 0xf9405a68 unknown ldr x8, [x19, #0xb0]
0x11d0fc344: 0xb9400d08 unknown ldr w8, [x8, #0xc]
0x11d0fc348: 0xf90003e8 unknown str x8, [sp]
0x11d0fc34c: 0xb0000000 unknown adrp x0, 1
0x11d0fc350: 0xf9400000 unknown ldr x0, [x0]
0x11d0fc354: 0x90000008 unknown adrp x8, 0
0x11d0fc358: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc35c: 0xd63f0100 unknown blr x8
0x11d0fc360: 0x14000001 unknown b 0x11d0fc364
0x11d0fc364: 0x14000001 unknown b 0x11d0fc368
0x11d0fc368: 0xf9405a68 unknown ldr x8, [x19, #0xb0]
0x11d0fc36c: 0xb9400108 unknown ldr w8, [x8]
0x11d0fc370: 0x7100411f unknown cmp w8, #0x10
0x11d0fc374: 0x54002e01 unknown b.ne 0x11d0fc934
0x11d0fc378: 0xf9405a68 unknown ldr x8, [x19, #0xb0]
0x11d0fc37c: 0xf9405269 unknown ldr x9, [x19, #0xa0]
0x11d0fc380: 0xb9802129 unknown ldrsw x9, [x9, #0x20]
0x11d0fc384: 0x8b090108 unknown add x8, x8, x9
0x11d0fc388: 0xf9004e68 unknown str x8, [x19, #0x98]
0x11d0fc38c: 0xb940c668 unknown ldr w8, [x19, #0xc4]
0x11d0fc390: 0xd2800189 unknown mov x9, #0xc
0x11d0fc394: 0x9ac90908 unknown udiv x8, x8, x9
0x11d0fc398: 0xf9004a68 unknown str x8, [x19, #0x90]
0x11d0fc39c: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc3a0: 0x34000108 unknown cbz w8, 0x11d0fc3c0
0x11d0fc3a4: 0xf9404a68 unknown ldr x8, [x19, #0x90]
0x11d0fc3a8: 0xf90003e8 unknown str x8, [sp]
0x11d0fc3ac: 0x90000000 unknown adrp x0, 0
0x11d0fc3b0: 0xf947f000 unknown ldr x0, [x0, #0xfe0]
0x11d0fc3b4: 0x90000008 unknown adrp x8, 0
0x11d0fc3b8: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc3bc: 0xd63f0100 unknown blr x8
0x11d0fc3c0: 0xf9406a68 unknown ldr x8, [x19, #0xd0]
0x11d0fc3c4: 0xf9004668 unknown str x8, [x19, #0x88]
0x11d0fc3c8: 0xf9404e68 unknown ldr x8, [x19, #0x98]
0x11d0fc3cc: 0x91108108 unknown add x8, x8, #0x420
0x11d0fc3d0: 0xf9404e69 unknown ldr x9, [x19, #0x98]
0x11d0fc3d4: 0xb9401129 unknown ldr w9, [x9, #0x10]
0x11d0fc3d8: 0x11000529 unknown add w9, w9, #0x1
0x11d0fc3dc: 0xd3407d29 unknown ubfx x9, x9, #0, #32
0x11d0fc3e0: 0x8b090108 unknown add x8, x8, x9
0x11d0fc3e4: 0xf9004268 unknown str x8, [x19, #0x80]
0x11d0fc3e8: 0xf9404268 unknown ldr x8, [x19, #0x80]
0x11d0fc3ec: 0xf9404e69 unknown ldr x9, [x19, #0x98]
0x11d0fc3f0: 0xb9400529 unknown ldr w9, [x9, #0x4]
0x11d0fc3f4: 0x8b090108 unknown add x8, x8, x9
0x11d0fc3f8: 0xf9003e68 unknown str x8, [x19, #0x78]
0x11d0fc3fc: 0xf9403e68 unknown ldr x8, [x19, #0x78]
0x11d0fc400: 0xf9404e69 unknown ldr x9, [x19, #0x98]
0x11d0fc404: 0xb9400529 unknown ldr w9, [x9, #0x4]
0x11d0fc408: 0xd280008a unknown mov x10, #0x4
0x11d0fc40c: 0x9b0a2128 unknown madd x8, x9, x10, x8
0x11d0fc410: 0xf9003a68 unknown str x8, [x19, #0x70]
0x11d0fc414: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc418: 0x34000128 unknown cbz w8, 0x11d0fc43c
0x11d0fc41c: 0xf9404e68 unknown ldr x8, [x19, #0x98]
0x11d0fc420: 0xb9400508 unknown ldr w8, [x8, #0x4]
0x11d0fc424: 0xf90003e8 unknown str x8, [sp]
0x11d0fc428: 0x90000000 unknown adrp x0, 0
0x11d0fc42c: 0xf947ec00 unknown ldr x0, [x0, #0xfd8]
0x11d0fc430: 0x90000008 unknown adrp x8, 0
0x11d0fc434: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc438: 0xd63f0100 unknown blr x8
0x11d0fc43c: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc440: 0x34000128 unknown cbz w8, 0x11d0fc464
0x11d0fc444: 0xf9404e68 unknown ldr x8, [x19, #0x98]
0x11d0fc448: 0xb9401108 unknown ldr w8, [x8, #0x10]
0x11d0fc44c: 0xf90003e8 unknown str x8, [sp]
0x11d0fc450: 0x90000000 unknown adrp x0, 0
0x11d0fc454: 0xf947e800 unknown ldr x0, [x0, #0xfd0]
0x11d0fc458: 0x90000008 unknown adrp x8, 0
0x11d0fc45c: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc460: 0xd63f0100 unknown blr x8
0x11d0fc464: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc468: 0x34000108 unknown cbz w8, 0x11d0fc488
0x11d0fc46c: 0xf9403a68 unknown ldr x8, [x19, #0x70]
0x11d0fc470: 0xf90003e8 unknown str x8, [sp]
0x11d0fc474: 0x90000000 unknown adrp x0, 0
0x11d0fc478: 0xf947e400 unknown ldr x0, [x0, #0xfc8]
0x11d0fc47c: 0x90000008 unknown adrp x8, 0
0x11d0fc480: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc484: 0xd63f0100 unknown blr x8
0x11d0fc488: 0xb9006e7f unknown str wzr, [x19, #0x6c]
0x11d0fc48c: 0xb9406e68 unknown ldr w8, [x19, #0x6c]
0x11d0fc490: 0xf9404e69 unknown ldr x9, [x19, #0x98]
0x11d0fc494: 0xb9400529 unknown ldr w9, [x9, #0x4]
0x11d0fc498: 0x6b09011f unknown cmp w8, w9
0x11d0fc49c: 0x540010e2 unknown b.hs 0x11d0fc6b8
0x11d0fc4a0: 0xf9403a68 unknown ldr x8, [x19, #0x70]
0x11d0fc4a4: 0xb9406e69 unknown ldr w9, [x19, #0x6c]
0x11d0fc4a8: 0xd280010a unknown mov x10, #0x8
0x11d0fc4ac: 0x9b0a2128 unknown madd x8, x9, x10, x8
0x11d0fc4b0: 0xf9400108 unknown ldr x8, [x8]
0x11d0fc4b4: 0xd341fd08 unknown lsr x8, x8, #1
0x11d0fc4b8: 0x9240b908 unknown and x8, x8, #0x7fffffffffff
0x11d0fc4bc: 0xf9003268 unknown str x8, [x19, #0x60]
0x11d0fc4c0: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc4c4: 0x34000148 unknown cbz w8, 0x11d0fc4ec
0x11d0fc4c8: 0xb9406e68 unknown ldr w8, [x19, #0x6c]
0x11d0fc4cc: 0xf9403269 unknown ldr x9, [x19, #0x60]
0x11d0fc4d0: 0xf90007e9 unknown str x9, [sp, #0x8]
0x11d0fc4d4: 0xf90003e8 unknown str x8, [sp]
0x11d0fc4d8: 0x90000000 unknown adrp x0, 0
0x11d0fc4dc: 0xf947fc00 unknown ldr x0, [x0, #0xff8]
0x11d0fc4e0: 0x90000008 unknown adrp x8, 0
0x11d0fc4e4: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc4e8: 0xd63f0100 unknown blr x8
0x11d0fc4ec: 0xf9403a68 unknown ldr x8, [x19, #0x70]
0x11d0fc4f0: 0xb9406e69 unknown ldr w9, [x19, #0x6c]
0x11d0fc4f4: 0xd280010a unknown mov x10, #0x8
0x11d0fc4f8: 0x9b0a2128 unknown madd x8, x9, x10, x8
0x11d0fc4fc: 0xf9400108 unknown ldr x8, [x8]
0x11d0fc500: 0x36000128 unknown tbz w8, #0x0, 0x11d0fc524
0x11d0fc504: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc508: 0x340000c8 unknown cbz w8, 0x11d0fc520
0x11d0fc50c: 0x90000000 unknown adrp x0, 0
0x11d0fc510: 0xf947f800 unknown ldr x0, [x0, #0xff0]
0x11d0fc514: 0x90000008 unknown adrp x8, 0
0x11d0fc518: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc51c: 0xd63f0100 unknown blr x8
0x11d0fc520: 0x14000062 unknown b 0x11d0fc6a8
0x11d0fc524: 0xf9403268 unknown ldr x8, [x19, #0x60]
0x11d0fc528: 0xb5000128 unknown cbnz x8, 0x11d0fc54c
0x11d0fc52c: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc530: 0x340000c8 unknown cbz w8, 0x11d0fc548
0x11d0fc534: 0x90000000 unknown adrp x0, 0
0x11d0fc538: 0xf947f400 unknown ldr x0, [x0, #0xfe8]
0x11d0fc53c: 0x90000008 unknown adrp x8, 0
0x11d0fc540: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc544: 0xd63f0100 unknown blr x8
0x11d0fc548: 0x14000058 unknown b 0x11d0fc6a8
0x11d0fc54c: 0xf9404668 unknown ldr x8, [x19, #0x88]
0x11d0fc550: 0xb4000968 unknown cbz x8, 0x11d0fc67c
0x11d0fc554: 0xb940be68 unknown ldr w8, [x19, #0xbc]
0x11d0fc558: 0xf9404a69 unknown ldr x9, [x19, #0x90]
0x11d0fc55c: 0xeb09011f unknown cmp x8, x9
0x11d0fc560: 0x540008e2 unknown b.hs 0x11d0fc67c
0x11d0fc564: 0xf9406e68 unknown ldr x8, [x19, #0xd8]
0x11d0fc568: 0xf9403269 unknown ldr x9, [x19, #0x60]
0x11d0fc56c: 0x8b090108 unknown add x8, x8, x9
0x11d0fc570: 0xf9404669 unknown ldr x9, [x19, #0x88]
0x11d0fc574: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fc578: 0xd280018b unknown mov x11, #0xc
0x11d0fc57c: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fc580: 0xf9000128 unknown str x8, [x9]
0x11d0fc584: 0x90000008 unknown adrp x8, 0
0x11d0fc588: 0xf947c508 unknown ldr x8, [x8, #0xf88]
0x11d0fc58c: 0xf9400108 unknown ldr x8, [x8]
0x11d0fc590: 0xf9404669 unknown ldr x9, [x19, #0x88]
0x11d0fc594: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fc598: 0xd280018b unknown mov x11, #0xc
0x11d0fc59c: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fc5a0: 0xf9400120 unknown ldr x0, [x9]
0x11d0fc5a4: 0xd63f0100 unknown blr x8
0x11d0fc5a8: 0xf9002e60 unknown str x0, [x19, #0x58]
0x11d0fc5ac: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc5b0: 0x34000208 unknown cbz w8, 0x11d0fc5f0
0x11d0fc5b4: 0xb940be68 unknown ldr w8, [x19, #0xbc]
0x11d0fc5b8: 0xf9404669 unknown ldr x9, [x19, #0x88]
0x11d0fc5bc: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fc5c0: 0xd280018b unknown mov x11, #0xc
0x11d0fc5c4: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fc5c8: 0xf9400129 unknown ldr x9, [x9]
0x11d0fc5cc: 0xf9402e6a unknown ldr x10, [x19, #0x58]
0x11d0fc5d0: 0xf9000bea unknown str x10, [sp, #0x10]
0x11d0fc5d4: 0xf90007e9 unknown str x9, [sp, #0x8]
0x11d0fc5d8: 0xf90003e8 unknown str x8, [sp]
0x11d0fc5dc: 0x90000000 unknown adrp x0, 0
0x11d0fc5e0: 0xf947c000 unknown ldr x0, [x0, #0xf80]
0x11d0fc5e4: 0x90000008 unknown adrp x8, 0
0x11d0fc5e8: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc5ec: 0xd63f0100 unknown blr x8
0x11d0fc5f0: 0xf9402e68 unknown ldr x8, [x19, #0x58]
0x11d0fc5f4: 0xf9002a68 unknown str x8, [x19, #0x50]
0x11d0fc5f8: 0x5282a0a8 unknown mov w8, #0x1505
0x11d0fc5fc: 0xb9004e68 unknown str w8, [x19, #0x4c]
0x11d0fc600: 0xf9402a68 unknown ldr x8, [x19, #0x50]
0x11d0fc604: 0x39400108 unknown ldrb w8, [x8]
0x11d0fc608: 0x381533a8 unknown sturb w8, [x29, #-0xad]
0x11d0fc60c: 0x385533a8 unknown ldurb w8, [x29, #-0xad]
0x11d0fc610: 0x53001d08 unknown uxtb w8, w8
0x11d0fc614: 0x34000248 unknown cbz w8, 0x11d0fc65c
0x11d0fc618: 0x385533a8 unknown ldurb w8, [x29, #-0xad]
0x11d0fc61c: 0x7100b91f unknown cmp w8, #0x2e
0x11d0fc620: 0x54000061 unknown b.ne 0x11d0fc62c
0x11d0fc624: 0xb9004e7f unknown str wzr, [x19, #0x4c]
0x11d0fc628: 0x1400000e unknown b 0x11d0fc660
0x11d0fc62c: 0xb9404e68 unknown ldr w8, [x19, #0x4c]
0x11d0fc630: 0xb9404e69 unknown ldr w9, [x19, #0x4c]
0x11d0fc634: 0x0b081528 unknown add w8, w9, w8, lsl #5
0x11d0fc638: 0x385533a9 unknown ldurb w9, [x29, #-0xad]
0x11d0fc63c: 0x0b090108 unknown add w8, w8, w9
0x11d0fc640: 0xb9004e68 unknown str w8, [x19, #0x4c]
0x11d0fc644: 0xf9402a68 unknown ldr x8, [x19, #0x50]
0x11d0fc648: 0x91000509 unknown add x9, x8, #0x1
0x11d0fc64c: 0xf9002a69 unknown str x9, [x19, #0x50]
0x11d0fc650: 0x39400508 unknown ldrb w8, [x8, #0x1]
0x11d0fc654: 0x381533a8 unknown sturb w8, [x29, #-0xad]
0x11d0fc658: 0x17ffffed unknown b 0x11d0fc60c
0x11d0fc65c: 0x14000001 unknown b 0x11d0fc660
0x11d0fc660: 0xb9404e68 unknown ldr w8, [x19, #0x4c]
0x11d0fc664: 0xf9404669 unknown ldr x9, [x19, #0x88]
0x11d0fc668: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fc66c: 0xd280018b unknown mov x11, #0xc
0x11d0fc670: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fc674: 0xb9000928 unknown str w8, [x9, #0x8]
0x11d0fc678: 0x14000009 unknown b 0x11d0fc69c
0x11d0fc67c: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc680: 0x340000c8 unknown cbz w8, 0x11d0fc698
0x11d0fc684: 0x90000000 unknown adrp x0, 0
0x11d0fc688: 0xf947d000 unknown ldr x0, [x0, #0xfa0]
0x11d0fc68c: 0x90000008 unknown adrp x8, 0
0x11d0fc690: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc694: 0xd63f0100 unknown blr x8
0x11d0fc698: 0x14000001 unknown b 0x11d0fc69c
0x11d0fc69c: 0xb940be68 unknown ldr w8, [x19, #0xbc]
0x11d0fc6a0: 0x11000508 unknown add w8, w8, #0x1
0x11d0fc6a4: 0xb900be68 unknown str w8, [x19, #0xbc]
0x11d0fc6a8: 0xb9406e68 unknown ldr w8, [x19, #0x6c]
0x11d0fc6ac: 0x11000508 unknown add w8, w8, #0x1
0x11d0fc6b0: 0xb9006e68 unknown str w8, [x19, #0x6c]
0x11d0fc6b4: 0x17ffff76 unknown b 0x11d0fc48c
0x11d0fc6b8: 0xf9403a68 unknown ldr x8, [x19, #0x70]
0x11d0fc6bc: 0xf9404e69 unknown ldr x9, [x19, #0x98]
0x11d0fc6c0: 0xb9400529 unknown ldr w9, [x9, #0x4]
0x11d0fc6c4: 0xd280010a unknown mov x10, #0x8
0x11d0fc6c8: 0x9b0a2128 unknown madd x8, x9, x10, x8
0x11d0fc6cc: 0xf9002268 unknown str x8, [x19, #0x40]
0x11d0fc6d0: 0xf9402268 unknown ldr x8, [x19, #0x40]
0x11d0fc6d4: 0xb9400108 unknown ldr w8, [x8]
0x11d0fc6d8: 0xb9003e68 unknown str w8, [x19, #0x3c]
0x11d0fc6dc: 0xf9402268 unknown ldr x8, [x19, #0x40]
0x11d0fc6e0: 0x91001108 unknown add x8, x8, #0x4
0x11d0fc6e4: 0xf9001a68 unknown str x8, [x19, #0x30]
0x11d0fc6e8: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc6ec: 0x34000108 unknown cbz w8, 0x11d0fc70c
0x11d0fc6f0: 0xb9403e68 unknown ldr w8, [x19, #0x3c]
0x11d0fc6f4: 0xf90003e8 unknown str x8, [sp]
0x11d0fc6f8: 0x90000000 unknown adrp x0, 0
0x11d0fc6fc: 0xf947cc00 unknown ldr x0, [x0, #0xf98]
0x11d0fc700: 0x90000008 unknown adrp x8, 0
0x11d0fc704: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc708: 0xd63f0100 unknown blr x8
0x11d0fc70c: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc710: 0x34000108 unknown cbz w8, 0x11d0fc730
0x11d0fc714: 0xf9401a68 unknown ldr x8, [x19, #0x30]
0x11d0fc718: 0xf90003e8 unknown str x8, [sp]
0x11d0fc71c: 0x90000000 unknown adrp x0, 0
0x11d0fc720: 0xf947c800 unknown ldr x0, [x0, #0xf90]
0x11d0fc724: 0x90000008 unknown adrp x8, 0
0x11d0fc728: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc72c: 0xd63f0100 unknown blr x8
0x11d0fc730: 0xb9002e7f unknown str wzr, [x19, #0x2c]
0x11d0fc734: 0xb9402e68 unknown ldr w8, [x19, #0x2c]
0x11d0fc738: 0xb9403e69 unknown ldr w9, [x19, #0x3c]
0x11d0fc73c: 0x6b09011f unknown cmp w8, w9
0x11d0fc740: 0x54000f82 unknown b.hs 0x11d0fc930
0x11d0fc744: 0xf9403a68 unknown ldr x8, [x19, #0x70]
0x11d0fc748: 0xb9402e69 unknown ldr w9, [x19, #0x2c]
0x11d0fc74c: 0xd280010a unknown mov x10, #0x8
0x11d0fc750: 0x9b0a2128 unknown madd x8, x9, x10, x8
0x11d0fc754: 0xf9400108 unknown ldr x8, [x8]
0x11d0fc758: 0xd341fd08 unknown lsr x8, x8, #1
0x11d0fc75c: 0x9240b908 unknown and x8, x8, #0x7fffffffffff
0x11d0fc760: 0xf9001268 unknown str x8, [x19, #0x20]
0x11d0fc764: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc768: 0x34000148 unknown cbz w8, 0x11d0fc790
0x11d0fc76c: 0xb9402e68 unknown ldr w8, [x19, #0x2c]
0x11d0fc770: 0xf9401269 unknown ldr x9, [x19, #0x20]
0x11d0fc774: 0xf90007e9 unknown str x9, [sp, #0x8]
0x11d0fc778: 0xf90003e8 unknown str x8, [sp]
0x11d0fc77c: 0x90000000 unknown adrp x0, 0
0x11d0fc780: 0xf947fc00 unknown ldr x0, [x0, #0xff8]
0x11d0fc784: 0x90000008 unknown adrp x8, 0
0x11d0fc788: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc78c: 0xd63f0100 unknown blr x8
0x11d0fc790: 0xf9403a68 unknown ldr x8, [x19, #0x70]
0x11d0fc794: 0xb9402e69 unknown ldr w9, [x19, #0x2c]
0x11d0fc798: 0xd280010a unknown mov x10, #0x8
0x11d0fc79c: 0x9b0a2128 unknown madd x8, x9, x10, x8
0x11d0fc7a0: 0xf9400108 unknown ldr x8, [x8]
0x11d0fc7a4: 0x36000128 unknown tbz w8, #0x0, 0x11d0fc7c8
0x11d0fc7a8: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc7ac: 0x340000c8 unknown cbz w8, 0x11d0fc7c4
0x11d0fc7b0: 0x90000000 unknown adrp x0, 0
0x11d0fc7b4: 0xf947f800 unknown ldr x0, [x0, #0xff0]
0x11d0fc7b8: 0x90000008 unknown adrp x8, 0
0x11d0fc7bc: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc7c0: 0xd63f0100 unknown blr x8
0x11d0fc7c4: 0x14000057 unknown b 0x11d0fc920
0x11d0fc7c8: 0xf9401268 unknown ldr x8, [x19, #0x20]
0x11d0fc7cc: 0xb5000128 unknown cbnz x8, 0x11d0fc7f0
0x11d0fc7d0: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc7d4: 0x340000c8 unknown cbz w8, 0x11d0fc7ec
0x11d0fc7d8: 0x90000000 unknown adrp x0, 0
0x11d0fc7dc: 0xf947f400 unknown ldr x0, [x0, #0xfe8]
0x11d0fc7e0: 0x90000008 unknown adrp x8, 0
0x11d0fc7e4: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc7e8: 0xd63f0100 unknown blr x8
0x11d0fc7ec: 0x1400004d unknown b 0x11d0fc920
0x11d0fc7f0: 0xf9404668 unknown ldr x8, [x19, #0x88]
0x11d0fc7f4: 0xb4000948 unknown cbz x8, 0x11d0fc91c
0x11d0fc7f8: 0xb940be68 unknown ldr w8, [x19, #0xbc]
0x11d0fc7fc: 0xf9404a69 unknown ldr x9, [x19, #0x90]
0x11d0fc800: 0xeb09011f unknown cmp x8, x9
0x11d0fc804: 0x540008c2 unknown b.hs 0x11d0fc91c
0x11d0fc808: 0xf9406e68 unknown ldr x8, [x19, #0xd8]
0x11d0fc80c: 0xf9401269 unknown ldr x9, [x19, #0x20]
0x11d0fc810: 0x8b090108 unknown add x8, x8, x9
0x11d0fc814: 0xf9404669 unknown ldr x9, [x19, #0x88]
0x11d0fc818: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fc81c: 0xd280018b unknown mov x11, #0xc
0x11d0fc820: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fc824: 0xf9000128 unknown str x8, [x9]
0x11d0fc828: 0x90000008 unknown adrp x8, 0
0x11d0fc82c: 0xf947c508 unknown ldr x8, [x8, #0xf88]
0x11d0fc830: 0xf9400108 unknown ldr x8, [x8]
0x11d0fc834: 0xf9404669 unknown ldr x9, [x19, #0x88]
0x11d0fc838: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fc83c: 0xd280018b unknown mov x11, #0xc
0x11d0fc840: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fc844: 0xf9400120 unknown ldr x0, [x9]
0x11d0fc848: 0xd63f0100 unknown blr x8
0x11d0fc84c: 0xf9000e60 unknown str x0, [x19, #0x18]
0x11d0fc850: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc854: 0x34000208 unknown cbz w8, 0x11d0fc894
0x11d0fc858: 0xb940be68 unknown ldr w8, [x19, #0xbc]
0x11d0fc85c: 0xf9404669 unknown ldr x9, [x19, #0x88]
0x11d0fc860: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fc864: 0xd280018b unknown mov x11, #0xc
0x11d0fc868: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fc86c: 0xf9400129 unknown ldr x9, [x9]
0x11d0fc870: 0xf9400e6a unknown ldr x10, [x19, #0x18]
0x11d0fc874: 0xf9000bea unknown str x10, [sp, #0x10]
0x11d0fc878: 0xf90007e9 unknown str x9, [sp, #0x8]
0x11d0fc87c: 0xf90003e8 unknown str x8, [sp]
0x11d0fc880: 0x90000000 unknown adrp x0, 0
0x11d0fc884: 0xf947c000 unknown ldr x0, [x0, #0xf80]
0x11d0fc888: 0x90000008 unknown adrp x8, 0
0x11d0fc88c: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc890: 0xd63f0100 unknown blr x8
0x11d0fc894: 0xf9400e68 unknown ldr x8, [x19, #0x18]
0x11d0fc898: 0xf9000a68 unknown str x8, [x19, #0x10]
0x11d0fc89c: 0x5282a0a8 unknown mov w8, #0x1505
0x11d0fc8a0: 0xb9000e68 unknown str w8, [x19, #0xc]
0x11d0fc8a4: 0xf9400a68 unknown ldr x8, [x19, #0x10]
0x11d0fc8a8: 0x39400108 unknown ldrb w8, [x8]
0x11d0fc8ac: 0x3902cfe8 unknown strb w8, [sp, #0xb3]
0x11d0fc8b0: 0x3942cfe8 unknown ldrb w8, [sp, #0xb3]
0x11d0fc8b4: 0x53001d08 unknown uxtb w8, w8
0x11d0fc8b8: 0x34000248 unknown cbz w8, 0x11d0fc900
0x11d0fc8bc: 0x3942cfe8 unknown ldrb w8, [sp, #0xb3]
0x11d0fc8c0: 0x7100b91f unknown cmp w8, #0x2e
0x11d0fc8c4: 0x54000061 unknown b.ne 0x11d0fc8d0
0x11d0fc8c8: 0xb9000e7f unknown str wzr, [x19, #0xc]
0x11d0fc8cc: 0x1400000e unknown b 0x11d0fc904
0x11d0fc8d0: 0xb9400e68 unknown ldr w8, [x19, #0xc]
0x11d0fc8d4: 0xb9400e69 unknown ldr w9, [x19, #0xc]
0x11d0fc8d8: 0x0b081528 unknown add w8, w9, w8, lsl #5
0x11d0fc8dc: 0x3942cfe9 unknown ldrb w9, [sp, #0xb3]
0x11d0fc8e0: 0x0b090108 unknown add w8, w8, w9
0x11d0fc8e4: 0xb9000e68 unknown str w8, [x19, #0xc]
0x11d0fc8e8: 0xf9400a68 unknown ldr x8, [x19, #0x10]
0x11d0fc8ec: 0x91000509 unknown add x9, x8, #0x1
0x11d0fc8f0: 0xf9000a69 unknown str x9, [x19, #0x10]
0x11d0fc8f4: 0x39400508 unknown ldrb w8, [x8, #0x1]
0x11d0fc8f8: 0x3902cfe8 unknown strb w8, [sp, #0xb3]
0x11d0fc8fc: 0x17ffffed unknown b 0x11d0fc8b0
0x11d0fc900: 0x14000001 unknown b 0x11d0fc904
0x11d0fc904: 0xb9400e68 unknown ldr w8, [x19, #0xc]
0x11d0fc908: 0xf9404669 unknown ldr x9, [x19, #0x88]
0x11d0fc90c: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fc910: 0xd280018b unknown mov x11, #0xc
0x11d0fc914: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fc918: 0xb9000928 unknown str w8, [x9, #0x8]
0x11d0fc91c: 0x14000001 unknown b 0x11d0fc920
0x11d0fc920: 0xb9402e68 unknown ldr w8, [x19, #0x2c]
0x11d0fc924: 0x11000508 unknown add w8, w8, #0x1
0x11d0fc928: 0xb9002e68 unknown str w8, [x19, #0x2c]
0x11d0fc92c: 0x17ffff82 unknown b 0x11d0fc734
0x11d0fc930: 0x14000177 unknown b 0x11d0fcf0c
0x11d0fc934: 0xf9405a68 unknown ldr x8, [x19, #0xb0]
0x11d0fc938: 0xb9400108 unknown ldr w8, [x8]
0x11d0fc93c: 0x7100311f unknown cmp w8, #0xc
0x11d0fc940: 0x54002e43 unknown b.lo 0x11d0fcf08
0x11d0fc944: 0xf9405a68 unknown ldr x8, [x19, #0xb0]
0x11d0fc948: 0xb9400108 unknown ldr w8, [x8]
0x11d0fc94c: 0x71003d1f unknown cmp w8, #0xf
0x11d0fc950: 0x54002dc8 unknown b.hi 0x11d0fcf08
0x11d0fc954: 0xf900027f unknown str xzr, [x19]
0x11d0fc958: 0xf9405a68 unknown ldr x8, [x19, #0xb0]
0x11d0fc95c: 0xb9400108 unknown ldr w8, [x8]
0x11d0fc960: 0x7100391f unknown cmp w8, #0xe
0x11d0fc964: 0x540000e3 unknown b.lo 0x11d0fc980
0x11d0fc968: 0xf9405668 unknown ldr x8, [x19, #0xa8]
0x11d0fc96c: 0xf9405669 unknown ldr x9, [x19, #0xa8]
0x11d0fc970: 0xb9801129 unknown ldrsw x9, [x9, #0x10]
0x11d0fc974: 0x8b090108 unknown add x8, x8, x9
0x11d0fc978: 0xf9000268 unknown str x8, [x19]
0x11d0fc97c: 0x14000006 unknown b 0x11d0fc994
0x11d0fc980: 0xf9405a68 unknown ldr x8, [x19, #0xb0]
0x11d0fc984: 0xf9405a69 unknown ldr x9, [x19, #0xb0]
0x11d0fc988: 0xb9800d29 unknown ldrsw x9, [x9, #0xc]
0x11d0fc98c: 0x8b090108 unknown add x8, x8, x9
0x11d0fc990: 0xf9000268 unknown str x8, [x19]
0x11d0fc994: 0xb940c668 unknown ldr w8, [x19, #0xc4]
0x11d0fc998: 0xd2800189 unknown mov x9, #0xc
0x11d0fc99c: 0x9ac90908 unknown udiv x8, x8, x9
0x11d0fc9a0: 0xf90053e8 unknown str x8, [sp, #0xa0]
0x11d0fc9a4: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fc9a8: 0x34000108 unknown cbz w8, 0x11d0fc9c8
0x11d0fc9ac: 0xf94053e8 unknown ldr x8, [sp, #0xa0]
0x11d0fc9b0: 0xf90003e8 unknown str x8, [sp]
0x11d0fc9b4: 0x90000000 unknown adrp x0, 0
0x11d0fc9b8: 0xf947f000 unknown ldr x0, [x0, #0xfe0]
0x11d0fc9bc: 0x90000008 unknown adrp x8, 0
0x11d0fc9c0: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fc9c4: 0xd63f0100 unknown blr x8
0x11d0fc9c8: 0xf9406a68 unknown ldr x8, [x19, #0xd0]
0x11d0fc9cc: 0xf9004fe8 unknown str x8, [sp, #0x98]
0x11d0fc9d0: 0xb90097ff unknown str wzr, [sp, #0x94]
0x11d0fc9d4: 0xf9405a68 unknown ldr x8, [x19, #0xb0]
0x11d0fc9d8: 0xb9400108 unknown ldr w8, [x8]
0x11d0fc9dc: 0x7100311f unknown cmp w8, #0xc
0x11d0fc9e0: 0x54000061 unknown b.ne 0x11d0fc9ec
0x11d0fc9e4: 0x52800208 unknown mov w8, #0x10
0x11d0fc9e8: 0xb90097e8 unknown str w8, [sp, #0x94]
0x11d0fc9ec: 0xf9400268 unknown ldr x8, [x19]
0x11d0fc9f0: 0x91108108 unknown add x8, x8, #0x420
0x11d0fc9f4: 0xf9400269 unknown ldr x9, [x19]
0x11d0fc9f8: 0xb9400d29 unknown ldr w9, [x9, #0xc]
0x11d0fc9fc: 0x11000529 unknown add w9, w9, #0x1
0x11d0fca00: 0xd3407d29 unknown ubfx x9, x9, #0, #32
0x11d0fca04: 0x8b090108 unknown add x8, x8, x9
0x11d0fca08: 0xf90047e8 unknown str x8, [sp, #0x88]
0x11d0fca0c: 0xf94047e8 unknown ldr x8, [sp, #0x88]
0x11d0fca10: 0xf9400269 unknown ldr x9, [x19]
0x11d0fca14: 0xb9400129 unknown ldr w9, [x9]
0x11d0fca18: 0x8b090108 unknown add x8, x8, x9
0x11d0fca1c: 0xf90043e8 unknown str x8, [sp, #0x80]
0x11d0fca20: 0xf94043e8 unknown ldr x8, [sp, #0x80]
0x11d0fca24: 0xf9400269 unknown ldr x9, [x19]
0x11d0fca28: 0xb9400129 unknown ldr w9, [x9]
0x11d0fca2c: 0xd280008a unknown mov x10, #0x4
0x11d0fca30: 0x9b0a2128 unknown madd x8, x9, x10, x8
0x11d0fca34: 0xf9003fe8 unknown str x8, [sp, #0x78]
0x11d0fca38: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fca3c: 0x34000128 unknown cbz w8, 0x11d0fca60
0x11d0fca40: 0xf9400268 unknown ldr x8, [x19]
0x11d0fca44: 0xb9400108 unknown ldr w8, [x8]
0x11d0fca48: 0xf90003e8 unknown str x8, [sp]
0x11d0fca4c: 0x90000000 unknown adrp x0, 0
0x11d0fca50: 0xf947ec00 unknown ldr x0, [x0, #0xfd8]
0x11d0fca54: 0x90000008 unknown adrp x8, 0
0x11d0fca58: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fca5c: 0xd63f0100 unknown blr x8
0x11d0fca60: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fca64: 0x34000128 unknown cbz w8, 0x11d0fca88
0x11d0fca68: 0xf9400268 unknown ldr x8, [x19]
0x11d0fca6c: 0xb9400d08 unknown ldr w8, [x8, #0xc]
0x11d0fca70: 0xf90003e8 unknown str x8, [sp]
0x11d0fca74: 0x90000000 unknown adrp x0, 0
0x11d0fca78: 0xf947e800 unknown ldr x0, [x0, #0xfd0]
0x11d0fca7c: 0x90000008 unknown adrp x8, 0
0x11d0fca80: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fca84: 0xd63f0100 unknown blr x8
0x11d0fca88: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fca8c: 0x34000108 unknown cbz w8, 0x11d0fcaac
0x11d0fca90: 0xf9403fe8 unknown ldr x8, [sp, #0x78]
0x11d0fca94: 0xf90003e8 unknown str x8, [sp]
0x11d0fca98: 0x90000000 unknown adrp x0, 0
0x11d0fca9c: 0xf947e400 unknown ldr x0, [x0, #0xfc8]
0x11d0fcaa0: 0x90000008 unknown adrp x8, 0
0x11d0fcaa4: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fcaa8: 0xd63f0100 unknown blr x8
0x11d0fcaac: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fcab0: 0x34000108 unknown cbz w8, 0x11d0fcad0
0x11d0fcab4: 0xb94097e8 unknown ldr w8, [sp, #0x94]
0x11d0fcab8: 0xf90003e8 unknown str x8, [sp]
0x11d0fcabc: 0x90000000 unknown adrp x0, 0
0x11d0fcac0: 0xf947e000 unknown ldr x0, [x0, #0xfc0]
0x11d0fcac4: 0x90000008 unknown adrp x8, 0
0x11d0fcac8: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fcacc: 0xd63f0100 unknown blr x8
0x11d0fcad0: 0xb90077ff unknown str wzr, [sp, #0x74]
0x11d0fcad4: 0xb94077e8 unknown ldr w8, [sp, #0x74]
0x11d0fcad8: 0xf9400269 unknown ldr x9, [x19]
0x11d0fcadc: 0xb9400129 unknown ldr w9, [x9]
0x11d0fcae0: 0x6b09011f unknown cmp w8, w9
0x11d0fcae4: 0x54001082 unknown b.hs 0x11d0fccf4
0x11d0fcae8: 0xf9403fe8 unknown ldr x8, [sp, #0x78]
0x11d0fcaec: 0xb94077e9 unknown ldr w9, [sp, #0x74]
0x11d0fcaf0: 0xd280010a unknown mov x10, #0x8
0x11d0fcaf4: 0x9b0a2128 unknown madd x8, x9, x10, x8
0x11d0fcaf8: 0xb9400108 unknown ldr w8, [x8]
0x11d0fcafc: 0xb90073e8 unknown str w8, [sp, #0x70]
0x11d0fcb00: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fcb04: 0x34000148 unknown cbz w8, 0x11d0fcb2c
0x11d0fcb08: 0xb94077e8 unknown ldr w8, [sp, #0x74]
0x11d0fcb0c: 0xb94073e9 unknown ldr w9, [sp, #0x70]
0x11d0fcb10: 0xf90007e9 unknown str x9, [sp, #0x8]
0x11d0fcb14: 0xf90003e8 unknown str x8, [sp]
0x11d0fcb18: 0x90000000 unknown adrp x0, 0
0x11d0fcb1c: 0xf947dc00 unknown ldr x0, [x0, #0xfb8]
0x11d0fcb20: 0x90000008 unknown adrp x8, 0
0x11d0fcb24: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fcb28: 0xd63f0100 unknown blr x8
0x11d0fcb2c: 0xb94073e8 unknown ldr w8, [sp, #0x70]
0x11d0fcb30: 0x36000128 unknown tbz w8, #0x0, 0x11d0fcb54
0x11d0fcb34: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fcb38: 0x340000c8 unknown cbz w8, 0x11d0fcb50
0x11d0fcb3c: 0x90000000 unknown adrp x0, 0
0x11d0fcb40: 0xf947d800 unknown ldr x0, [x0, #0xfb0]
0x11d0fcb44: 0x90000008 unknown adrp x8, 0
0x11d0fcb48: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fcb4c: 0xd63f0100 unknown blr x8
0x11d0fcb50: 0x14000065 unknown b 0x11d0fcce4
0x11d0fcb54: 0xb94073e8 unknown ldr w8, [sp, #0x70]
0x11d0fcb58: 0xb94097e9 unknown ldr w9, [sp, #0x94]
0x11d0fcb5c: 0x6b09011f unknown cmp w8, w9
0x11d0fcb60: 0x54000121 unknown b.ne 0x11d0fcb84
0x11d0fcb64: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fcb68: 0x340000c8 unknown cbz w8, 0x11d0fcb80
0x11d0fcb6c: 0x90000000 unknown adrp x0, 0
0x11d0fcb70: 0xf947d400 unknown ldr x0, [x0, #0xfa8]
0x11d0fcb74: 0x90000008 unknown adrp x8, 0
0x11d0fcb78: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fcb7c: 0xd63f0100 unknown blr x8
0x11d0fcb80: 0x14000059 unknown b 0x11d0fcce4
0x11d0fcb84: 0x14000001 unknown b 0x11d0fcb88
0x11d0fcb88: 0xf9404fe8 unknown ldr x8, [sp, #0x98]
0x11d0fcb8c: 0xb4000968 unknown cbz x8, 0x11d0fccb8
0x11d0fcb90: 0xb940be68 unknown ldr w8, [x19, #0xbc]
0x11d0fcb94: 0xf94053e9 unknown ldr x9, [sp, #0xa0]
0x11d0fcb98: 0xeb09011f unknown cmp x8, x9
0x11d0fcb9c: 0x540008e2 unknown b.hs 0x11d0fccb8
0x11d0fcba0: 0xf9400268 unknown ldr x8, [x19]
0x11d0fcba4: 0xb98073e9 unknown ldrsw x9, [sp, #0x70]
0x11d0fcba8: 0x8b090108 unknown add x8, x8, x9
0x11d0fcbac: 0xf9404fe9 unknown ldr x9, [sp, #0x98]
0x11d0fcbb0: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fcbb4: 0xd280018b unknown mov x11, #0xc
0x11d0fcbb8: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fcbbc: 0xf9000128 unknown str x8, [x9]
0x11d0fcbc0: 0x90000008 unknown adrp x8, 0
0x11d0fcbc4: 0xf947c508 unknown ldr x8, [x8, #0xf88]
0x11d0fcbc8: 0xf9400108 unknown ldr x8, [x8]
0x11d0fcbcc: 0xf9404fe9 unknown ldr x9, [sp, #0x98]
0x11d0fcbd0: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fcbd4: 0xd280018b unknown mov x11, #0xc
0x11d0fcbd8: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fcbdc: 0xf9400120 unknown ldr x0, [x9]
0x11d0fcbe0: 0xd63f0100 unknown blr x8
0x11d0fcbe4: 0xf90037e0 unknown str x0, [sp, #0x68]
0x11d0fcbe8: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fcbec: 0x34000208 unknown cbz w8, 0x11d0fcc2c
0x11d0fcbf0: 0xb940be68 unknown ldr w8, [x19, #0xbc]
0x11d0fcbf4: 0xf9404fe9 unknown ldr x9, [sp, #0x98]
0x11d0fcbf8: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fcbfc: 0xd280018b unknown mov x11, #0xc
0x11d0fcc00: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fcc04: 0xf9400129 unknown ldr x9, [x9]
0x11d0fcc08: 0xf94037ea unknown ldr x10, [sp, #0x68]
0x11d0fcc0c: 0xf9000bea unknown str x10, [sp, #0x10]
0x11d0fcc10: 0xf90007e9 unknown str x9, [sp, #0x8]
0x11d0fcc14: 0xf90003e8 unknown str x8, [sp]
0x11d0fcc18: 0x90000000 unknown adrp x0, 0
0x11d0fcc1c: 0xf947c000 unknown ldr x0, [x0, #0xf80]
0x11d0fcc20: 0x90000008 unknown adrp x8, 0
0x11d0fcc24: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fcc28: 0xd63f0100 unknown blr x8
0x11d0fcc2c: 0xf94037e8 unknown ldr x8, [sp, #0x68]
0x11d0fcc30: 0xf90033e8 unknown str x8, [sp, #0x60]
0x11d0fcc34: 0x5282a0a8 unknown mov w8, #0x1505
0x11d0fcc38: 0xb9005fe8 unknown str w8, [sp, #0x5c]
0x11d0fcc3c: 0xf94033e8 unknown ldr x8, [sp, #0x60]
0x11d0fcc40: 0x39400108 unknown ldrb w8, [x8]
0x11d0fcc44: 0x39016fe8 unknown strb w8, [sp, #0x5b]
0x11d0fcc48: 0x39416fe8 unknown ldrb w8, [sp, #0x5b]
0x11d0fcc4c: 0x53001d08 unknown uxtb w8, w8
0x11d0fcc50: 0x34000248 unknown cbz w8, 0x11d0fcc98
0x11d0fcc54: 0x39416fe8 unknown ldrb w8, [sp, #0x5b]
0x11d0fcc58: 0x7100b91f unknown cmp w8, #0x2e
0x11d0fcc5c: 0x54000061 unknown b.ne 0x11d0fcc68
0x11d0fcc60: 0xb9005fff unknown str wzr, [sp, #0x5c]
0x11d0fcc64: 0x1400000e unknown b 0x11d0fcc9c
0x11d0fcc68: 0xb9405fe8 unknown ldr w8, [sp, #0x5c]
0x11d0fcc6c: 0xb9405fe9 unknown ldr w9, [sp, #0x5c]
0x11d0fcc70: 0x0b081528 unknown add w8, w9, w8, lsl #5
0x11d0fcc74: 0x39416fe9 unknown ldrb w9, [sp, #0x5b]
0x11d0fcc78: 0x0b090108 unknown add w8, w8, w9
0x11d0fcc7c: 0xb9005fe8 unknown str w8, [sp, #0x5c]
0x11d0fcc80: 0xf94033e8 unknown ldr x8, [sp, #0x60]
0x11d0fcc84: 0x91000509 unknown add x9, x8, #0x1
0x11d0fcc88: 0xf90033e9 unknown str x9, [sp, #0x60]
0x11d0fcc8c: 0x39400508 unknown ldrb w8, [x8, #0x1]
0x11d0fcc90: 0x39016fe8 unknown strb w8, [sp, #0x5b]
0x11d0fcc94: 0x17ffffed unknown b 0x11d0fcc48
0x11d0fcc98: 0x14000001 unknown b 0x11d0fcc9c
0x11d0fcc9c: 0xb9405fe8 unknown ldr w8, [sp, #0x5c]
0x11d0fcca0: 0xf9404fe9 unknown ldr x9, [sp, #0x98]
0x11d0fcca4: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fcca8: 0xd280018b unknown mov x11, #0xc
0x11d0fccac: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fccb0: 0xb9000928 unknown str w8, [x9, #0x8]
0x11d0fccb4: 0x14000009 unknown b 0x11d0fccd8
0x11d0fccb8: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fccbc: 0x340000c8 unknown cbz w8, 0x11d0fccd4
0x11d0fccc0: 0x90000000 unknown adrp x0, 0
0x11d0fccc4: 0xf947d000 unknown ldr x0, [x0, #0xfa0]
0x11d0fccc8: 0x90000008 unknown adrp x8, 0
0x11d0fcccc: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fccd0: 0xd63f0100 unknown blr x8
0x11d0fccd4: 0x14000001 unknown b 0x11d0fccd8
0x11d0fccd8: 0xb940be68 unknown ldr w8, [x19, #0xbc]
0x11d0fccdc: 0x11000508 unknown add w8, w8, #0x1
0x11d0fcce0: 0xb900be68 unknown str w8, [x19, #0xbc]
0x11d0fcce4: 0xb94077e8 unknown ldr w8, [sp, #0x74]
0x11d0fcce8: 0x11000508 unknown add w8, w8, #0x1
0x11d0fccec: 0xb90077e8 unknown str w8, [sp, #0x74]
0x11d0fccf0: 0x17ffff79 unknown b 0x11d0fcad4
0x11d0fccf4: 0xf9403fe8 unknown ldr x8, [sp, #0x78]
0x11d0fccf8: 0xf9400269 unknown ldr x9, [x19]
0x11d0fccfc: 0xb9400129 unknown ldr w9, [x9]
0x11d0fcd00: 0xd280010a unknown mov x10, #0x8
0x11d0fcd04: 0x9b0a2128 unknown madd x8, x9, x10, x8
0x11d0fcd08: 0xf9002be8 unknown str x8, [sp, #0x50]
0x11d0fcd0c: 0xf9402be8 unknown ldr x8, [sp, #0x50]
0x11d0fcd10: 0xb9400108 unknown ldr w8, [x8]
0x11d0fcd14: 0xb9004fe8 unknown str w8, [sp, #0x4c]
0x11d0fcd18: 0xf9402be8 unknown ldr x8, [sp, #0x50]
0x11d0fcd1c: 0x91001108 unknown add x8, x8, #0x4
0x11d0fcd20: 0xf90023e8 unknown str x8, [sp, #0x40]
0x11d0fcd24: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fcd28: 0x34000108 unknown cbz w8, 0x11d0fcd48
0x11d0fcd2c: 0xb9404fe8 unknown ldr w8, [sp, #0x4c]
0x11d0fcd30: 0xf90003e8 unknown str x8, [sp]
0x11d0fcd34: 0x90000000 unknown adrp x0, 0
0x11d0fcd38: 0xf947cc00 unknown ldr x0, [x0, #0xf98]
0x11d0fcd3c: 0x90000008 unknown adrp x8, 0
0x11d0fcd40: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fcd44: 0xd63f0100 unknown blr x8
0x11d0fcd48: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fcd4c: 0x34000108 unknown cbz w8, 0x11d0fcd6c
0x11d0fcd50: 0xf94023e8 unknown ldr x8, [sp, #0x40]
0x11d0fcd54: 0xf90003e8 unknown str x8, [sp]
0x11d0fcd58: 0x90000000 unknown adrp x0, 0
0x11d0fcd5c: 0xf947c800 unknown ldr x0, [x0, #0xf90]
0x11d0fcd60: 0x90000008 unknown adrp x8, 0
0x11d0fcd64: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fcd68: 0xd63f0100 unknown blr x8
0x11d0fcd6c: 0xb9003fff unknown str wzr, [sp, #0x3c]
0x11d0fcd70: 0xb9403fe8 unknown ldr w8, [sp, #0x3c]
0x11d0fcd74: 0xb9404fe9 unknown ldr w9, [sp, #0x4c]
0x11d0fcd78: 0x6b09011f unknown cmp w8, w9
0x11d0fcd7c: 0x54000c42 unknown b.hs 0x11d0fcf04
0x11d0fcd80: 0xf94023e8 unknown ldr x8, [sp, #0x40]
0x11d0fcd84: 0xb9403fe9 unknown ldr w9, [sp, #0x3c]
0x11d0fcd88: 0xd280010a unknown mov x10, #0x8
0x11d0fcd8c: 0x9b0a2128 unknown madd x8, x9, x10, x8
0x11d0fcd90: 0xb9400108 unknown ldr w8, [x8]
0x11d0fcd94: 0xb9003be8 unknown str w8, [sp, #0x38]
0x11d0fcd98: 0xb9403be8 unknown ldr w8, [sp, #0x38]
0x11d0fcd9c: 0x36000048 unknown tbz w8, #0x0, 0x11d0fcda4
0x11d0fcda0: 0x14000055 unknown b 0x11d0fcef4
0x11d0fcda4: 0xb9403be8 unknown ldr w8, [sp, #0x38]
0x11d0fcda8: 0xb94097e9 unknown ldr w9, [sp, #0x94]
0x11d0fcdac: 0x6b09011f unknown cmp w8, w9
0x11d0fcdb0: 0x54000041 unknown b.ne 0x11d0fcdb8
0x11d0fcdb4: 0x14000050 unknown b 0x11d0fcef4
0x11d0fcdb8: 0x14000001 unknown b 0x11d0fcdbc
0x11d0fcdbc: 0xf9404fe8 unknown ldr x8, [sp, #0x98]
0x11d0fcdc0: 0xb4000948 unknown cbz x8, 0x11d0fcee8
0x11d0fcdc4: 0xb940be68 unknown ldr w8, [x19, #0xbc]
0x11d0fcdc8: 0xf94053e9 unknown ldr x9, [sp, #0xa0]
0x11d0fcdcc: 0xeb09011f unknown cmp x8, x9
0x11d0fcdd0: 0x540008c2 unknown b.hs 0x11d0fcee8
0x11d0fcdd4: 0xf9400268 unknown ldr x8, [x19]
0x11d0fcdd8: 0xb9803be9 unknown ldrsw x9, [sp, #0x38]
0x11d0fcddc: 0x8b090108 unknown add x8, x8, x9
0x11d0fcde0: 0xf9404fe9 unknown ldr x9, [sp, #0x98]
0x11d0fcde4: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fcde8: 0xd280018b unknown mov x11, #0xc
0x11d0fcdec: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fcdf0: 0xf9000128 unknown str x8, [x9]
0x11d0fcdf4: 0x90000008 unknown adrp x8, 0
0x11d0fcdf8: 0xf947c508 unknown ldr x8, [x8, #0xf88]
0x11d0fcdfc: 0xf9400108 unknown ldr x8, [x8]
0x11d0fce00: 0xf9404fe9 unknown ldr x9, [sp, #0x98]
0x11d0fce04: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fce08: 0xd280018b unknown mov x11, #0xc
0x11d0fce0c: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fce10: 0xf9400120 unknown ldr x0, [x9]
0x11d0fce14: 0xd63f0100 unknown blr x8
0x11d0fce18: 0xf9001be0 unknown str x0, [sp, #0x30]
0x11d0fce1c: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fce20: 0x34000208 unknown cbz w8, 0x11d0fce60
0x11d0fce24: 0xb940be68 unknown ldr w8, [x19, #0xbc]
0x11d0fce28: 0xf9404fe9 unknown ldr x9, [sp, #0x98]
0x11d0fce2c: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fce30: 0xd280018b unknown mov x11, #0xc
0x11d0fce34: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fce38: 0xf9400129 unknown ldr x9, [x9]
0x11d0fce3c: 0xf9401bea unknown ldr x10, [sp, #0x30]
0x11d0fce40: 0xf9000bea unknown str x10, [sp, #0x10]
0x11d0fce44: 0xf90007e9 unknown str x9, [sp, #0x8]
0x11d0fce48: 0xf90003e8 unknown str x8, [sp]
0x11d0fce4c: 0x90000000 unknown adrp x0, 0
0x11d0fce50: 0xf947c000 unknown ldr x0, [x0, #0xf80]
0x11d0fce54: 0x90000008 unknown adrp x8, 0
0x11d0fce58: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fce5c: 0xd63f0100 unknown blr x8
0x11d0fce60: 0xf9401be8 unknown ldr x8, [sp, #0x30]
0x11d0fce64: 0xf90017e8 unknown str x8, [sp, #0x28]
0x11d0fce68: 0x5282a0a8 unknown mov w8, #0x1505
0x11d0fce6c: 0xb90027e8 unknown str w8, [sp, #0x24]
0x11d0fce70: 0xf94017e8 unknown ldr x8, [sp, #0x28]
0x11d0fce74: 0x39400108 unknown ldrb w8, [x8]
0x11d0fce78: 0x39008fe8 unknown strb w8, [sp, #0x23]
0x11d0fce7c: 0x39408fe8 unknown ldrb w8, [sp, #0x23]
0x11d0fce80: 0x53001d08 unknown uxtb w8, w8
0x11d0fce84: 0x34000248 unknown cbz w8, 0x11d0fcecc
0x11d0fce88: 0x39408fe8 unknown ldrb w8, [sp, #0x23]
0x11d0fce8c: 0x7100b91f unknown cmp w8, #0x2e
0x11d0fce90: 0x54000061 unknown b.ne 0x11d0fce9c
0x11d0fce94: 0xb90027ff unknown str wzr, [sp, #0x24]
0x11d0fce98: 0x1400000e unknown b 0x11d0fced0
0x11d0fce9c: 0xb94027e8 unknown ldr w8, [sp, #0x24]
0x11d0fcea0: 0xb94027e9 unknown ldr w9, [sp, #0x24]
0x11d0fcea4: 0x0b081528 unknown add w8, w9, w8, lsl #5
0x11d0fcea8: 0x39408fe9 unknown ldrb w9, [sp, #0x23]
0x11d0fceac: 0x0b090108 unknown add w8, w8, w9
0x11d0fceb0: 0xb90027e8 unknown str w8, [sp, #0x24]
0x11d0fceb4: 0xf94017e8 unknown ldr x8, [sp, #0x28]
0x11d0fceb8: 0x91000509 unknown add x9, x8, #0x1
0x11d0fcebc: 0xf90017e9 unknown str x9, [sp, #0x28]
0x11d0fcec0: 0x39400508 unknown ldrb w8, [x8, #0x1]
0x11d0fcec4: 0x39008fe8 unknown strb w8, [sp, #0x23]
0x11d0fcec8: 0x17ffffed unknown b 0x11d0fce7c
0x11d0fcecc: 0x14000001 unknown b 0x11d0fced0
0x11d0fced0: 0xb94027e8 unknown ldr w8, [sp, #0x24]
0x11d0fced4: 0xf9404fe9 unknown ldr x9, [sp, #0x98]
0x11d0fced8: 0xb940be6a unknown ldr w10, [x19, #0xbc]
0x11d0fcedc: 0xd280018b unknown mov x11, #0xc
0x11d0fcee0: 0x9b0b2549 unknown madd x9, x10, x11, x9
0x11d0fcee4: 0xb9000928 unknown str w8, [x9, #0x8]
0x11d0fcee8: 0xb940be68 unknown ldr w8, [x19, #0xbc]
0x11d0fceec: 0x11000508 unknown add w8, w8, #0x1
0x11d0fcef0: 0xb900be68 unknown str w8, [x19, #0xbc]
0x11d0fcef4: 0xb9403fe8 unknown ldr w8, [sp, #0x3c]
0x11d0fcef8: 0x11000508 unknown add w8, w8, #0x1
0x11d0fcefc: 0xb9003fe8 unknown str w8, [sp, #0x3c]
0x11d0fcf00: 0x17ffff9c unknown b 0x11d0fcd70
0x11d0fcf04: 0x14000001 unknown b 0x11d0fcf08
0x11d0fcf08: 0x14000001 unknown b 0x11d0fcf0c
0x11d0fcf0c: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fcf10: 0x34000108 unknown cbz w8, 0x11d0fcf30
0x11d0fcf14: 0xb940be68 unknown ldr w8, [x19, #0xbc]
0x11d0fcf18: 0xf90003e8 unknown str x8, [sp]
0x11d0fcf1c: 0x90000000 unknown adrp x0, 0
0x11d0fcf20: 0xf947bc00 unknown ldr x0, [x0, #0xf78]
0x11d0fcf24: 0x90000008 unknown adrp x8, 0
0x11d0fcf28: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fcf2c: 0xd63f0100 unknown blr x8
0x11d0fcf30: 0xb940c268 unknown ldr w8, [x19, #0xc0]
0x11d0fcf34: 0x340000c8 unknown cbz w8, 0x11d0fcf4c
0x11d0fcf38: 0x90000000 unknown adrp x0, 0
0x11d0fcf3c: 0xf947b800 unknown ldr x0, [x0, #0xf70]
0x11d0fcf40: 0x90000008 unknown adrp x8, 0
0x11d0fcf44: 0xf947b508 unknown ldr x8, [x8, #0xf68]
0x11d0fcf48: 0xd63f0100 unknown blr x8
0x11d0fcf4c: 0x14000001 unknown b 0x11d0fcf50
0x11d0fcf50: 0xb940be60 unknown ldr w0, [x19, #0xbc]
0x11d0fcf54: 0xa95a7bfd unknown ldp x29, x30, [sp, #0x1a0]
0x11d0fcf58: 0xa9594ff4 unknown ldp x20, x19, [sp, #0x190]
0x11d0fcf5c: 0x9106c3ff unknown add sp, sp, #0x1b0
0x11d0fcf60: 0xd65f03c0 unknown ret
0x11d0fcf64: 0x00000000 unknown udf #0x0
0x11d0fcf68: 0x8a88001c unknown and x28, x0, x8, asr #0
0x11d0fcf6c: 0x00000001 unknown udf #0x1
0x11d0fcf70: 0x1d0f8413 unknown cpyprn [x19]!, [x15]!, x0!
0x11d0fcf74: 0x00000001 unknown udf #0x1
0x11d0fcf78: 0x1d0f8403 unknown cpyprn [x3]!, [x15]!, x0!
0x11d0fcf7c: 0x00000001 unknown udf #0x1
0x11d0fcf80: 0x1d0f8336 unknown .long 0x1d0f8336 ; unknown opcode
0x11d0fcf84: 0x00000001 unknown udf #0x1
0x11d0fcf88: 0x1d0f8430 unknown cpyprn [x16]!, [x15]!, x1!
0x11d0fcf8c: 0x00000001 unknown udf #0x1
0x11d0fcf90: 0x1d0f838a unknown .long 0x1d0f838a ; unknown opcode
0x11d0fcf94: 0x00000001 unknown udf #0x1
0x11d0fcf98: 0x1d0f8374 unknown .long 0x1d0f8374 ; unknown opcode
0x11d0fcf9c: 0x00000001 unknown udf #0x1
0x11d0fcfa0: 0x1d0f8349 unknown .long 0x1d0f8349 ; unknown opcode
0x11d0fcfa4: 0x00000001 unknown udf #0x1
0x11d0fcfa8: 0x1d0f83e2 unknown .long 0x1d0f83e2 ; unknown opcode
0x11d0fcfac: 0x00000001 unknown udf #0x1
0x11d0fcfb0: 0x1d0f83d3 unknown .long 0x1d0f83d3 ; unknown opcode
0x11d0fcfb4: 0x00000001 unknown udf #0x1
0x11d0fcfb8: 0x1d0f83bf unknown .long 0x1d0f83bf ; unknown opcode
0x11d0fcfbc: 0x00000001 unknown udf #0x1
0x11d0fcfc0: 0x1d0f83a6 unknown .long 0x1d0f83a6 ; unknown opcode
0x11d0fcfc4: 0x00000001 unknown udf #0x1
0x11d0fcfc8: 0x1d0f82ca unknown .long 0x1d0f82ca ; unknown opcode
0x11d0fcfcc: 0x00000001 unknown udf #0x1
0x11d0fcfd0: 0x1d0f82b2 unknown .long 0x1d0f82b2 ; unknown opcode
0x11d0fcfd4: 0x00000001 unknown udf #0x1
0x11d0fcfd8: 0x1d0f829b unknown .long 0x1d0f829b ; unknown opcode
0x11d0fcfdc: 0x00000001 unknown udf #0x1
0x11d0fcfe0: 0x1d0f8283 unknown .long 0x1d0f8283 ; unknown opcode
0x11d0fcfe4: 0x00000001 unknown udf #0x1
0x11d0fcfe8: 0x1d0f830d unknown .long 0x1d0f830d ; unknown opcode
0x11d0fcfec: 0x00000001 unknown udf #0x1
0x11d0fcff0: 0x1d0f82f9 unknown .long 0x1d0f82f9 ; unknown opcode
0x11d0fcff4: 0x00000001 unknown udf #0x1
0x11d0fcff8: 0x1d0f82dd unknown .long 0x1d0f82dd ; unknown opcode
0x11d0fcffc: 0x00000001 unknown udf #0x1
0x11d0fd000: 0x1d0f8265 unknown .long 0x1d0f8265 ; unknown opcode
0x11d0fd004: 0x00000001 unknown udf #0x1
0x11d0fd008: 0x1d0f8244 unknown .long 0x1d0f8244 ; unknown opcode
0x11d0fd00c: 0x00000001 unknown udf #0x1
0x11d0fd010: 0x1d0f81c5 unknown .long 0x1d0f81c5 ; unknown opcode
0x11d0fd014: 0x00000001 unknown udf #0x1
0x11d0fd018: 0x1d0f8197 unknown .long 0x1d0f8197 ; unknown opcode
0x11d0fd01c: 0x00000001 unknown udf #0x1
0x11d0fd020: 0x1d0f81af unknown .long 0x1d0f81af ; unknown opcode
0x11d0fd024: 0x00000001 unknown udf #0x1
0x11d0fd028: 0x1d0f8207 unknown .long 0x1d0f8207 ; unknown opcode
0x11d0fd02c: 0x00000001 unknown udf #0x1
0x11d0fd030: 0x1d0f81e3 unknown .long 0x1d0f81e3 ; unknown opcode
0x11d0fd034: 0x00000001 unknown udf #0x1
0x11d0fd038: 0x1d0f8168 unknown .long 0x1d0f8168 ; unknown opcode
0x11d0fd03c: 0x00000001 unknown udf #0x1
0x11d0fd040: 0x1d0f8152 unknown .long 0x1d0f8152 ; unknown opcode
0x11d0fd044: 0x00000001 unknown udf #0x1
0x11d0fd048: 0x1d0f8136 unknown .long 0x1d0f8136 ; unknown opcode
0x11d0fd04c: 0x00000001 unknown udf #0x1
0x11d0fd050: 0x1d0f8120 unknown .long 0x1d0f8120 ; unknown opcode
0x11d0fd054: 0x00000001 unknown udf #0x1
0x11d0fd058: 0x00000000 unknown udf #0x0
0x11d0fd05c: 0x00000000 unknown udf #0x0
0x11d0fd060: 0x00000000 unknown udf #0x0
0x11d0fd064: 0x00000000 unknown udf #0x0
0x11d0fd068: 0x00000000 unknown udf #0x0
0x11d0fd06c: 0x00000000 unknown udf #0x0
0x11d0fd070: 0x00000000 unknown udf #0x0
0x11d0fd074: 0x00000000 unknown udf #0x0
0x11d0fd078: 0x00000000 unknown udf #0x0
0x11d0fd07c: 0x00000000 unknown udf #0x0
0x11d0fd080: 0x00000000 unknown udf #0x0
0x11d0fd084: 0x00000000 unknown udf #0x0
0x11d0fd088: 0x00000000 unknown udf #0x0
0x11d0fd08c: 0x00000000 unknown udf #0x0
0x11d0fd090: 0x00000000 unknown udf #0x0
0x11d0fd094: 0x00000000 unknown udf #0x0
0x11d0fd098: 0x00000000 unknown udf #0x0
0x11d0fd09c: 0x00000000 unknown udf #0x0
0x11d0fd0a0: 0x00000000 unknown udf #0x0
0x11d0fd0a4: 0x00000000 unknown udf #0x0
0x11d0fd0a8: 0x00000000 unknown udf #0x0
0x11d0fd0ac: 0x00000000 unknown udf #0x0
0x11d0fd0b0: 0x00000000 unknown udf #0x0
0x11d0fd0b4: 0x00000000 unknown udf #0x0
0x11d0fd0b8: 0x00000000 unknown udf #0x0
0x11d0fd0bc: 0x00000000 unknown udf #0x0
0x11d0fd0c0: 0x00000000 unknown udf #0x0
0x11d0fd0c4: 0x00000000 unknown udf #0x0
0x11d0fd0c8: 0x00000000 unknown udf #0x0
0x11d0fd0cc: 0x00000000 unknown udf #0x0
0x11d0fd0d0: 0x00000000 unknown udf #0x0
0x11d0fd0d4: 0x00000000 unknown udf #0x0
0x11d0fd0d8: 0x00000000 unknown udf #0x0
0x11d0fd0dc: 0x00000000 unknown udf #0x0
0x11d0fd0e0: 0x00000000 unknown udf #0x0
0x11d0fd0e4: 0x00000000 unknown udf #0x0
0x11d0fd0e8: 0x00000000 unknown udf #0x0
0x11d0fd0ec: 0x00000000 unknown udf #0x0
0x11d0fd0f0: 0x00000000 unknown udf #0x0
0x11d0fd0f4: 0x00000000 unknown udf #0x0
0x11d0fd0f8: 0x00000000 unknown udf #0x0
0x11d0fd0fc: 0x00000000 unknown udf #0x0
0x11d0fd100: 0x00000000 unknown udf #0x0
0x11d0fd104: 0x00000000 unknown udf #0x0
0x11d0fd108: 0x00000000 unknown udf #0x0
0x11d0fd10c: 0x00000000 unknown udf #0x0
0x11d0fd110: 0x00000000 unknown udf #0x0
0x11d0fd114: 0x00000000 unknown udf #0x0
0x11d0fd118: 0x00000000 unknown udf #0x0
0x11d0fd11c: 0x00000000 unknown udf #0x0
0x11d0fd120: 0x00000000 unknown udf #0x0
0x11d0fd124: 0x00000000 unknown udf #0x0
0x11d0fd128: 0x00000000 unknown udf #0x0
0x11d0fd12c: 0x00000000 unknown udf #0x0
0x11d0fd130: 0x00000000 unknown udf #0x0
0x11d0fd134: 0x00000000 unknown udf #0x0
0x11d0fd138: 0x00000000 unknown udf #0x0
0x11d0fd13c: 0x00000000 unknown udf #0x0
0x11d0fd140: 0x00000000 unknown udf #0x0
0x11d0fd144: 0x00000000 unknown udf #0x0
0x11d0fd148: 0x00000000 unknown udf #0x0
0x11d0fd14c: 0x00000000 unknown udf #0x0
0x11d0fd150: 0x00000000 unknown udf #0x0
0x11d0fd154: 0x00000000 unknown udf #0x0
0x11d0fd158: 0x00000000 unknown udf #0x0
0x11d0fd15c: 0x00000000 unknown udf #0x0
0x11d0fd160: 0x00000000 unknown udf #0x0
0x11d0fd164: 0x00000000 unknown udf #0x0
0x11d0fd168: 0x00000000 unknown udf #0x0
0x11d0fd16c: 0x00000000 unknown udf #0x0
0x11d0fd170: 0x00000000 unknown udf #0x0
0x11d0fd174: 0x00000000 unknown udf #0x0
0x11d0fd178: 0x00000000 unknown udf #0x0
0x11d0fd17c: 0x00000000 unknown udf #0x0
0x11d0fd180: 0x00000000 unknown udf #0x0
0x11d0fd184: 0x00000000 unknown udf #0x0
0x11d0fd188: 0x00000000 unknown udf #0x0
0x11d0fd18c: 0x00000000 unknown udf #0x0
0x11d0fd190: 0x00000000 unknown udf #0x0
0x11d0fd194: 0x00000000 unknown udf #0x0
0x11d0fd198: 0x00000000 unknown udf #0x0
0x11d0fd19c: 0x00000000 unknown udf #0x0
0x11d0fd1a0: 0x00000000 unknown udf #0x0
0x11d0fd1a4: 0x00000000 unknown udf #0x0
0x11d0fd1a8: 0x00000000 unknown udf #0x0
0x11d0fd1ac: 0x00000000 unknown udf #0x0
0x11d0fd1b0: 0x00000000 unknown udf #0x0
0x11d0fd1b4: 0x00000000 unknown udf #0x0
0x11d0fd1b8: 0x00000000 unknown udf #0x0
0x11d0fd1bc: 0x00000000 unknown udf #0x0
0x11d0fd1c0: 0x00000000 unknown udf #0x0
0x11d0fd1c4: 0x00000000 unknown udf #0x0
0x11d0fd1c8: 0x00000000 unknown udf #0x0
0x11d0fd1cc: 0x00000000 unknown udf #0x0
0x11d0fd1d0: 0x00000000 unknown udf #0x0
0x11d0fd1d4: 0x00000000 unknown udf #0x0
0x11d0fd1d8: 0x00000000 unknown udf #0x0
0x11d0fd1dc: 0x00000000 unknown udf #0x0
0x11d0fd1e0: 0x00000000 unknown udf #0x0
0x11d0fd1e4: 0x00000000 unknown udf #0x0
0x11d0fd1e8: 0x00000000 unknown udf #0x0
0x11d0fd1ec: 0x00000000 unknown udf #0x0
0x11d0fd1f0: 0x00000000 unknown udf #0x0
0x11d0fd1f4: 0x00000000 unknown udf #0x0
0x11d0fd1f8: 0x00000000 unknown udf #0x0
0x11d0fd1fc: 0x00000000 unknown udf #0x0
0x11d0fd200: 0x00000000 unknown udf #0x0
0x11d0fd204: 0x00000000 unknown udf #0x0
0x11d0fd208: 0x00000000 unknown udf #0x0
0x11d0fd20c: 0x00000000 unknown udf #0x0
0x11d0fd210: 0x00000000 unknown udf #0x0
0x11d0fd214: 0x00000000 unknown udf #0x0
0x11d0fd218: 0x00000000 unknown udf #0x0
0x11d0fd21c: 0x00000000 unknown udf #0x0
0x11d0fd220: 0x00000000 unknown udf #0x0
0x11d0fd224: 0x00000000 unknown udf #0x0
0x11d0fd228: 0x00000000 unknown udf #0x0
0x11d0fd22c: 0x00000000 unknown udf #0x0
0x11d0fd230: 0x00000000 unknown udf #0x0
0x11d0fd234: 0x00000000 unknown udf #0x0
0x11d0fd238: 0x00000000 unknown udf #0x0
0x11d0fd23c: 0x00000000 unknown udf #0x0
0x11d0fd240: 0x00000000 unknown udf #0x0
0x11d0fd244: 0x00000000 unknown udf #0x0
0x11d0fd248: 0x00000000 unknown udf #0x0
0x11d0fd24c: 0x00000000 unknown udf #0x0
0x11d0fd250: 0x00000000 unknown udf #0x0
0x11d0fd254: 0x00000000 unknown udf #0x0
0x11d0fd258: 0x00000000 unknown udf #0x0
0x11d0fd25c: 0x00000000 unknown udf #0x0
0x11d0fd260: 0x00000000 unknown udf #0x0
0x11d0fd264: 0x00000000 unknown udf #0x0
0x11d0fd268: 0x00000000 unknown udf #0x0
0x11d0fd26c: 0x00000000 unknown udf #0x0
0x11d0fd270: 0x00000000 unknown udf #0x0
0x11d0fd274: 0x00000000 unknown udf #0x0
0x11d0fd278: 0x00000000 unknown udf #0x0
0x11d0fd27c: 0x00000000 unknown udf #0x0
0x11d0fd280: 0x00000000 unknown udf #0x0
0x11d0fd284: 0x00000000 unknown udf #0x0
0x11d0fd288: 0x00000000 unknown udf #0x0
0x11d0fd28c: 0x00000000 unknown udf #0x0
0x11d0fd290: 0x00000000 unknown udf #0x0
0x11d0fd294: 0x00000000 unknown udf #0x0
0x11d0fd298: 0x00000000 unknown udf #0x0
0x11d0fd29c: 0x00000000 unknown udf #0x0
0x11d0fd2a0: 0x00000000 unknown udf #0x0
0x11d0fd2a4: 0x00000000 unknown udf #0x0
0x11d0fd2a8: 0x00000000 unknown udf #0x0
0x11d0fd2ac: 0x00000000 unknown udf #0x0
0x11d0fd2b0: 0x00000000 unknown udf #0x0
0x11d0fd2b4: 0x00000000 unknown udf #0x0
0x11d0fd2b8: 0x00000000 unknown udf #0x0
0x11d0fd2bc: 0x00000000 unknown udf #0x0
0x11d0fd2c0: 0x00000000 unknown udf #0x0
0x11d0fd2c4: 0x00000000 unknown udf #0x0
0x11d0fd2c8: 0x00000000 unknown udf #0x0
0x11d0fd2cc: 0x00000000 unknown udf #0x0
0x11d0fd2d0: 0x00000000 unknown udf #0x0
0x11d0fd2d4: 0x00000000 unknown udf #0x0
0x11d0fd2d8: 0x00000000 unknown udf #0x0
0x11d0fd2dc: 0x00000000 unknown udf #0x0
0x11d0fd2e0: 0x00000000 unknown udf #0x0
0x11d0fd2e4: 0x00000000 unknown udf #0x0
0x11d0fd2e8: 0x00000000 unknown udf #0x0
0x11d0fd2ec: 0x00000000 unknown udf #0x0
0x11d0fd2f0: 0x00000000 unknown udf #0x0
0x11d0fd2f4: 0x00000000 unknown udf #0x0
0x11d0fd2f8: 0x00000000 unknown udf #0x0
0x11d0fd2fc: 0x00000000 unknown udf #0x0
0x11d0fd300: 0x00000000 unknown udf #0x0
0x11d0fd304: 0x00000000 unknown udf #0x0
0x11d0fd308: 0x00000000 unknown udf #0x0
0x11d0fd30c: 0x00000000 unknown udf #0x0
0x11d0fd310: 0x00000000 unknown udf #0x0
0x11d0fd314: 0x00000000 unknown udf #0x0
0x11d0fd318: 0x00000000 unknown udf #0x0
0x11d0fd31c: 0x00000000 unknown udf #0x0
0x11d0fd320: 0x00000000 unknown udf #0x0
0x11d0fd324: 0x00000000 unknown udf #0x0
0x11d0fd328: 0x00000000 unknown udf #0x0
0x11d0fd32c: 0x00000000 unknown udf #0x0
0x11d0fd330: 0x00000000 unknown udf #0x0
0x11d0fd334: 0x00000000 unknown udf #0x0
0x11d0fd338: 0x00000000 unknown udf #0x0
0x11d0fd33c: 0x00000000 unknown udf #0x0
0x11d0fd340: 0x00000000 unknown udf #0x0
0x11d0fd344: 0x00000000 unknown udf #0x0
0x11d0fd348: 0x00000000 unknown udf #0x0
0x11d0fd34c: 0x00000000 unknown udf #0x0
0x11d0fd350: 0x00000000 unknown udf #0x0
0x11d0fd354: 0x00000000 unknown udf #0x0
0x11d0fd358: 0x00000000 unknown udf #0x0
0x11d0fd35c: 0x00000000 unknown udf #0x0
0x11d0fd360: 0x00000000 unknown udf #0x0
0x11d0fd364: 0x00000000 unknown udf #0x0
0x11d0fd368: 0x00000000 unknown udf #0x0
0x11d0fd36c: 0x00000000 unknown udf #0x0
0x11d0fd370: 0x00000000 unknown udf #0x0
0x11d0fd374: 0x00000000 unknown udf #0x0
0x11d0fd378: 0x00000000 unknown udf #0x0
0x11d0fd37c: 0x00000000 unknown udf #0x0
0x11d0fd380: 0x00000000 unknown udf #0x0
0x11d0fd384: 0x00000000 unknown udf #0x0
0x11d0fd388: 0x00000000 unknown udf #0x0
0x11d0fd38c: 0x00000000 unknown udf #0x0
0x11d0fd390: 0x00000000 unknown udf #0x0
0x11d0fd394: 0x00000000 unknown udf #0x0
0x11d0fd398: 0x00000000 unknown udf #0x0
0x11d0fd39c: 0x00000000 unknown udf #0x0
0x11d0fd3a0: 0x00000000 unknown udf #0x0
0x11d0fd3a4: 0x00000000 unknown udf #0x0
0x11d0fd3a8: 0x00000000 unknown udf #0x0
0x11d0fd3ac: 0x00000000 unknown udf #0x0
0x11d0fd3b0: 0x00000000 unknown udf #0x0
0x11d0fd3b4: 0x00000000 unknown udf #0x0
0x11d0fd3b8: 0x00000000 unknown udf #0x0
0x11d0fd3bc: 0x00000000 unknown udf #0x0
0x11d0fd3c0: 0x00000000 unknown udf #0x0
0x11d0fd3c4: 0x00000000 unknown udf #0x0
0x11d0fd3c8: 0x00000000 unknown udf #0x0
0x11d0fd3cc: 0x00000000 unknown udf #0x0
0x11d0fd3d0: 0x00000000 unknown udf #0x0
0x11d0fd3d4: 0x00000000 unknown udf #0x0
0x11d0fd3d8: 0x00000000 unknown udf #0x0
0x11d0fd3dc: 0x00000000 unknown udf #0x0
0x11d0fd3e0: 0x00000000 unknown udf #0x0
0x11d0fd3e4: 0x00000000 unknown udf #0x0
0x11d0fd3e8: 0x00000000 unknown udf #0x0
0x11d0fd3ec: 0x00000000 unknown udf #0x0
0x11d0fd3f0: 0x00000000 unknown udf #0x0
0x11d0fd3f4: 0x00000000 unknown udf #0x0
0x11d0fd3f8: 0x00000000 unknown udf #0x0
0x11d0fd3fc: 0x00000000 unknown udf #0x0
0x11d0fd400: 0x00000000 unknown udf #0x0
0x11d0fd404: 0x00000000 unknown udf #0x0
0x11d0fd408: 0x00000000 unknown udf #0x0
0x11d0fd40c: 0x00000000 unknown udf #0x0
0x11d0fd410: 0x00000000 unknown udf #0x0
0x11d0fd414: 0x00000000 unknown udf #0x0
0x11d0fd418: 0x00000000 unknown udf #0x0
0x11d0fd41c: 0x00000000 unknown udf #0x0
0x11d0fd420: 0x00000000 unknown udf #0x0
0x11d0fd424: 0x00000000 unknown udf #0x0
0x11d0fd428: 0x00000000 unknown udf #0x0
0x11d0fd42c: 0x00000000 unknown udf #0x0
0x11d0fd430: 0x00000000 unknown udf #0x0
0x11d0fd434: 0x00000000 unknown udf #0x0
0x11d0fd438: 0x00000000 unknown udf #0x0
0x11d0fd43c: 0x00000000 unknown udf #0x0
0x11d0fd440: 0x00000000 unknown udf #0x0
0x11d0fd444: 0x00000000 unknown udf #0x0
0x11d0fd448: 0x00000000 unknown udf #0x0
0x11d0fd44c: 0x00000000 unknown udf #0x0
0x11d0fd450: 0x00000000 unknown udf #0x0
0x11d0fd454: 0x00000000 unknown udf #0x0
0x11d0fd458: 0x00000000 unknown udf #0x0
0x11d0fd45c: 0x00000000 unknown udf #0x0
0x11d0fd460: 0x00000000 unknown udf #0x0
0x11d0fd464: 0x00000000 unknown udf #0x0
0x11d0fd468: 0x00000000 unknown udf #0x0
0x11d0fd46c: 0x00000000 unknown udf #0x0
0x11d0fd470: 0x00000000 unknown udf #0x0
0x11d0fd474: 0x00000000 unknown udf #0x0
0x11d0fd478: 0x00000000 unknown udf #0x0
0x11d0fd47c: 0x00000000 unknown udf #0x0
0x11d0fd480: 0x00000000 unknown udf #0x0
0x11d0fd484: 0x00000000 unknown udf #0x0
0x11d0fd488: 0x00000000 unknown udf #0x0
0x11d0fd48c: 0x00000000 unknown udf #0x0
0x11d0fd490: 0x00000000 unknown udf #0x0
0x11d0fd494: 0x00000000 unknown udf #0x0
0x11d0fd498: 0x00000000 unknown udf #0x0
0x11d0fd49c: 0x00000000 unknown udf #0x0
0x11d0fd4a0: 0x00000000 unknown udf #0x0
0x11d0fd4a4: 0x00000000 unknown udf #0x0
0x11d0fd4a8: 0x00000000 unknown udf #0x0
0x11d0fd4ac: 0x00000000 unknown udf #0x0
0x11d0fd4b0: 0x00000000 unknown udf #0x0
0x11d0fd4b4: 0x00000000 unknown udf #0x0
0x11d0fd4b8: 0x00000000 unknown udf #0x0
0x11d0fd4bc: 0x00000000 unknown udf #0x0
0x11d0fd4c0: 0x00000000 unknown udf #0x0
0x11d0fd4c4: 0x00000000 unknown udf #0x0
0x11d0fd4c8: 0x00000000 unknown udf #0x0
0x11d0fd4cc: 0x00000000 unknown udf #0x0
0x11d0fd4d0: 0x00000000 unknown udf #0x0
0x11d0fd4d4: 0x00000000 unknown udf #0x0
0x11d0fd4d8: 0x00000000 unknown udf #0x0
0x11d0fd4dc: 0x00000000 unknown udf #0x0
0x11d0fd4e0: 0x00000000 unknown udf #0x0
0x11d0fd4e4: 0x00000000 unknown udf #0x0
0x11d0fd4e8: 0x00000000 unknown udf #0x0
0x11d0fd4ec: 0x00000000 unknown udf #0x0
0x11d0fd4f0: 0x00000000 unknown udf #0x0
0x11d0fd4f4: 0x00000000 unknown udf #0x0
0x11d0fd4f8: 0x00000000 unknown udf #0x0
0x11d0fd4fc: 0x00000000 unknown udf #0x0
0x11d0fd500: 0x00000000 unknown udf #0x0
0x11d0fd504: 0x00000000 unknown udf #0x0
0x11d0fd508: 0x00000000 unknown udf #0x0
0x11d0fd50c: 0x00000000 unknown udf #0x0
0x11d0fd510: 0x00000000 unknown udf #0x0
0x11d0fd514: 0x00000000 unknown udf #0x0
0x11d0fd518: 0x00000000 unknown udf #0x0
0x11d0fd51c: 0x00000000 unknown udf #0x0
0x11d0fd520: 0x00000000 unknown udf #0x0
0x11d0fd524: 0x00000000 unknown udf #0x0
0x11d0fd528: 0x00000000 unknown udf #0x0
0x11d0fd52c: 0x00000000 unknown udf #0x0
0x11d0fd530: 0x00000000 unknown udf #0x0
0x11d0fd534: 0x00000000 unknown udf #0x0
0x11d0fd538: 0x00000000 unknown udf #0x0
0x11d0fd53c: 0x00000000 unknown udf #0x0
0x11d0fd540: 0x00000000 unknown udf #0x0
0x11d0fd544: 0x00000000 unknown udf #0x0
0x11d0fd548: 0x00000000 unknown udf #0x0
0x11d0fd54c: 0x00000000 unknown udf #0x0
0x11d0fd550: 0x00000000 unknown udf #0x0
0x11d0fd554: 0x00000000 unknown udf #0x0
0x11d0fd558: 0x00000000 unknown udf #0x0
0x11d0fd55c: 0x00000000 unknown udf #0x0
0x11d0fd560: 0x00000000 unknown udf #0x0
0x11d0fd564: 0x00000000 unknown udf #0x0
0x11d0fd568: 0x00000000 unknown udf #0x0
0x11d0fd56c: 0x00000000 unknown udf #0x0
0x11d0fd570: 0x00000000 unknown udf #0x0
0x11d0fd574: 0x00000000 unknown udf #0x0
0x11d0fd578: 0x00000000 unknown udf #0x0
0x11d0fd57c: 0x00000000 unknown udf #0x0
0x11d0fd580: 0x00000000 unknown udf #0x0
0x11d0fd584: 0x00000000 unknown udf #0x0
0x11d0fd588: 0x00000000 unknown udf #0x0
0x11d0fd58c: 0x00000000 unknown udf #0x0
0x11d0fd590: 0x00000000 unknown udf #0x0
0x11d0fd594: 0x00000000 unknown udf #0x0
0x11d0fd598: 0x00000000 unknown udf #0x0
0x11d0fd59c: 0x00000000 unknown udf #0x0
0x11d0fd5a0: 0x00000000 unknown udf #0x0
0x11d0fd5a4: 0x00000000 unknown udf #0x0
0x11d0fd5a8: 0x00000000 unknown udf #0x0
Sections:
[0x1057fc000+0x15af]->0x11d0fc000 (alignment 8, section ID 0, name __text)
IRMemoryMap::ReadMemory (0x11d0fc000, 0x134d5f800, 0x5551) came from [0x11d0fc000..0x11d0fd5b7)
0x11d0fc000: ff c3 06 d1 f4 4f 19 a9 fd 7b 1a a9 fd 83 06 91
0x11d0fc010: f3 a3 02 91 60 72 00 f9 61 6e 00 f9 62 6a 00 f9
0x11d0fc020: 63 66 00 f9 64 c6 00 b9 65 c2 00 b9 68 66 40 f9
0x11d0fc030: 1f 01 00 f9 7f be 00 b9 68 c2 40 b9 08 01 00 34
0x11d0fc040: 68 72 40 f9 e8 03 00 f9 00 00 00 b0 00 28 40 f9
0x11d0fc050: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 c2 40 b9
0x11d0fc060: 08 01 00 34 68 6e 40 f9 e8 03 00 f9 00 00 00 b0
0x11d0fc070: 00 24 40 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc080: 68 c2 40 b9 08 01 00 34 68 6a 40 f9 e8 03 00 f9
0x11d0fc090: 00 00 00 b0 00 20 40 f9 08 00 00 90 08 b5 47 f9
0x11d0fc0a0: 00 01 3f d6 68 c2 40 b9 88 01 00 34 68 c6 40 b9
0x11d0fc0b0: 69 c6 40 b9 8a 01 80 d2 29 09 ca 9a e9 07 00 f9
0x11d0fc0c0: e8 03 00 f9 00 00 00 b0 00 1c 40 f9 08 00 00 90
0x11d0fc0d0: 08 b5 47 f9 00 01 3f d6 68 72 40 f9 a8 73 00 b4
0x11d0fc0e0: 68 72 40 f9 68 5a 00 f9 68 72 40 f9 68 56 00 f9
0x11d0fc0f0: 68 72 40 f9 68 52 00 f9 68 5a 40 f9 08 01 40 b9
0x11d0fc100: 1f 41 00 71 03 07 00 54 68 52 40 f9 08 15 40 f9
0x11d0fc110: 69 66 40 f9 28 01 00 f9 68 c2 40 b9 28 01 00 34
0x11d0fc120: 68 52 40 f9 08 01 40 b9 e8 03 00 f9 00 00 00 b0
0x11d0fc130: 00 0c 40 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc140: 68 c2 40 b9 28 01 00 34 68 52 40 f9 08 05 40 b9
0x11d0fc150: e8 03 00 f9 00 00 00 b0 00 10 40 f9 08 00 00 90
0x11d0fc160: 08 b5 47 f9 00 01 3f d6 68 c2 40 b9 28 01 00 34
0x11d0fc170: 68 52 40 f9 08 09 40 b9 e8 03 00 f9 00 00 00 b0
0x11d0fc180: 00 08 40 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc190: 68 c2 40 b9 28 01 00 34 68 52 40 f9 08 0d 40 b9
0x11d0fc1a0: e8 03 00 f9 00 00 00 b0 00 18 40 f9 08 00 00 90
0x11d0fc1b0: 08 b5 47 f9 00 01 3f d6 68 c2 40 b9 28 01 00 34
0x11d0fc1c0: 68 66 40 f9 08 01 40 f9 e8 03 00 f9 00 00 00 b0
0x11d0fc1d0: 00 14 40 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc1e0: 62 00 00 14 68 5a 40 f9 08 01 40 b9 1f 39 00 71
0x11d0fc1f0: 83 06 00 54 68 c2 40 b9 28 01 00 34 68 56 40 f9
0x11d0fc200: 08 01 40 b9 e8 03 00 f9 00 00 00 b0 00 0c 40 f9
0x11d0fc210: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 c2 40 b9
0x11d0fc220: 28 01 00 34 68 56 40 f9 08 05 40 b9 e8 03 00 f9
0x11d0fc230: 00 00 00 b0 00 10 40 f9 08 00 00 90 08 b5 47 f9
0x11d0fc240: 00 01 3f d6 68 c2 40 b9 28 01 00 34 68 56 40 f9
0x11d0fc250: 08 09 40 b9 e8 03 00 f9 00 00 00 b0 00 08 40 f9
0x11d0fc260: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 c2 40 b9
0x11d0fc270: 28 01 00 34 68 56 40 f9 08 0d 40 b9 e8 03 00 f9
0x11d0fc280: 00 00 00 b0 00 04 40 f9 08 00 00 90 08 b5 47 f9
0x11d0fc290: 00 01 3f d6 68 c2 40 b9 28 01 00 34 68 56 40 f9
0x11d0fc2a0: 08 11 40 b9 e8 03 00 f9 00 00 00 b0 00 00 40 f9
0x11d0fc2b0: 08 00 00 90 08 b5 47 f9 00 01 3f d6 2a 00 00 14
0x11d0fc2c0: 68 c2 40 b9 28 01 00 34 68 5a 40 f9 08 01 40 b9
0x11d0fc2d0: e8 03 00 f9 00 00 00 b0 00 0c 40 f9 08 00 00 90
0x11d0fc2e0: 08 b5 47 f9 00 01 3f d6 68 c2 40 b9 28 01 00 34
0x11d0fc2f0: 68 5a 40 f9 08 05 40 b9 e8 03 00 f9 00 00 00 b0
0x11d0fc300: 00 08 40 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc310: 68 c2 40 b9 28 01 00 34 68 5a 40 f9 08 09 40 b9
0x11d0fc320: e8 03 00 f9 00 00 00 b0 00 04 40 f9 08 00 00 90
0x11d0fc330: 08 b5 47 f9 00 01 3f d6 68 c2 40 b9 28 01 00 34
0x11d0fc340: 68 5a 40 f9 08 0d 40 b9 e8 03 00 f9 00 00 00 b0
0x11d0fc350: 00 00 40 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc360: 01 00 00 14 01 00 00 14 68 5a 40 f9 08 01 40 b9
0x11d0fc370: 1f 41 00 71 01 2e 00 54 68 5a 40 f9 69 52 40 f9
0x11d0fc380: 29 21 80 b9 08 01 09 8b 68 4e 00 f9 68 c6 40 b9
0x11d0fc390: 89 01 80 d2 08 09 c9 9a 68 4a 00 f9 68 c2 40 b9
0x11d0fc3a0: 08 01 00 34 68 4a 40 f9 e8 03 00 f9 00 00 00 90
0x11d0fc3b0: 00 f0 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc3c0: 68 6a 40 f9 68 46 00 f9 68 4e 40 f9 08 81 10 91
0x11d0fc3d0: 69 4e 40 f9 29 11 40 b9 29 05 00 11 29 7d 40 d3
0x11d0fc3e0: 08 01 09 8b 68 42 00 f9 68 42 40 f9 69 4e 40 f9
0x11d0fc3f0: 29 05 40 b9 08 01 09 8b 68 3e 00 f9 68 3e 40 f9
0x11d0fc400: 69 4e 40 f9 29 05 40 b9 8a 00 80 d2 28 21 0a 9b
0x11d0fc410: 68 3a 00 f9 68 c2 40 b9 28 01 00 34 68 4e 40 f9
0x11d0fc420: 08 05 40 b9 e8 03 00 f9 00 00 00 90 00 ec 47 f9
0x11d0fc430: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 c2 40 b9
0x11d0fc440: 28 01 00 34 68 4e 40 f9 08 11 40 b9 e8 03 00 f9
0x11d0fc450: 00 00 00 90 00 e8 47 f9 08 00 00 90 08 b5 47 f9
0x11d0fc460: 00 01 3f d6 68 c2 40 b9 08 01 00 34 68 3a 40 f9
0x11d0fc470: e8 03 00 f9 00 00 00 90 00 e4 47 f9 08 00 00 90
0x11d0fc480: 08 b5 47 f9 00 01 3f d6 7f 6e 00 b9 68 6e 40 b9
0x11d0fc490: 69 4e 40 f9 29 05 40 b9 1f 01 09 6b e2 10 00 54
0x11d0fc4a0: 68 3a 40 f9 69 6e 40 b9 0a 01 80 d2 28 21 0a 9b
0x11d0fc4b0: 08 01 40 f9 08 fd 41 d3 08 b9 40 92 68 32 00 f9
0x11d0fc4c0: 68 c2 40 b9 48 01 00 34 68 6e 40 b9 69 32 40 f9
0x11d0fc4d0: e9 07 00 f9 e8 03 00 f9 00 00 00 90 00 fc 47 f9
0x11d0fc4e0: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 3a 40 f9
0x11d0fc4f0: 69 6e 40 b9 0a 01 80 d2 28 21 0a 9b 08 01 40 f9
0x11d0fc500: 28 01 00 36 68 c2 40 b9 c8 00 00 34 00 00 00 90
0x11d0fc510: 00 f8 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc520: 62 00 00 14 68 32 40 f9 28 01 00 b5 68 c2 40 b9
0x11d0fc530: c8 00 00 34 00 00 00 90 00 f4 47 f9 08 00 00 90
0x11d0fc540: 08 b5 47 f9 00 01 3f d6 58 00 00 14 68 46 40 f9
0x11d0fc550: 68 09 00 b4 68 be 40 b9 69 4a 40 f9 1f 01 09 eb
0x11d0fc560: e2 08 00 54 68 6e 40 f9 69 32 40 f9 08 01 09 8b
0x11d0fc570: 69 46 40 f9 6a be 40 b9 8b 01 80 d2 49 25 0b 9b
0x11d0fc580: 28 01 00 f9 08 00 00 90 08 c5 47 f9 08 01 40 f9
0x11d0fc590: 69 46 40 f9 6a be 40 b9 8b 01 80 d2 49 25 0b 9b
0x11d0fc5a0: 20 01 40 f9 00 01 3f d6 60 2e 00 f9 68 c2 40 b9
0x11d0fc5b0: 08 02 00 34 68 be 40 b9 69 46 40 f9 6a be 40 b9
0x11d0fc5c0: 8b 01 80 d2 49 25 0b 9b 29 01 40 f9 6a 2e 40 f9
0x11d0fc5d0: ea 0b 00 f9 e9 07 00 f9 e8 03 00 f9 00 00 00 90
0x11d0fc5e0: 00 c0 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc5f0: 68 2e 40 f9 68 2a 00 f9 a8 a0 82 52 68 4e 00 b9
0x11d0fc600: 68 2a 40 f9 08 01 40 39 a8 33 15 38 a8 33 55 38
0x11d0fc610: 08 1d 00 53 48 02 00 34 a8 33 55 38 1f b9 00 71
0x11d0fc620: 61 00 00 54 7f 4e 00 b9 0e 00 00 14 68 4e 40 b9
0x11d0fc630: 69 4e 40 b9 28 15 08 0b a9 33 55 38 08 01 09 0b
0x11d0fc640: 68 4e 00 b9 68 2a 40 f9 09 05 00 91 69 2a 00 f9
0x11d0fc650: 08 05 40 39 a8 33 15 38 ed ff ff 17 01 00 00 14
0x11d0fc660: 68 4e 40 b9 69 46 40 f9 6a be 40 b9 8b 01 80 d2
0x11d0fc670: 49 25 0b 9b 28 09 00 b9 09 00 00 14 68 c2 40 b9
0x11d0fc680: c8 00 00 34 00 00 00 90 00 d0 47 f9 08 00 00 90
0x11d0fc690: 08 b5 47 f9 00 01 3f d6 01 00 00 14 68 be 40 b9
0x11d0fc6a0: 08 05 00 11 68 be 00 b9 68 6e 40 b9 08 05 00 11
0x11d0fc6b0: 68 6e 00 b9 76 ff ff 17 68 3a 40 f9 69 4e 40 f9
0x11d0fc6c0: 29 05 40 b9 0a 01 80 d2 28 21 0a 9b 68 22 00 f9
0x11d0fc6d0: 68 22 40 f9 08 01 40 b9 68 3e 00 b9 68 22 40 f9
0x11d0fc6e0: 08 11 00 91 68 1a 00 f9 68 c2 40 b9 08 01 00 34
0x11d0fc6f0: 68 3e 40 b9 e8 03 00 f9 00 00 00 90 00 cc 47 f9
0x11d0fc700: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 c2 40 b9
0x11d0fc710: 08 01 00 34 68 1a 40 f9 e8 03 00 f9 00 00 00 90
0x11d0fc720: 00 c8 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc730: 7f 2e 00 b9 68 2e 40 b9 69 3e 40 b9 1f 01 09 6b
0x11d0fc740: 82 0f 00 54 68 3a 40 f9 69 2e 40 b9 0a 01 80 d2
0x11d0fc750: 28 21 0a 9b 08 01 40 f9 08 fd 41 d3 08 b9 40 92
0x11d0fc760: 68 12 00 f9 68 c2 40 b9 48 01 00 34 68 2e 40 b9
0x11d0fc770: 69 12 40 f9 e9 07 00 f9 e8 03 00 f9 00 00 00 90
0x11d0fc780: 00 fc 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fc790: 68 3a 40 f9 69 2e 40 b9 0a 01 80 d2 28 21 0a 9b
0x11d0fc7a0: 08 01 40 f9 28 01 00 36 68 c2 40 b9 c8 00 00 34
0x11d0fc7b0: 00 00 00 90 00 f8 47 f9 08 00 00 90 08 b5 47 f9
0x11d0fc7c0: 00 01 3f d6 57 00 00 14 68 12 40 f9 28 01 00 b5
0x11d0fc7d0: 68 c2 40 b9 c8 00 00 34 00 00 00 90 00 f4 47 f9
0x11d0fc7e0: 08 00 00 90 08 b5 47 f9 00 01 3f d6 4d 00 00 14
0x11d0fc7f0: 68 46 40 f9 48 09 00 b4 68 be 40 b9 69 4a 40 f9
0x11d0fc800: 1f 01 09 eb c2 08 00 54 68 6e 40 f9 69 12 40 f9
0x11d0fc810: 08 01 09 8b 69 46 40 f9 6a be 40 b9 8b 01 80 d2
0x11d0fc820: 49 25 0b 9b 28 01 00 f9 08 00 00 90 08 c5 47 f9
0x11d0fc830: 08 01 40 f9 69 46 40 f9 6a be 40 b9 8b 01 80 d2
0x11d0fc840: 49 25 0b 9b 20 01 40 f9 00 01 3f d6 60 0e 00 f9
0x11d0fc850: 68 c2 40 b9 08 02 00 34 68 be 40 b9 69 46 40 f9
0x11d0fc860: 6a be 40 b9 8b 01 80 d2 49 25 0b 9b 29 01 40 f9
0x11d0fc870: 6a 0e 40 f9 ea 0b 00 f9 e9 07 00 f9 e8 03 00 f9
0x11d0fc880: 00 00 00 90 00 c0 47 f9 08 00 00 90 08 b5 47 f9
0x11d0fc890: 00 01 3f d6 68 0e 40 f9 68 0a 00 f9 a8 a0 82 52
0x11d0fc8a0: 68 0e 00 b9 68 0a 40 f9 08 01 40 39 e8 cf 02 39
0x11d0fc8b0: e8 cf 42 39 08 1d 00 53 48 02 00 34 e8 cf 42 39
0x11d0fc8c0: 1f b9 00 71 61 00 00 54 7f 0e 00 b9 0e 00 00 14
0x11d0fc8d0: 68 0e 40 b9 69 0e 40 b9 28 15 08 0b e9 cf 42 39
0x11d0fc8e0: 08 01 09 0b 68 0e 00 b9 68 0a 40 f9 09 05 00 91
0x11d0fc8f0: 69 0a 00 f9 08 05 40 39 e8 cf 02 39 ed ff ff 17
0x11d0fc900: 01 00 00 14 68 0e 40 b9 69 46 40 f9 6a be 40 b9
0x11d0fc910: 8b 01 80 d2 49 25 0b 9b 28 09 00 b9 01 00 00 14
0x11d0fc920: 68 2e 40 b9 08 05 00 11 68 2e 00 b9 82 ff ff 17
0x11d0fc930: 77 01 00 14 68 5a 40 f9 08 01 40 b9 1f 31 00 71
0x11d0fc940: 43 2e 00 54 68 5a 40 f9 08 01 40 b9 1f 3d 00 71
0x11d0fc950: c8 2d 00 54 7f 02 00 f9 68 5a 40 f9 08 01 40 b9
0x11d0fc960: 1f 39 00 71 e3 00 00 54 68 56 40 f9 69 56 40 f9
0x11d0fc970: 29 11 80 b9 08 01 09 8b 68 02 00 f9 06 00 00 14
0x11d0fc980: 68 5a 40 f9 69 5a 40 f9 29 0d 80 b9 08 01 09 8b
0x11d0fc990: 68 02 00 f9 68 c6 40 b9 89 01 80 d2 08 09 c9 9a
0x11d0fc9a0: e8 53 00 f9 68 c2 40 b9 08 01 00 34 e8 53 40 f9
0x11d0fc9b0: e8 03 00 f9 00 00 00 90 00 f0 47 f9 08 00 00 90
0x11d0fc9c0: 08 b5 47 f9 00 01 3f d6 68 6a 40 f9 e8 4f 00 f9
0x11d0fc9d0: ff 97 00 b9 68 5a 40 f9 08 01 40 b9 1f 31 00 71
0x11d0fc9e0: 61 00 00 54 08 02 80 52 e8 97 00 b9 68 02 40 f9
0x11d0fc9f0: 08 81 10 91 69 02 40 f9 29 0d 40 b9 29 05 00 11
0x11d0fca00: 29 7d 40 d3 08 01 09 8b e8 47 00 f9 e8 47 40 f9
0x11d0fca10: 69 02 40 f9 29 01 40 b9 08 01 09 8b e8 43 00 f9
0x11d0fca20: e8 43 40 f9 69 02 40 f9 29 01 40 b9 8a 00 80 d2
0x11d0fca30: 28 21 0a 9b e8 3f 00 f9 68 c2 40 b9 28 01 00 34
0x11d0fca40: 68 02 40 f9 08 01 40 b9 e8 03 00 f9 00 00 00 90
0x11d0fca50: 00 ec 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fca60: 68 c2 40 b9 28 01 00 34 68 02 40 f9 08 0d 40 b9
0x11d0fca70: e8 03 00 f9 00 00 00 90 00 e8 47 f9 08 00 00 90
0x11d0fca80: 08 b5 47 f9 00 01 3f d6 68 c2 40 b9 08 01 00 34
0x11d0fca90: e8 3f 40 f9 e8 03 00 f9 00 00 00 90 00 e4 47 f9
0x11d0fcaa0: 08 00 00 90 08 b5 47 f9 00 01 3f d6 68 c2 40 b9
0x11d0fcab0: 08 01 00 34 e8 97 40 b9 e8 03 00 f9 00 00 00 90
0x11d0fcac0: 00 e0 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fcad0: ff 77 00 b9 e8 77 40 b9 69 02 40 f9 29 01 40 b9
0x11d0fcae0: 1f 01 09 6b 82 10 00 54 e8 3f 40 f9 e9 77 40 b9
0x11d0fcaf0: 0a 01 80 d2 28 21 0a 9b 08 01 40 b9 e8 73 00 b9
0x11d0fcb00: 68 c2 40 b9 48 01 00 34 e8 77 40 b9 e9 73 40 b9
0x11d0fcb10: e9 07 00 f9 e8 03 00 f9 00 00 00 90 00 dc 47 f9
0x11d0fcb20: 08 00 00 90 08 b5 47 f9 00 01 3f d6 e8 73 40 b9
0x11d0fcb30: 28 01 00 36 68 c2 40 b9 c8 00 00 34 00 00 00 90
0x11d0fcb40: 00 d8 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fcb50: 65 00 00 14 e8 73 40 b9 e9 97 40 b9 1f 01 09 6b
0x11d0fcb60: 21 01 00 54 68 c2 40 b9 c8 00 00 34 00 00 00 90
0x11d0fcb70: 00 d4 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fcb80: 59 00 00 14 01 00 00 14 e8 4f 40 f9 68 09 00 b4
0x11d0fcb90: 68 be 40 b9 e9 53 40 f9 1f 01 09 eb e2 08 00 54
0x11d0fcba0: 68 02 40 f9 e9 73 80 b9 08 01 09 8b e9 4f 40 f9
0x11d0fcbb0: 6a be 40 b9 8b 01 80 d2 49 25 0b 9b 28 01 00 f9
0x11d0fcbc0: 08 00 00 90 08 c5 47 f9 08 01 40 f9 e9 4f 40 f9
0x11d0fcbd0: 6a be 40 b9 8b 01 80 d2 49 25 0b 9b 20 01 40 f9
0x11d0fcbe0: 00 01 3f d6 e0 37 00 f9 68 c2 40 b9 08 02 00 34
0x11d0fcbf0: 68 be 40 b9 e9 4f 40 f9 6a be 40 b9 8b 01 80 d2
0x11d0fcc00: 49 25 0b 9b 29 01 40 f9 ea 37 40 f9 ea 0b 00 f9
0x11d0fcc10: e9 07 00 f9 e8 03 00 f9 00 00 00 90 00 c0 47 f9
0x11d0fcc20: 08 00 00 90 08 b5 47 f9 00 01 3f d6 e8 37 40 f9
0x11d0fcc30: e8 33 00 f9 a8 a0 82 52 e8 5f 00 b9 e8 33 40 f9
0x11d0fcc40: 08 01 40 39 e8 6f 01 39 e8 6f 41 39 08 1d 00 53
0x11d0fcc50: 48 02 00 34 e8 6f 41 39 1f b9 00 71 61 00 00 54
0x11d0fcc60: ff 5f 00 b9 0e 00 00 14 e8 5f 40 b9 e9 5f 40 b9
0x11d0fcc70: 28 15 08 0b e9 6f 41 39 08 01 09 0b e8 5f 00 b9
0x11d0fcc80: e8 33 40 f9 09 05 00 91 e9 33 00 f9 08 05 40 39
0x11d0fcc90: e8 6f 01 39 ed ff ff 17 01 00 00 14 e8 5f 40 b9
0x11d0fcca0: e9 4f 40 f9 6a be 40 b9 8b 01 80 d2 49 25 0b 9b
0x11d0fccb0: 28 09 00 b9 09 00 00 14 68 c2 40 b9 c8 00 00 34
0x11d0fccc0: 00 00 00 90 00 d0 47 f9 08 00 00 90 08 b5 47 f9
0x11d0fccd0: 00 01 3f d6 01 00 00 14 68 be 40 b9 08 05 00 11
0x11d0fcce0: 68 be 00 b9 e8 77 40 b9 08 05 00 11 e8 77 00 b9
0x11d0fccf0: 79 ff ff 17 e8 3f 40 f9 69 02 40 f9 29 01 40 b9
0x11d0fcd00: 0a 01 80 d2 28 21 0a 9b e8 2b 00 f9 e8 2b 40 f9
0x11d0fcd10: 08 01 40 b9 e8 4f 00 b9 e8 2b 40 f9 08 11 00 91
0x11d0fcd20: e8 23 00 f9 68 c2 40 b9 08 01 00 34 e8 4f 40 b9
0x11d0fcd30: e8 03 00 f9 00 00 00 90 00 cc 47 f9 08 00 00 90
0x11d0fcd40: 08 b5 47 f9 00 01 3f d6 68 c2 40 b9 08 01 00 34
0x11d0fcd50: e8 23 40 f9 e8 03 00 f9 00 00 00 90 00 c8 47 f9
0x11d0fcd60: 08 00 00 90 08 b5 47 f9 00 01 3f d6 ff 3f 00 b9
0x11d0fcd70: e8 3f 40 b9 e9 4f 40 b9 1f 01 09 6b 42 0c 00 54
0x11d0fcd80: e8 23 40 f9 e9 3f 40 b9 0a 01 80 d2 28 21 0a 9b
0x11d0fcd90: 08 01 40 b9 e8 3b 00 b9 e8 3b 40 b9 48 00 00 36
0x11d0fcda0: 55 00 00 14 e8 3b 40 b9 e9 97 40 b9 1f 01 09 6b
0x11d0fcdb0: 41 00 00 54 50 00 00 14 01 00 00 14 e8 4f 40 f9
0x11d0fcdc0: 48 09 00 b4 68 be 40 b9 e9 53 40 f9 1f 01 09 eb
0x11d0fcdd0: c2 08 00 54 68 02 40 f9 e9 3b 80 b9 08 01 09 8b
0x11d0fcde0: e9 4f 40 f9 6a be 40 b9 8b 01 80 d2 49 25 0b 9b
0x11d0fcdf0: 28 01 00 f9 08 00 00 90 08 c5 47 f9 08 01 40 f9
0x11d0fce00: e9 4f 40 f9 6a be 40 b9 8b 01 80 d2 49 25 0b 9b
0x11d0fce10: 20 01 40 f9 00 01 3f d6 e0 1b 00 f9 68 c2 40 b9
0x11d0fce20: 08 02 00 34 68 be 40 b9 e9 4f 40 f9 6a be 40 b9
0x11d0fce30: 8b 01 80 d2 49 25 0b 9b 29 01 40 f9 ea 1b 40 f9
0x11d0fce40: ea 0b 00 f9 e9 07 00 f9 e8 03 00 f9 00 00 00 90
0x11d0fce50: 00 c0 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fce60: e8 1b 40 f9 e8 17 00 f9 a8 a0 82 52 e8 27 00 b9
0x11d0fce70: e8 17 40 f9 08 01 40 39 e8 8f 00 39 e8 8f 40 39
0x11d0fce80: 08 1d 00 53 48 02 00 34 e8 8f 40 39 1f b9 00 71
0x11d0fce90: 61 00 00 54 ff 27 00 b9 0e 00 00 14 e8 27 40 b9
0x11d0fcea0: e9 27 40 b9 28 15 08 0b e9 8f 40 39 08 01 09 0b
0x11d0fceb0: e8 27 00 b9 e8 17 40 f9 09 05 00 91 e9 17 00 f9
0x11d0fcec0: 08 05 40 39 e8 8f 00 39 ed ff ff 17 01 00 00 14
0x11d0fced0: e8 27 40 b9 e9 4f 40 f9 6a be 40 b9 8b 01 80 d2
0x11d0fcee0: 49 25 0b 9b 28 09 00 b9 68 be 40 b9 08 05 00 11
0x11d0fcef0: 68 be 00 b9 e8 3f 40 b9 08 05 00 11 e8 3f 00 b9
0x11d0fcf00: 9c ff ff 17 01 00 00 14 01 00 00 14 68 c2 40 b9
0x11d0fcf10: 08 01 00 34 68 be 40 b9 e8 03 00 f9 00 00 00 90
0x11d0fcf20: 00 bc 47 f9 08 00 00 90 08 b5 47 f9 00 01 3f d6
0x11d0fcf30: 68 c2 40 b9 c8 00 00 34 00 00 00 90 00 b8 47 f9
0x11d0fcf40: 08 00 00 90 08 b5 47 f9 00 01 3f d6 01 00 00 14
0x11d0fcf50: 60 be 40 b9 fd 7b 5a a9 f4 4f 59 a9 ff c3 06 91
0x11d0fcf60: c0 03 5f d6 00 00 00 00 1c 00 88 8a 01 00 00 00
0x11d0fcf70: 13 84 0f 1d 01 00 00 00 03 84 0f 1d 01 00 00 00
0x11d0fcf80: 36 83 0f 1d 01 00 00 00 30 84 0f 1d 01 00 00 00
0x11d0fcf90: 8a 83 0f 1d 01 00 00 00 74 83 0f 1d 01 00 00 00
0x11d0fcfa0: 49 83 0f 1d 01 00 00 00 e2 83 0f 1d 01 00 00 00
0x11d0fcfb0: d3 83 0f 1d 01 00 00 00 bf 83 0f 1d 01 00 00 00
0x11d0fcfc0: a6 83 0f 1d 01 00 00 00 ca 82 0f 1d 01 00 00 00
0x11d0fcfd0: b2 82 0f 1d 01 00 00 00 9b 82 0f 1d 01 00 00 00
0x11d0fcfe0: 83 82 0f 1d 01 00 00 00 0d 83 0f 1d 01 00 00 00
0x11d0fcff0: f9 82 0f 1d 01 00 00 00 dd 82 0f 1d 01 00 00 00
0x11d0fd000: 65 82 0f 1d 01 00 00 00 44 82 0f 1d 01 00 00 00
0x11d0fd010: c5 81 0f 1d 01 00 00 00 97 81 0f 1d 01 00 00 00
0x11d0fd020: af 81 0f 1d 01 00 00 00 07 82 0f 1d 01 00 00 00
0x11d0fd030: e3 81 0f 1d 01 00 00 00 68 81 0f 1d 01 00 00 00
0x11d0fd040: 52 81 0f 1d 01 00 00 00 36 81 0f 1d 01 00 00 00
0x11d0fd050: 20 81 0f 1d 01 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd0a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd0b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd0c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd0d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd0e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd0f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd1b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd1c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd1d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd1f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd2a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd2b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd2c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd2d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd2e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd2f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd3a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd3b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd3c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd3d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd3e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd3f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd4a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd4b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd4c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd4d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd4e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd4f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd540: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd550: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0fd5a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[0x107ffc000+0x307]->0x11d0f8120 (alignment 8, section ID 1, name __cstring)
IRMemoryMap::ReadMemory (0x11d0f8120, 0x1255bb3a0, 0x775) came from [0x11d0f8120..0x11d0f842f)
0x11d0f8120: 6f 62 6a 63 5f 6f 70 74 5f 72 6f 5f 70 74 72 20
0x11d0f8130: 3d 20 25 70 0a 00 73 68 61 72 65 64 5f 63 61 63
0x11d0f8140: 68 65 5f 62 61 73 65 5f 70 74 72 20 3d 20 25 70
0x11d0f8150: 0a 00 63 6c 61 73 73 5f 69 6e 66 6f 73 5f 70 74
0x11d0f8160: 72 20 3d 20 25 70 0a 00 63 6c 61 73 73 5f 69 6e
0x11d0f8170: 66 6f 73 5f 62 79 74 65 5f 73 69 7a 65 20 3d 20
0x11d0f8180: 25 75 20 28 25 6c 6c 75 20 63 6c 61 73 73 20 69
0x11d0f8190: 6e 66 6f 73 29 0a 00 6f 62 6a 63 5f 6f 70 74 2d
0x11d0f81a0: 3e 76 65 72 73 69 6f 6e 20 3d 20 25 75 0a 00 6f
0x11d0f81b0: 62 6a 63 5f 6f 70 74 2d 3e 66 6c 61 67 73 20 3d
0x11d0f81c0: 20 25 75 0a 00 6f 62 6a 63 5f 6f 70 74 2d 3e 73
0x11d0f81d0: 65 6c 6f 70 74 5f 6f 66 66 73 65 74 20 3d 20 25
0x11d0f81e0: 64 0a 00 6f 62 6a 63 5f 6f 70 74 2d 3e 68 65 61
0x11d0f81f0: 64 65 72 6f 70 74 5f 72 6f 5f 6f 66 66 73 65 74
0x11d0f8200: 20 3d 20 25 64 0a 00 6f 62 6a 63 5f 6f 70 74 2d
0x11d0f8210: 3e 72 65 6c 61 74 69 76 65 4d 65 74 68 6f 64 53
0x11d0f8220: 65 6c 65 63 74 6f 72 42 61 73 65 41 64 64 72 65
0x11d0f8230: 73 73 43 61 63 68 65 4f 66 66 73 65 74 20 3d 20
0x11d0f8240: 25 64 0a 00 6f 62 6a 63 5f 6f 70 74 2d 3e 68 65
0x11d0f8250: 61 64 65 72 6f 70 74 5f 6f 66 66 73 65 74 20 3d
0x11d0f8260: 20 25 64 0a 00 6f 62 6a 63 5f 6f 70 74 2d 3e 63
0x11d0f8270: 6c 73 6f 70 74 5f 6f 66 66 73 65 74 20 3d 20 25
0x11d0f8280: 64 0a 00 6d 61 78 5f 63 6c 61 73 73 5f 69 6e 66
0x11d0f8290: 6f 73 20 3d 20 25 6c 6c 75 0a 00 63 6c 73 6f 70
0x11d0f82a0: 74 2d 3e 63 61 70 61 63 69 74 79 20 3d 20 25 75
0x11d0f82b0: 0a 00 63 6c 73 6f 70 74 2d 3e 6d 61 73 6b 20 3d
0x11d0f82c0: 20 30 78 25 38 2e 38 78 0a 00 63 6c 61 73 73 4f
0x11d0f82d0: 66 66 73 65 74 73 20 3d 20 25 70 0a 00 6f 62 6a
0x11d0f82e0: 65 63 74 43 61 63 68 65 4f 66 66 73 65 74 5b 25
0x11d0f82f0: 75 5d 20 3d 20 25 75 0a 00 69 73 44 75 70 6c 69
0x11d0f8300: 63 61 74 65 20 3d 20 74 72 75 65 0a 00 6f 62 6a
0x11d0f8310: 65 63 74 43 61 63 68 65 4f 66 66 73 65 74 20 3d
0x11d0f8320: 3d 20 69 6e 76 61 6c 69 64 45 6e 74 72 79 4f 66
0x11d0f8330: 66 73 65 74 0a 00 5b 25 75 5d 20 69 73 61 20 3d
0x11d0f8340: 20 25 38 70 20 25 73 0a 00 6e 6f 74 28 63 6c 61
0x11d0f8350: 73 73 5f 69 6e 66 6f 73 20 26 26 20 69 64 78 20
0x11d0f8360: 3c 20 6d 61 78 5f 63 6c 61 73 73 5f 69 6e 66 6f
0x11d0f8370: 73 29 0a 00 64 75 70 6c 69 63 61 74 65 5f 63 6f
0x11d0f8380: 75 6e 74 20 3d 20 25 75 0a 00 64 75 70 6c 69 63
0x11d0f8390: 61 74 65 43 6c 61 73 73 4f 66 66 73 65 74 73 20
0x11d0f83a0: 3d 20 25 70 0a 00 69 6e 76 61 6c 69 64 45 6e 74
0x11d0f83b0: 72 79 4f 66 66 73 65 74 20 3d 20 25 64 0a 00 63
0x11d0f83c0: 6c 73 4f 66 66 73 65 74 5b 25 75 5d 20 3d 20 25
0x11d0f83d0: 75 0a 00 63 6c 73 4f 66 66 73 65 74 20 26 20 31
0x11d0f83e0: 0a 00 63 6c 73 4f 66 66 73 65 74 20 3d 3d 20 69
0x11d0f83f0: 6e 76 61 6c 69 64 45 6e 74 72 79 4f 66 66 73 65
0x11d0f8400: 74 0a 00 25 75 20 63 6c 61 73 73 5f 69 6e 66 6f
0x11d0f8410: 73 0a 00 64 6f 6e 65 0a 00 00 00 00 00 00 00 00
0x11d0f8420: 00 00 00 00 00 00 00
[0x107ffc308+0x17]->0x11d0f8430 (alignment 8, section ID 2, name __data)
IRMemoryMap::ReadMemory (0x11d0f8430, 0x6000006b0040, 0x23) came from [0x11d0f8430..0x11d0f844f)
0x11d0f8430: 04 12 62 8a 01 00 00 00 00 00 00 00 00 00 00 00
0x11d0f8440: 00 00 00 00 00 00 00
[0x107ffc320+0xf]->0x11d0f8450 (alignment 8, section ID 3, name __bss)
IRMemoryMap::ReadMemory (0x11d0f8450, 0x60000031bc80, 0x15) came from [0x11d0f8450..0x11d0f8467)
0x11d0f8450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[0x107ffc330+0x16]->0x11d0f8470 (alignment 8, section ID 4, name __objc_imageinfo)
IRMemoryMap::ReadMemory (0x11d0f8470, 0x6000007c6840, 0x22) came from [0x11d0f8470..0x11d0f848f)
0x11d0f8470: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00
0x11d0f8480: 00 00 00 00 00 00
[0x107ffc348+0x159]->0xffffffffffffffff (alignment 8, section ID 5, name __debug_abbrev)
0x107ffc348: 01 11 01 25 0e 13 05 03 0e 10 17 1b 0e e5 7f 0b
0x107ffc358: 11 01 12 06 00 00 02 34 00 03 0e 49 13 3f 19 3a
0x107ffc368: 0b 3b 0b 02 18 00 00 03 0f 00 49 13 00 00 04 15
0x107ffc378: 01 49 13 00 00 05 05 00 49 13 00 00 06 26 00 49
0x107ffc388: 13 00 00 07 24 00 03 0e 3e 0b 0b 0b 00 00 08 0f
0x107ffc398: 00 00 00 09 34 00 49 13 3a 0b 3b 0b 02 18 00 00
0x107ffc3a8: 0a 01 01 49 13 00 00 0b 21 00 49 13 37 0b 00 00
0x107ffc3b8: 0c 24 00 03 0e 0b 0b 3e 0b 00 00 0d 34 00 49 13
0x107ffc3c8: 3a 0b 3b 05 02 18 00 00 0e 16 00 49 13 03 0e 3a
0x107ffc3d8: 0b 3b 0b 00 00 0f 13 01 36 0b 03 0e 0b 0b 3a 0b
0x107ffc3e8: 3b 0b 00 00 10 0d 00 03 0e 49 13 3a 0b 3b 0b 38
0x107ffc3f8: 0b 00 00 11 13 01 36 0b 03 0e 0b 05 3a 0b 3b 0b
0x107ffc408: 00 00 12 0d 00 03 0e 49 13 3a 0b 3b 0b 38 05 00
0x107ffc418: 00 13 21 00 49 13 37 05 00 00 14 16 00 49 13 03
0x107ffc428: 0e 00 00 15 13 00 03 0e 3c 19 00 00 16 0d 00 03
0x107ffc438: 0e 49 13 3a 0b 3b 0b 0d 0b 6b 0b 00 00 17 2e 01
0x107ffc448: 11 01 12 06 40 18 6e 0e 03 0e 3a 0b 3b 0b 49 13
0x107ffc458: 3f 19 00 00 18 05 00 02 18 03 0e 3a 0b 3b 0b 49
0x107ffc468: 13 00 00 19 34 00 02 18 03 0e 3a 0b 3b 0b 49 13
0x107ffc478: 00 00 1a 0b 01 11 01 12 06 00 00 1b 34 00 02 18
0x107ffc488: 03 0e 3a 0b 3b 05 49 13 00 00 00 00 00 00 00 00
0x107ffc498: 00 00 00 00 00 00 00 00 00
[0x107ffc4a8+0xc90]->0xffffffffffffffff (alignment 8, section ID 6, name __debug_info)
0x107ffc4a8: ee 0a 00 00 04 00 00 00 00 00 08 01 00 00 00 00
0x107ffc4b8: 11 00 2f 00 00 00 00 00 00 00 73 00 00 00 02 00
0x107ffc4c8: c0 0f 1d 01 00 00 00 64 0f 00 00 02 75 00 00 00
0x107ffc4d8: 40 00 00 00 01 28 09 03 30 84 0f 1d 01 00 00 00
0x107ffc4e8: 03 45 00 00 00 04 50 00 00 00 05 61 00 00 00 00
0x107ffc4f8: 03 55 00 00 00 06 5a 00 00 00 07 8c 00 00 00 06
0x107ffc508: 01 08 09 73 00 00 00 01 92 09 03 20 81 0f 1d 01
0x107ffc518: 00 00 00 0a 55 00 00 00 0b 7f 00 00 00 16 00 0c
0x107ffc528: 91 00 00 00 08 07 09 97 00 00 00 01 93 09 03 36
0x107ffc538: 81 0f 1d 01 00 00 00 0a 55 00 00 00 0b 7f 00 00
0x107ffc548: 00 1c 00 09 73 00 00 00 01 94 09 03 52 81 0f 1d
0x107ffc558: 01 00 00 00 09 c5 00 00 00 01 95 09 03 68 81 0f
0x107ffc568: 1d 01 00 00 00 0a 55 00 00 00 0b 7f 00 00 00 2f
0x107ffc578: 00 09 e2 00 00 00 01 9e 09 03 97 81 0f 1d 01 00
0x107ffc588: 00 00 0a 55 00 00 00 0b 7f 00 00 00 18 00 09 73
0x107ffc598: 00 00 00 01 9f 09 03 af 81 0f 1d 01 00 00 00 09
0x107ffc5a8: 10 01 00 00 01 a0 09 03 c5 81 0f 1d 01 00 00 00
0x107ffc5b8: 0a 55 00 00 00 0b 7f 00 00 00 1e 00 09 2d 01 00
0x107ffc5c8: 00 01 a1 09 03 e3 81 0f 1d 01 00 00 00 0a 55 00
0x107ffc5d8: 00 00 0b 7f 00 00 00 24 00 09 4a 01 00 00 01 a2
0x107ffc5e8: 09 03 07 82 0f 1d 01 00 00 00 0a 55 00 00 00 0b
0x107ffc5f8: 7f 00 00 00 3d 00 09 67 01 00 00 01 a9 09 03 44
0x107ffc608: 82 0f 1d 01 00 00 00 0a 55 00 00 00 0b 7f 00 00
0x107ffc618: 00 21 00 09 10 01 00 00 01 aa 09 03 65 82 0f 1d
0x107ffc628: 01 00 00 00 09 e2 00 00 00 01 b9 09 03 83 82 0f
0x107ffc638: 1d 01 00 00 00 09 a6 01 00 00 01 c1 09 03 9b 82
0x107ffc648: 0f 1d 01 00 00 00 0a 55 00 00 00 0b 7f 00 00 00
0x107ffc658: 17 00 09 e2 00 00 00 01 c2 09 03 b2 82 0f 1d 01
0x107ffc668: 00 00 00 09 d4 01 00 00 01 c3 09 03 ca 82 0f 1d
0x107ffc678: 01 00 00 00 0a 55 00 00 00 0b 7f 00 00 00 13 00
0x107ffc688: 09 97 00 00 00 01 c8 09 03 dd 82 0f 1d 01 00 00
0x107ffc698: 00 09 02 02 00 00 01 cb 09 03 f9 82 0f 1d 01 00
0x107ffc6a8: 00 00 0a 55 00 00 00 0b 7f 00 00 00 14 00 09 1f
0x107ffc6b8: 02 00 00 01 d0 09 03 0d 83 0f 1d 01 00 00 00 0a
0x107ffc6c8: 55 00 00 00 0b 7f 00 00 00 29 00 09 d4 01 00 00
0x107ffc6d8: 01 da 09 03 36 83 0f 1d 01 00 00 00 09 4d 02 00
0x107ffc6e8: 00 01 f0 09 03 49 83 0f 1d 01 00 00 00 0a 55 00
0x107ffc6f8: 00 00 0b 7f 00 00 00 2b 00 09 73 00 00 00 01 f9
0x107ffc708: 09 03 74 83 0f 1d 01 00 00 00 09 97 00 00 00 01
0x107ffc718: fa 09 03 8a 83 0f 1d 01 00 00 00 0d 8d 02 00 00
0x107ffc728: 01 3b 01 09 03 a6 83 0f 1d 01 00 00 00 0a 55 00
0x107ffc738: 00 00 0b 7f 00 00 00 19 00 0d 02 02 00 00 01 3f
0x107ffc748: 01 09 03 bf 83 0f 1d 01 00 00 00 0d bd 02 00 00
0x107ffc758: 01 42 01 09 03 d3 83 0f 1d 01 00 00 00 0a 55 00
0x107ffc768: 00 00 0b 7f 00 00 00 0f 00 0d 67 01 00 00 01 47
0x107ffc778: 01 09 03 e2 83 0f 1d 01 00 00 00 0d ed 02 00 00
0x107ffc788: 01 90 01 09 03 03 84 0f 1d 01 00 00 00 0a 55 00
0x107ffc798: 00 00 0b 7f 00 00 00 10 00 0d 0b 03 00 00 01 91
0x107ffc7a8: 01 09 03 13 84 0f 1d 01 00 00 00 0a 55 00 00 00
0x107ffc7b8: 0b 7f 00 00 00 06 00 0e 22 03 00 00 a6 00 00 00
0x107ffc7c8: 01 1a 07 af 00 00 00 07 08 03 2e 03 00 00 0f 05
0x107ffc7d8: c2 00 00 00 10 01 65 10 cd 00 00 00 68 03 00 00
0x107ffc7e8: 01 66 00 10 eb 00 00 00 7a 03 00 00 01 67 04 10
0x107ffc7f8: 05 01 00 00 7a 03 00 00 01 68 08 10 16 01 00 00
0x107ffc808: 7a 03 00 00 01 69 0c 00 0e 73 03 00 00 d5 00 00
0x107ffc818: 00 01 18 07 de 00 00 00 07 04 0e 85 03 00 00 f9
0x107ffc828: 00 00 00 01 17 07 01 01 00 00 05 04 03 91 03 00
0x107ffc838: 00 0f 05 24 01 00 00 14 01 6c 10 cd 00 00 00 68
0x107ffc848: 03 00 00 01 6d 00 10 33 01 00 00 68 03 00 00 01
0x107ffc858: 6e 04 10 eb 00 00 00 7a 03 00 00 01 6f 08 10 05
0x107ffc868: 01 00 00 7a 03 00 00 01 70 0c 10 16 01 00 00 7a
0x107ffc878: 03 00 00 01 71 10 00 03 dc 03 00 00 0f 05 39 01
0x107ffc888: 00 00 30 01 74 10 cd 00 00 00 68 03 00 00 01 75
0x107ffc898: 00 10 33 01 00 00 68 03 00 00 01 76 04 10 eb 00
0x107ffc8a8: 00 00 7a 03 00 00 01 77 08 10 48 01 00 00 7a 03
0x107ffc8b8: 00 00 01 78 0c 10 5c 01 00 00 7a 03 00 00 01 79
0x107ffc8c8: 10 10 71 01 00 00 7a 03 00 00 01 7a 14 10 8b 01
0x107ffc8d8: 00 00 7a 03 00 00 01 7b 18 10 9f 01 00 00 7a 03
0x107ffc8e8: 00 00 01 7c 1c 10 ba 01 00 00 7a 03 00 00 01 7d
0x107ffc8f8: 20 10 d7 01 00 00 7a 03 00 00 01 7e 24 10 f7 01
0x107ffc908: 00 00 17 03 00 00 01 7f 28 00 03 6f 04 00 00 06
0x107ffc918: 74 04 00 00 11 05 24 02 00 00 20 04 01 54 10 cd
0x107ffc928: 00 00 00 68 03 00 00 01 55 00 10 36 02 00 00 68
0x107ffc938: 03 00 00 01 56 04 10 3f 02 00 00 68 03 00 00 01
0x107ffc948: 57 08 10 48 02 00 00 68 03 00 00 01 58 0c 10 4e
0x107ffc958: 02 00 00 68 03 00 00 01 59 10 10 53 02 00 00 68
0x107ffc968: 03 00 00 01 5a 14 10 58 02 00 00 17 03 00 00 01
0x107ffc978: 5b 18 10 5d 02 00 00 ec 04 00 00 01 5c 20 12 66
0x107ffc988: 02 00 00 f9 04 00 00 01 5d 20 04 00 0a 68 03 00
0x107ffc998: 00 13 7f 00 00 00 00 01 00 0a 05 05 00 00 0b 7f
0x107ffc9a8: 00 00 00 00 00 0e 10 05 00 00 6a 02 00 00 01 14
0x107ffc9b8: 07 72 02 00 00 08 01 03 05 05 00 00 03 21 05 00
0x107ffc9c8: 00 0f 05 80 02 00 00 0c 01 82 10 8a 02 00 00 43
0x107ffc9d8: 05 00 00 01 84 00 10 9f 02 00 00 68 03 00 00 01
0x107ffc9e8: 85 08 00 14 4c 05 00 00 8e 02 00 00 03 51 05 00
0x107ffc9f8: 00 15 94 02 00 00 03 5b 05 00 00 06 7a 03 00 00
0x107ffca08: 03 65 05 00 00 06 6a 05 00 00 0f 05 a4 02 00 00
0x107ffca18: 08 01 3d 16 bb 02 00 00 17 03 00 00 01 3e 01 00
0x107ffca28: 16 c7 02 00 00 17 03 00 00 01 3f 2f 01 16 d9 02
0x107ffca38: 00 00 17 03 00 00 01 40 10 30 00 03 68 03 00 00
0x107ffca48: 03 a5 05 00 00 06 aa 05 00 00 11 05 e8 02 00 00
0x107ffca58: 20 04 01 43 10 36 02 00 00 68 03 00 00 01 44 00
0x107ffca68: 10 3f 02 00 00 68 03 00 00 01 45 04 10 48 02 00
0x107ffca78: 00 68 03 00 00 01 46 08 10 4e 02 00 00 68 03 00
0x107ffca88: 00 01 47 0c 10 53 02 00 00 68 03 00 00 01 48 10
0x107ffca98: 10 f6 02 00 00 68 03 00 00 01 49 14 10 58 02 00
0x107ffcaa8: 00 17 03 00 00 01 4a 18 10 5d 02 00 00 ec 04 00
0x107ffcab8: 00 01 4b 20 12 66 02 00 00 f9 04 00 00 01 4c 20
0x107ffcac8: 04 00 03 27 06 00 00 06 2c 06 00 00 0f 05 fd 02
0x107ffcad8: 00 00 08 01 38 10 10 03 00 00 7a 03 00 00 01 39
0x107ffcae8: 00 10 1a 03 00 00 7a 03 00 00 01 3a 04 00 17 00
0x107ffcaf8: c0 0f 1d 01 00 00 00 64 0f 00 00 01 6d 54 03 00
0x107ffcb08: 00 23 03 00 00 01 89 68 03 00 00 18 02 91 68 93
0x107ffcb18: 03 00 00 01 89 61 00 00 00 18 02 91 60 a3 03 00
0x107ffcb28: 00 01 8a 61 00 00 00 18 02 91 58 b9 03 00 00 01
0x107ffcb38: 8b 61 00 00 00 18 02 91 50 c9 03 00 00 01 8c 9e
0x107ffcb48: 0a 00 00 18 02 91 4c e2 03 00 00 01 8d 68 03 00
0x107ffcb58: 00 18 02 91 48 f8 03 00 00 01 8e 68 03 00 00 19
0x107ffcb68: 02 91 44 03 04 00 00 01 91 68 03 00 00 1a e0 c0
0x107ffcb78: 0f 1d 01 00 00 00 70 0e 00 00 19 03 91 b8 7f 07
0x107ffcb88: 04 00 00 01 98 a3 0a 00 00 19 03 91 b0 7f 10 04
0x107ffcb98: 00 00 01 99 ad 0a 00 00 19 03 91 a8 7f 1d 04 00
0x107ffcba8: 00 01 9a b7 0a 00 00 1a 78 c3 0f 1d 01 00 00 00
0x107ffcbb8: bc 05 00 00 19 03 91 a0 7f 2a 04 00 00 01 b6 6a
0x107ffcbc8: 04 00 00 19 03 91 98 7f 31 04 00 00 01 b7 c1 0a
0x107ffcbd8: 00 00 19 03 91 90 7f 56 04 00 00 01 bb 1c 05 00
0x107ffcbe8: 00 19 03 91 88 7f 62 04 00 00 01 bd d8 0a 00 00
0x107ffcbf8: 19 03 91 80 7f 6d 04 00 00 01 be 56 05 00 00 19
0x107ffcc08: 03 91 f8 7e 75 04 00 00 01 bf 60 05 00 00 19 03
0x107ffcc18: 91 c8 7e 8f 04 00 00 01 f5 e7 0a 00 00 19 03 91
0x107ffcc28: c4 7e a3 04 00 00 01 f6 ec 0a 00 00 19 03 91 b8
0x107ffcc38: 7e b3 04 00 00 01 f7 60 05 00 00 1a 88 c4 0f 1d
0x107ffcc48: 01 00 00 00 30 02 00 00 19 03 91 f4 7e 82 04 00
0x107ffcc58: 00 01 c5 68 03 00 00 1a a0 c4 0f 1d 01 00 00 00
0x107ffcc68: 08 02 00 00 19 03 91 e8 7e c7 02 00 00 01 c7 e2
0x107ffcc78: 0a 00 00 1a 64 c5 0f 1d 01 00 00 00 18 01 00 00
0x107ffcc88: 19 03 91 e0 7e 84 04 00 00 01 d9 50 00 00 00 19
0x107ffcc98: 03 91 d8 7e 89 04 00 00 01 dd 50 00 00 00 19 03
0x107ffcca8: 91 d4 7e 8b 04 00 00 01 de 68 03 00 00 1a 00 c6
0x107ffccb8: 0f 1d 01 00 00 00 5c 00 00 00 19 03 91 d3 7e 8d
0x107ffccc8: 04 00 00 01 df 10 05 00 00 00 00 00 00 1a 30 c7
0x107ffccd8: 0f 1d 01 00 00 00 00 02 00 00 19 03 91 b4 7e 82
0x107ffcce8: 04 00 00 01 fc 68 03 00 00 1a 44 c7 0f 1d 01 00
0x107ffccf8: 00 00 dc 01 00 00 19 03 8f c8 01 c7 02 00 00 01
0x107ffcd08: fe e2 0a 00 00 1a 08 c8 0f 1d 01 00 00 00 14 01
0x107ffcd18: 00 00 1b 03 8f c0 01 84 04 00 00 01 10 01 50 00
0x107ffcd28: 00 00 1b 03 8f b8 01 89 04 00 00 01 14 01 50 00
0x107ffcd38: 00 00 1b 03 8f b4 01 8b 04 00 00 01 15 01 68 03
0x107ffcd48: 00 00 1a a4 c8 0f 1d 01 00 00 00 5c 00 00 00 1b
0x107ffcd58: 03 8f b3 01 8d 04 00 00 01 16 01 10 05 00 00 00
0x107ffcd68: 00 00 00 00 1a 54 c9 0f 1d 01 00 00 00 b4 05 00
0x107ffcd78: 00 1b 03 8f a8 01 2a 04 00 00 01 29 01 a0 05 00
0x107ffcd88: 00 1b 03 8f a0 01 31 04 00 00 01 2e 01 c1 0a 00
0x107ffcd98: 00 1b 03 8f 98 01 56 04 00 00 01 30 01 1c 05 00
0x107ffcda8: 00 1b 03 8f 94 01 c9 04 00 00 01 31 01 7a 03 00
0x107ffcdb8: 00 1b 03 8f 88 01 62 04 00 00 01 35 01 d8 0a 00
0x107ffcdc8: 00 1b 03 8f 80 01 6d 04 00 00 01 36 01 56 05 00
0x107ffcdd8: 00 1b 03 8f f8 00 75 04 00 00 01 37 01 22 06 00
0x107ffcde8: 00 1b 03 8f d0 00 8f 04 00 00 01 69 01 e7 0a 00
0x107ffcdf8: 00 1b 03 8f cc 00 a3 04 00 00 01 6a 01 ec 0a 00
0x107ffce08: 00 1b 03 8f c0 00 b3 04 00 00 01 6b 01 22 06 00
0x107ffce18: 00 1a d0 ca 0f 1d 01 00 00 00 24 02 00 00 1b 03
0x107ffce28: 8f f4 00 82 04 00 00 01 3c 01 68 03 00 00 1a e8
0x107ffce38: ca 0f 1d 01 00 00 00 fc 01 00 00 1b 03 8f f0 00
0x107ffce48: 10 03 00 00 01 3e 01 5b 05 00 00 1a a0 cb 0f 1d
0x107ffce58: 01 00 00 00 18 01 00 00 1b 03 8f e8 00 84 04 00
0x107ffce68: 00 01 4e 01 50 00 00 00 1b 03 8f e0 00 89 04 00
0x107ffce78: 00 01 51 01 50 00 00 00 1b 03 8f dc 00 8b 04 00
0x107ffce88: 00 01 52 01 68 03 00 00 1a 3c cc 0f 1d 01 00 00
0x107ffce98: 00 5c 00 00 00 1b 03 8f db 00 8d 04 00 00 01 53
0x107ffcea8: 01 10 05 00 00 00 00 00 00 1a 6c cd 0f 1d 01 00
0x107ffceb8: 00 00 98 01 00 00 1b 02 8f 3c 82 04 00 00 01 6e
0x107ffcec8: 01 68 03 00 00 1a 80 cd 0f 1d 01 00 00 00 74 01
0x107ffced8: 00 00 1b 02 8f 38 10 03 00 00 01 70 01 5b 05 00
0x107ffcee8: 00 1a d4 cd 0f 1d 01 00 00 00 14 01 00 00 1b 02
0x107ffcef8: 8f 30 84 04 00 00 01 79 01 50 00 00 00 1b 02 8f
0x107ffcf08: 28 89 04 00 00 01 7c 01 50 00 00 00 1b 02 8f 24
0x107ffcf18: 8b 04 00 00 01 7d 01 68 03 00 00 1a 70 ce 0f 1d
0x107ffcf28: 01 00 00 00 5c 00 00 00 1b 02 8f 23 8d 04 00 00
0x107ffcf38: 01 7e 01 10 05 00 00 00 00 00 00 00 00 00 03 17
0x107ffcf48: 03 00 00 03 a8 0a 00 00 06 2e 03 00 00 03 b2 0a
0x107ffcf58: 00 00 06 91 03 00 00 03 bc 0a 00 00 06 dc 03 00
0x107ffcf68: 00 06 c6 0a 00 00 0e d1 0a 00 00 41 04 00 00 01
0x107ffcf78: 1d 07 48 04 00 00 07 08 03 dd 0a 00 00 06 05 05
0x107ffcf88: 00 00 06 17 03 00 00 03 ec 0a 00 00 06 68 03 00
0x107ffcf98: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffcfa8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffcfb8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffcfc8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffcfd8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffcfe8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffcff8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd008: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd018: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd028: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd038: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd048: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd058: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd068: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd078: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd088: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd098: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd0a8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd0b8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd0c8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd0d8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd0e8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd0f8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd108: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd118: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd128: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[0x107ffd138+0x4ea]->0xffffffffffffffff (alignment 8, section ID 7, name __debug_str)
0x107ffd138: 41 70 70 6c 65 20 63 6c 61 6e 67 20 76 65 72 73
0x107ffd148: 69 6f 6e 20 31 35 2e 30 2e 30 20 28 63 6c 61 6e
0x107ffd158: 67 2d 31 35 30 30 2e 30 2e 34 30 2e 31 29 00 2f
0x107ffd168: 76 61 72 2f 66 6f 6c 64 65 72 73 2f 6a 6b 2f 32
0x107ffd178: 6e 6b 6c 62 68 30 78 35 6b 73 63 31 39 32 6a 73
0x107ffd188: 6d 39 6e 68 6e 68 63 30 30 30 30 67 6e 2f 54 2f
0x107ffd198: 6c 6c 64 62 2f 38 39 35 30 31 2f 3c 73 74 64 69
0x107ffd1a8: 6e 3e 00 2f 00 63 6c 61 73 73 5f 6e 61 6d 65 5f
0x107ffd1b8: 6c 6f 6f 6b 75 70 5f 66 75 6e 63 00 63 68 61 72
0x107ffd1c8: 00 5f 5f 41 52 52 41 59 5f 53 49 5a 45 5f 54 59
0x107ffd1d8: 50 45 5f 5f 00 00 75 69 6e 74 36 34 5f 74 00 75
0x107ffd1e8: 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e
0x107ffd1f8: 67 00 6f 62 6a 63 5f 6f 70 74 5f 74 00 76 65 72
0x107ffd208: 73 69 6f 6e 00 75 69 6e 74 33 32 5f 74 00 75 6e
0x107ffd218: 73 69 67 6e 65 64 20 69 6e 74 00 73 65 6c 6f 70
0x107ffd228: 74 5f 6f 66 66 73 65 74 00 69 6e 74 33 32 5f 74
0x107ffd238: 00 69 6e 74 00 68 65 61 64 65 72 6f 70 74 5f 6f
0x107ffd248: 66 66 73 65 74 00 63 6c 73 6f 70 74 5f 6f 66 66
0x107ffd258: 73 65 74 00 6f 62 6a 63 5f 6f 70 74 5f 76 31 34
0x107ffd268: 5f 74 00 66 6c 61 67 73 00 6f 62 6a 63 5f 6f 70
0x107ffd278: 74 5f 76 31 36 5f 74 00 68 65 61 64 65 72 6f 70
0x107ffd288: 74 5f 72 6f 5f 6f 66 66 73 65 74 00 75 6e 75 73
0x107ffd298: 65 64 5f 63 6c 73 6f 70 74 5f 6f 66 66 73 65 74
0x107ffd2a8: 00 75 6e 75 73 65 64 5f 70 72 6f 74 6f 63 6f 6c
0x107ffd2b8: 6f 70 74 5f 6f 66 66 73 65 74 00 68 65 61 64 65
0x107ffd2c8: 72 6f 70 74 5f 72 77 5f 6f 66 66 73 65 74 00 75
0x107ffd2d8: 6e 75 73 65 64 5f 70 72 6f 74 6f 63 6f 6c 6f 70
0x107ffd2e8: 74 32 5f 6f 66 66 73 65 74 00 6c 61 72 67 65 53
0x107ffd2f8: 68 61 72 65 64 43 61 63 68 65 73 43 6c 61 73 73
0x107ffd308: 4f 66 66 73 65 74 00 6c 61 72 67 65 53 68 61 72
0x107ffd318: 65 64 43 61 63 68 65 73 50 72 6f 74 6f 63 6f 6c
0x107ffd328: 4f 66 66 73 65 74 00 72 65 6c 61 74 69 76 65 4d
0x107ffd338: 65 74 68 6f 64 53 65 6c 65 63 74 6f 72 42 61 73
0x107ffd348: 65 41 64 64 72 65 73 73 43 61 63 68 65 4f 66 66
0x107ffd358: 73 65 74 00 6f 62 6a 63 5f 63 6c 73 6f 70 74 5f
0x107ffd368: 76 31 36 5f 74 00 63 61 70 61 63 69 74 79 00 6f
0x107ffd378: 63 63 75 70 69 65 64 00 73 68 69 66 74 00 6d 61
0x107ffd388: 73 6b 00 7a 65 72 6f 00 73 61 6c 74 00 73 63 72
0x107ffd398: 61 6d 62 6c 65 00 74 61 62 00 75 69 6e 74 38 5f
0x107ffd3a8: 74 00 75 6e 73 69 67 6e 65 64 20 63 68 61 72 00
0x107ffd3b8: 43 6c 61 73 73 49 6e 66 6f 00 69 73 61 00 43 6c
0x107ffd3c8: 61 73 73 00 6f 62 6a 63 5f 63 6c 61 73 73 00 68
0x107ffd3d8: 61 73 68 00 6f 62 6a 63 5f 63 6c 61 73 73 68 65
0x107ffd3e8: 61 64 65 72 5f 76 31 36 5f 74 00 69 73 44 75 70
0x107ffd3f8: 6c 69 63 61 74 65 00 6f 62 6a 65 63 74 43 61 63
0x107ffd408: 68 65 4f 66 66 73 65 74 00 64 79 6c 69 62 4f 62
0x107ffd418: 6a 43 49 6e 64 65 78 00 6f 62 6a 63 5f 63 6c 73
0x107ffd428: 6f 70 74 5f 74 00 75 6e 75 73 65 64 00 6f 62 6a
0x107ffd438: 63 5f 63 6c 61 73 73 68 65 61 64 65 72 5f 74 00
0x107ffd448: 63 6c 73 4f 66 66 73 65 74 00 68 69 4f 66 66 73
0x107ffd458: 65 74 00 5f 5f 6c 6c 64 62 5f 61 70 70 6c 65 5f
0x107ffd468: 6f 62 6a 63 5f 76 32 5f 67 65 74 5f 73 68 61 72
0x107ffd478: 65 64 5f 63 61 63 68 65 5f 63 6c 61 73 73 5f 69
0x107ffd488: 6e 66 6f 00 5f 5a 34 38 5f 5f 6c 6c 64 62 5f 61
0x107ffd498: 70 70 6c 65 5f 6f 62 6a 63 5f 76 32 5f 67 65 74
0x107ffd4a8: 5f 73 68 61 72 65 64 5f 63 61 63 68 65 5f 63 6c
0x107ffd4b8: 61 73 73 5f 69 6e 66 6f 50 76 53 5f 53 5f 50 79
0x107ffd4c8: 6a 6a 00 6f 62 6a 63 5f 6f 70 74 5f 72 6f 5f 70
0x107ffd4d8: 74 72 00 73 68 61 72 65 64 5f 63 61 63 68 65 5f
0x107ffd4e8: 62 61 73 65 5f 70 74 72 00 63 6c 61 73 73 5f 69
0x107ffd4f8: 6e 66 6f 73 5f 70 74 72 00 72 65 6c 61 74 69 76
0x107ffd508: 65 5f 73 65 6c 65 63 74 6f 72 5f 6f 66 66 73 65
0x107ffd518: 74 00 63 6c 61 73 73 5f 69 6e 66 6f 73 5f 62 79
0x107ffd528: 74 65 5f 73 69 7a 65 00 73 68 6f 75 6c 64 5f 6c
0x107ffd538: 6f 67 00 69 64 78 00 6f 62 6a 63 5f 6f 70 74 00
0x107ffd548: 6f 62 6a 63 5f 6f 70 74 5f 76 31 34 00 6f 62 6a
0x107ffd558: 63 5f 6f 70 74 5f 76 31 36 00 63 6c 73 6f 70 74
0x107ffd568: 00 6d 61 78 5f 63 6c 61 73 73 5f 69 6e 66 6f 73
0x107ffd578: 00 73 69 7a 65 5f 74 00 75 6e 73 69 67 6e 65 64
0x107ffd588: 20 6c 6f 6e 67 00 63 6c 61 73 73 5f 69 6e 66 6f
0x107ffd598: 73 00 63 68 65 63 6b 62 79 74 65 73 00 6f 66 66
0x107ffd5a8: 73 65 74 73 00 63 6c 61 73 73 4f 66 66 73 65 74
0x107ffd5b8: 73 00 69 00 6e 61 6d 65 00 73 00 68 00 63 00 64
0x107ffd5c8: 75 70 6c 69 63 61 74 65 5f 63 6f 75 6e 74 5f 70
0x107ffd5d8: 74 72 00 64 75 70 6c 69 63 61 74 65 5f 63 6f 75
0x107ffd5e8: 6e 74 00 64 75 70 6c 69 63 61 74 65 43 6c 61 73
0x107ffd5f8: 73 4f 66 66 73 65 74 73 00 69 6e 76 61 6c 69 64
0x107ffd608: 45 6e 74 72 79 4f 66 66 73 65 74 00 00 00 00 00
0x107ffd618: 00 00 00 00 00 00 00 00 00 00
[0x107ffd628+0x10a]->0xffffffffffffffff (alignment 8, section ID 8, name __apple_names)
0x107ffd628: 48 53 41 48 01 00 00 00 04 00 00 00 04 00 00 00
0x107ffd638: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x107ffd648: ff ff ff ff 00 00 00 00 01 00 00 00 03 00 00 00
0x107ffd658: 05 15 00 00 de c5 74 bc 6a 18 a0 d1 7f eb b5 6a
0x107ffd668: 50 00 00 00 cc 00 00 00 dc 00 00 00 ec 00 00 00
0x107ffd678: a5 00 00 00 1c 00 00 00 62 00 00 00 86 00 00 00
0x107ffd688: a3 00 00 00 b4 00 00 00 d1 00 00 00 ee 00 00 00
0x107ffd698: ff 00 00 00 1c 01 00 00 39 01 00 00 56 01 00 00
0x107ffd6a8: 73 01 00 00 84 01 00 00 95 01 00 00 b2 01 00 00
0x107ffd6b8: c3 01 00 00 e0 01 00 00 f1 01 00 00 0e 02 00 00
0x107ffd6c8: 2b 02 00 00 3c 02 00 00 59 02 00 00 6a 02 00 00
0x107ffd6d8: 7b 02 00 00 99 02 00 00 ab 02 00 00 c9 02 00 00
0x107ffd6e8: db 02 00 00 f9 02 00 00 00 00 00 00 23 03 00 00
0x107ffd6f8: 01 00 00 00 4e 06 00 00 00 00 00 00 54 03 00 00
0x107ffd708: 01 00 00 00 4e 06 00 00 00 00 00 00 75 00 00 00
0x107ffd718: 01 00 00 00 2b 00 00 00 00 00 00 00 00 00 00 00
0x107ffd728: 00 00 00 00 00 00 00 00 00 00
[0x107ffd738+0x32]->0xffffffffffffffff (alignment 8, section ID 9, name __apple_objc)
0x107ffd738: 48 53 41 48 01 00 00 00 01 00 00 00 00 00 00 00
0x107ffd748: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x107ffd758: ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd768: 00 00
[0x107ffd770+0x32]->0xffffffffffffffff (alignment 8, section ID 10, name __apple_namespac)
0x107ffd770: 48 53 41 48 01 00 00 00 01 00 00 00 00 00 00 00
0x107ffd780: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x107ffd790: ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffd7a0: 00 00
[0x107ffd7a8+0x295]->0xffffffffffffffff (alignment 8, section ID 11, name __apple_types)
0x107ffd7a8: 48 53 41 48 01 00 00 00 0a 00 00 00 15 00 00 00
0x107ffd7b8: 14 00 00 00 00 00 00 00 03 00 00 00 01 00 06 00
0x107ffd7c8: 03 00 05 00 04 00 0b 00 00 00 00 00 01 00 00 00
0x107ffd7d8: ff ff ff ff ff ff ff ff 02 00 00 00 06 00 00 00
0x107ffd7e8: 0a 00 00 00 ff ff ff ff 0f 00 00 00 13 00 00 00
0x107ffd7f8: 82 bd 1e 33 5b 73 8c dc 02 96 55 11 04 11 5e 1d
0x107ffd808: e8 f0 49 9f a0 a7 cb f9 bb 4e f8 0c 5d e8 53 11
0x107ffd818: 67 1d d1 59 cd 93 3c b2 08 cb 9f 0b 82 08 5e 1d
0x107ffd828: f0 29 12 2f 10 88 71 56 8a 88 61 82 30 80 88 0b
0x107ffd838: 14 9c 59 49 86 bf e6 71 72 b6 d0 f9 93 f2 d0 1b
0x107ffd848: 63 20 95 7c f8 00 00 00 0b 01 00 00 1e 01 00 00
0x107ffd858: 31 01 00 00 44 01 00 00 57 01 00 00 6a 01 00 00
0x107ffd868: 7d 01 00 00 90 01 00 00 a3 01 00 00 b6 01 00 00
0x107ffd878: c9 01 00 00 dc 01 00 00 ef 01 00 00 02 02 00 00
0x107ffd888: 15 02 00 00 28 02 00 00 3b 02 00 00 4e 02 00 00
0x107ffd898: 61 02 00 00 74 02 00 00 af 00 00 00 01 00 00 00
0x107ffd8a8: 22 03 00 00 24 00 00 00 00 00 00 91 00 00 00 01
0x107ffd8b8: 00 00 00 7f 00 00 00 24 00 00 00 00 00 00 a6 00
0x107ffd8c8: 00 00 01 00 00 00 17 03 00 00 16 00 00 00 00 00
0x107ffd8d8: 00 39 01 00 00 01 00 00 00 dc 03 00 00 13 00 00
0x107ffd8e8: 00 00 00 00 f9 00 00 00 01 00 00 00 7a 03 00 00
0x107ffd8f8: 16 00 00 00 00 00 00 72 02 00 00 01 00 00 00 10
0x107ffd908: 05 00 00 24 00 00 00 00 00 00 8e 02 00 00 01 00
0x107ffd918: 00 00 43 05 00 00 16 00 00 00 00 00 00 d5 00 00
0x107ffd928: 00 01 00 00 00 68 03 00 00 16 00 00 00 00 00 00
0x107ffd938: 80 02 00 00 01 00 00 00 21 05 00 00 13 00 00 00
0x107ffd948: 00 00 00 de 00 00 00 01 00 00 00 73 03 00 00 24
0x107ffd958: 00 00 00 00 00 00 c2 00 00 00 01 00 00 00 2e 03
0x107ffd968: 00 00 13 00 00 00 00 00 00 24 01 00 00 01 00 00
0x107ffd978: 00 91 03 00 00 13 00 00 00 00 00 00 6a 02 00 00
0x107ffd988: 01 00 00 00 05 05 00 00 16 00 00 00 00 00 00 a4
0x107ffd998: 02 00 00 01 00 00 00 6a 05 00 00 13 00 00 00 00
0x107ffd9a8: 00 00 e8 02 00 00 01 00 00 00 aa 05 00 00 13 00
0x107ffd9b8: 00 00 00 00 00 01 01 00 00 01 00 00 00 85 03 00
0x107ffd9c8: 00 24 00 00 00 00 00 00 fd 02 00 00 01 00 00 00
0x107ffd9d8: 2c 06 00 00 13 00 00 00 00 00 00 24 02 00 00 01
0x107ffd9e8: 00 00 00 74 04 00 00 13 00 00 00 00 00 00 48 04
0x107ffd9f8: 00 00 01 00 00 00 d1 0a 00 00 24 00 00 00 00 00
0x107ffda08: 00 41 04 00 00 01 00 00 00 c6 0a 00 00 16 00 00
0x107ffda18: 00 00 00 00 8c 00 00 00 01 00 00 00 5a 00 00 00
0x107ffda28: 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffda38: 00 00 00 00 00
[0x107ffda40+0x2e6]->0xffffffffffffffff (alignment 8, section ID 12, name __debug_line)
0x107ffda40: cc 02 00 00 04 00 2d 00 00 00 01 01 01 fb 0e 0d
0x107ffda50: 00 01 01 01 01 00 00 00 01 00 00 01 00 3c 6c 6c
0x107ffda60: 64 62 20 77 72 61 70 70 65 72 20 70 72 65 66 69
0x107ffda70: 78 3e 00 00 00 00 00 00 09 02 00 c0 0f 1d 01 00
0x107ffda80: 00 00 03 8e 01 01 0a 02 2c 13 83 4b 06 4a 4a 06
0x107ffda90: 08 ad 06 4a 4a 06 08 ad 06 4a 4a 06 08 ad 06 4a
0x107ffdaa0: 4a 06 02 2c 13 06 4a 06 4c 83 83 83 06 82 06 84
0x107ffdab0: f3 06 4a 4a 06 08 e5 06 4a 4a 06 08 e5 06 4a 4a
0x107ffdac0: 06 08 e5 06 4a 4a 06 08 e5 06 4a 4a 06 08 e5 4b
0x107ffdad0: 06 82 06 84 06 4a 4a 06 08 e5 06 4a 4a 06 08 e5
0x107ffdae0: 06 4a 4a 06 08 e5 06 4a 4a 06 08 e5 06 4a 4a 06
0x107ffdaf0: 08 e5 4d 06 4a 4a 06 08 e5 06 4a 4a 06 08 e5 06
0x107ffdb00: 4a 4a 06 08 e5 06 4a 4a 03 cf 7e 08 e4 06 03 b4
0x107ffdb10: 01 82 06 82 06 84 08 3d f4 06 4a 4a 06 08 ae 84
0x107ffdb20: 08 e5 08 3d 08 76 06 4a 4a 06 08 e5 06 4a 4a 06
0x107ffdb30: 08 e5 06 4a 4a 06 08 ae 06 4a ba 06 84 08 e5 06
0x107ffdb40: 4a 4a 06 02 24 14 06 08 3c 06 4b 06 4a 4a 06 08
0x107ffdb50: 3d 4d 06 4a 06 4b 06 4a 4a 06 08 3d 4d 06 f2 06
0x107ffdb60: 84 08 e7 02 28 13 06 4a 4a 06 02 3c 15 83 83 06
0x107ffdb70: ba 4a 06 88 06 4a 06 84 4b 4c 03 75 08 74 03 0d
0x107ffdb80: 08 74 08 ad 4d 06 4a 4a 03 90 7e 08 3c 06 03 f2
0x107ffdb90: 01 4a 03 53 ba 03 30 f2 08 75 bb bc 06 4a 4a 06
0x107ffdba0: 08 ad 06 4a 4a 06 08 ae 06 4a 82 06 84 08 e5 06
0x107ffdbb0: 4a 4a 06 02 24 14 06 08 3c 06 4b 06 4a 4a 06 08
0x107ffdbc0: 3d 4d 06 4a 06 4b 06 4a 4a 06 08 3d 4d 06 f2 06
0x107ffdbd0: 84 08 e7 02 28 13 06 4a 4a 06 02 3c 15 83 83 06
0x107ffdbe0: ba 4a 06 88 06 4a 06 84 4b 4c 03 75 08 74 03 0d
0x107ffdbf0: 08 74 08 ae 03 57 4a 03 2a f2 4b 06 08 74 06 84
0x107ffdc00: 4b 06 82 06 83 08 76 08 3d f3 06 4a 4a 06 08 ad
0x107ffdc10: 83 4c 06 82 06 83 83 08 e5 08 3d 08 75 06 4a 4a
0x107ffdc20: 06 08 e5 06 4a 4a 06 08 e5 06 4a 4a 06 08 ad 06
0x107ffdc30: 4a 4a 06 08 ad 06 4a ba 06 84 08 75 06 4a 4a 06
0x107ffdc40: 02 24 13 06 4a 06 4c 06 4a 4a 06 08 3d 4c 06 82
0x107ffdc50: 06 84 06 4a 4a 06 08 3d 06 03 b8 7d 4a 06 03 cb
0x107ffdc60: 02 4a 06 f2 06 84 08 e5 02 28 13 06 4a 4a 06 02
0x107ffdc70: 3c 14 83 83 06 ba 4a 06 88 06 4a 06 84 4b 4c 03
0x107ffdc80: 75 08 74 03 0d 08 74 08 ad 4d 06 4a 4a 03 9c 7d
0x107ffdc90: 08 3c 06 03 e6 02 4a 03 56 ba 03 2d f2 08 75 bb
0x107ffdca0: bb 06 4a 4a 06 08 ad 06 4a 4a 06 08 ad 06 4a 82
0x107ffdcb0: 06 84 08 75 06 4a 06 4b 4b 06 82 06 83 06 03 8c
0x107ffdcc0: 7d 4a 06 03 f6 02 4a 06 f2 06 84 08 e5 02 28 13
0x107ffdcd0: 06 4a 4a 06 02 3c 14 83 83 06 ba 4a 06 88 06 4a
0x107ffdce0: 06 84 4b 4c 03 75 08 74 03 0d 08 74 08 ae 03 61
0x107ffdcf0: ba 03 21 f2 06 03 f1 7c 4a 06 03 90 03 4a 06 4a
0x107ffdd00: 4a 06 08 ad 06 4a 4a 06 08 3d 4b 02 14 00 01 01
0x107ffdd10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x107ffdd20: 00 00 00 00 00 00
Couldn't find llvm.global_ctors.
[ClangASTImporter] Forgetting destination (ASTContext*)0x0000000134D0DC00
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x0000000134D0DC00->(ASTContext*)0x0000000134A71600
Expression:
extern "C" void __lldb_caller_function (void *input)
{
struct __lldb_caller_struct
{
unsigned int (*fn_ptr) (void *, void *, void *, unsigned long *, unsigned int, unsigned int);
void * arg_0;
void * arg_1;
void * arg_2;
unsigned long * arg_3;
unsigned int arg_4;
unsigned int arg_5;
unsigned int return_value;
};
struct __lldb_caller_struct* __lldb_fn_data = (struct __lldb_caller_struct *) input;
__lldb_fn_data->return_value = __lldb_fn_data->fn_ptr (__lldb_fn_data->arg_0, __lldb_fn_data->arg_1, __lldb_fn_data->arg_2, __lldb_fn_data->arg_3, __lldb_fn_data->arg_4, __lldb_fn_data->arg_5);
}
Using arm64-apple-macosx11.0.0 as the target triple
Using SIMD alignment: 0
Target datalayout string: 'e-m:o-i64:64-i128:128-n32:64-S128'
Target ABI: 'aapcs'
Target vector alignment: 128
Found function __lldb_caller_function for __lldb_caller_function
DoPrepareForExecution - Current expression language is unknown
Module being sent to JIT:
; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.__lldb_caller_struct = type { ptr, ptr, ptr, ptr, ptr, i32, i32, i32 }
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @__lldb_caller_function(ptr %input) #0 !dbg !6 {
entry:
%input.addr = alloca ptr, align 8, !clang.decl.ptr !37
%__lldb_fn_data = alloca ptr, align 8, !clang.decl.ptr !38
store ptr %input, ptr %input.addr, align 8
call void @llvm.dbg.declare(metadata ptr %input.addr, metadata !39, metadata !DIExpression()), !dbg !40
call void @llvm.dbg.declare(metadata ptr %__lldb_fn_data, metadata !41, metadata !DIExpression()), !dbg !42
%0 = load ptr, ptr %input.addr, align 8, !dbg !42
store ptr %0, ptr %__lldb_fn_data, align 8, !dbg !42
%1 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !43
%fn_ptr = getelementptr inbounds %struct.__lldb_caller_struct, ptr %1, i32 0, i32 0, !dbg !43
%2 = load ptr, ptr %fn_ptr, align 8, !dbg !43
%3 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !43
%arg_0 = getelementptr inbounds %struct.__lldb_caller_struct, ptr %3, i32 0, i32 1, !dbg !43
%4 = load ptr, ptr %arg_0, align 8, !dbg !43
%5 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !43
%arg_1 = getelementptr inbounds %struct.__lldb_caller_struct, ptr %5, i32 0, i32 2, !dbg !43
%6 = load ptr, ptr %arg_1, align 8, !dbg !43
%7 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !43
%arg_2 = getelementptr inbounds %struct.__lldb_caller_struct, ptr %7, i32 0, i32 3, !dbg !43
%8 = load ptr, ptr %arg_2, align 8, !dbg !43
%9 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !43
%arg_3 = getelementptr inbounds %struct.__lldb_caller_struct, ptr %9, i32 0, i32 4, !dbg !43
%10 = load ptr, ptr %arg_3, align 8, !dbg !43
%11 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !43
%arg_4 = getelementptr inbounds %struct.__lldb_caller_struct, ptr %11, i32 0, i32 5, !dbg !43
%12 = load i32, ptr %arg_4, align 8, !dbg !43
%13 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !43
%arg_5 = getelementptr inbounds %struct.__lldb_caller_struct, ptr %13, i32 0, i32 6, !dbg !43
%14 = load i32, ptr %arg_5, align 4, !dbg !43
%call = call i32 %2(ptr %4, ptr %6, ptr %8, ptr %10, i32 %12, i32 %14) #2, !dbg !43
%15 = load ptr, ptr %__lldb_fn_data, align 8, !dbg !43
%return_value = getelementptr inbounds %struct.__lldb_caller_struct, ptr %15, i32 0, i32 7, !dbg !43
store i32 %call, ptr %return_value, align 8, !dbg !43
ret void, !dbg !44
}
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn }
attributes #2 = { convergent "no-builtins" }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!26, !27, !28, !29, !30, !31, !32, !33, !34}
!clang.global.decl.ptrs = !{!35}
!llvm.ident = !{!36}
!0 = distinct !DICompileUnit(language: DW_LANG_ObjC_plus_plus, file: !1, producer: "Apple clang version 15.0.0 (clang-1500.0.40.1)", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug, retainedTypes: !2)
!1 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "/")
!2 = !{!3}
!3 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !4, size: 64)
!4 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__lldb_caller_struct", scope: !6, file: !5, line: 3, size: 448, flags: DIFlagTypePassByValue, elements: !11)
!5 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/lldb-107e68.expr", directory: "")
!6 = distinct !DISubprogram(name: "__lldb_caller_function", scope: !5, file: !5, line: 1, type: !7, scopeLine: 2, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !10)
!7 = !DISubroutineType(types: !8)
!8 = !{null, !9}
!9 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!10 = !{}
!11 = !{!12, !19, !20, !21, !22, !23, !24, !25}
!12 = !DIDerivedType(tag: DW_TAG_member, name: "fn_ptr", scope: !4, file: !5, line: 5, baseType: !13, size: 64)
!13 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !14, size: 64)
!14 = !DISubroutineType(types: !15)
!15 = !{!16, !9, !9, !9, !17, !16, !16}
!16 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
!17 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !18, size: 64)
!18 = !DIBasicType(name: "unsigned long", size: 64, encoding: DW_ATE_unsigned)
!19 = !DIDerivedType(tag: DW_TAG_member, name: "arg_0", scope: !4, file: !5, line: 6, baseType: !9, size: 64, offset: 64)
!20 = !DIDerivedType(tag: DW_TAG_member, name: "arg_1", scope: !4, file: !5, line: 7, baseType: !9, size: 64, offset: 128)
!21 = !DIDerivedType(tag: DW_TAG_member, name: "arg_2", scope: !4, file: !5, line: 8, baseType: !9, size: 64, offset: 192)
!22 = !DIDerivedType(tag: DW_TAG_member, name: "arg_3", scope: !4, file: !5, line: 9, baseType: !17, size: 64, offset: 256)
!23 = !DIDerivedType(tag: DW_TAG_member, name: "arg_4", scope: !4, file: !5, line: 10, baseType: !16, size: 32, offset: 320)
!24 = !DIDerivedType(tag: DW_TAG_member, name: "arg_5", scope: !4, file: !5, line: 11, baseType: !16, size: 32, offset: 352)
!25 = !DIDerivedType(tag: DW_TAG_member, name: "return_value", scope: !4, file: !5, line: 12, baseType: !16, size: 32, offset: 384)
!26 = !{i32 1, !"Objective-C Version", i32 2}
!27 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!28 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!29 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!30 = !{i32 1, !"Objective-C Class Properties", i32 64}
!31 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!32 = !{i32 2, !"Debug Info Version", i32 3}
!33 = !{i32 1, !"wchar_size", i32 4}
!34 = !{i32 7, !"frame-pointer", i32 2}
!35 = !{ptr @__lldb_caller_function, i64 4961917608}
!36 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!37 = !{i64 4961917408}
!38 = !{i64 4961920488}
!39 = !DILocalVariable(name: "input", arg: 1, scope: !6, file: !5, line: 1, type: !9)
!40 = !DILocation(line: 1, scope: !6)
!41 = !DILocalVariable(name: "__lldb_fn_data", scope: !6, file: !5, line: 14, type: !3)
!42 = !DILocation(line: 14, scope: !6)
!43 = !DILocation(line: 15, scope: !6)
!44 = !DILocation(line: 16, scope: !6)
IRExecutionUnit::allocateCodeSection(Size=0x73, Alignment=8, SectionID=0) = 0x1129a0000
IRExecutionUnit::allocateDataSection(Size=0x16, Alignment=8, SectionID=1) = 0x1129a4000
IRExecutionUnit::allocateDataSection(Size=0x99, Alignment=8, SectionID=2) = 0x1129a4018
IRExecutionUnit::allocateDataSection(Size=0x128, Alignment=8, SectionID=3) = 0x1129a40b8
IRExecutionUnit::allocateDataSection(Size=0x117, Alignment=8, SectionID=4) = 0x1129a41e0
IRExecutionUnit::allocateDataSection(Size=0x4a, Alignment=8, SectionID=5) = 0x1129a42f8
IRExecutionUnit::allocateDataSection(Size=0x32, Alignment=8, SectionID=6) = 0x1129a4348
IRExecutionUnit::allocateDataSection(Size=0x32, Alignment=8, SectionID=7) = 0x1129a4380
IRExecutionUnit::allocateDataSection(Size=0x93, Alignment=8, SectionID=8) = 0x1129a43b8
IRExecutionUnit::allocateDataSection(Size=0x9d, Alignment=8, SectionID=9) = 0x1129a4450
IRMemoryMap::Malloc (127, 0x8, 0x6, eAllocationPolicyProcessOnly) -> 0x11ceec420
IRMemoryMap::Malloc (31, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8490
IRMemoryMap::WriteMemory (0x11ceec420, 0x1129a0000, 0x115) went to [0x11ceec420..0x11ceec49f)
IRMemoryMap::WriteMemory (0x11d0f8490, 0x1129a4000, 0x22) went to [0x11d0f8490..0x11d0f84af)
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1129a0000 in [0x1129a0000..0x1129a0073], and returned 0x11ceec420 from [0x11ceec420..0x11ceec493].
Code can be run in the target.
Found function, has local address 0x1129a0000 and remote address 0x11ceec420
Function's code range is [0x11ceec420+0x73]
Function data has contents:
0x11ceec420: ff 83 00 d1 fd 7b 01 a9 fd 43 00 91 e0 07 00 f9
0x11ceec430: e8 07 40 f9 e8 03 00 f9 e8 03 40 f9 08 01 40 f9
0x11ceec440: e9 03 40 f9 20 05 40 f9 e9 03 40 f9 21 09 40 f9
0x11ceec450: e9 03 40 f9 22 0d 40 f9 e9 03 40 f9 23 11 40 f9
0x11ceec460: e9 03 40 f9 24 29 40 b9 e9 03 40 f9 25 2d 40 b9
0x11ceec470: 00 01 3f d6 e8 03 40 f9 00 31 00 b9 fd 7b 41 a9
0x11ceec480: ff 83 00 91 c0 03 5f d6 00 00 00 00 00 00 00 00
0x11ceec490: 00 00 00
Function disassembly:
0x11ceec420: 0xd10083ff unknown sub sp, sp, #0x20
0x11ceec424: 0xa9017bfd unknown stp x29, x30, [sp, #0x10]
0x11ceec428: 0x910043fd unknown add x29, sp, #0x10
0x11ceec42c: 0xf90007e0 unknown str x0, [sp, #0x8]
0x11ceec430: 0xf94007e8 unknown ldr x8, [sp, #0x8]
0x11ceec434: 0xf90003e8 unknown str x8, [sp]
0x11ceec438: 0xf94003e8 unknown ldr x8, [sp]
0x11ceec43c: 0xf9400108 unknown ldr x8, [x8]
0x11ceec440: 0xf94003e9 unknown ldr x9, [sp]
0x11ceec444: 0xf9400520 unknown ldr x0, [x9, #0x8]
0x11ceec448: 0xf94003e9 unknown ldr x9, [sp]
0x11ceec44c: 0xf9400921 unknown ldr x1, [x9, #0x10]
0x11ceec450: 0xf94003e9 unknown ldr x9, [sp]
0x11ceec454: 0xf9400d22 unknown ldr x2, [x9, #0x18]
0x11ceec458: 0xf94003e9 unknown ldr x9, [sp]
0x11ceec45c: 0xf9401123 unknown ldr x3, [x9, #0x20]
0x11ceec460: 0xf94003e9 unknown ldr x9, [sp]
0x11ceec464: 0xb9402924 unknown ldr w4, [x9, #0x28]
0x11ceec468: 0xf94003e9 unknown ldr x9, [sp]
0x11ceec46c: 0xb9402d25 unknown ldr w5, [x9, #0x2c]
0x11ceec470: 0xd63f0100 unknown blr x8
0x11ceec474: 0xf94003e8 unknown ldr x8, [sp]
0x11ceec478: 0xb9003100 unknown str w0, [x8, #0x30]
0x11ceec47c: 0xa9417bfd unknown ldp x29, x30, [sp, #0x10]
0x11ceec480: 0x910083ff unknown add sp, sp, #0x20
0x11ceec484: 0xd65f03c0 unknown ret
0x11ceec488: 0x00000000 unknown udf #0x0
0x11ceec48c: 0x00000000 unknown udf #0x0
Sections:
[0x1129a0000+0x73]->0x11ceec420 (alignment 8, section ID 0, name __text)
IRMemoryMap::ReadMemory (0x11ceec420, 0x600002ebd680, 0x115) came from [0x11ceec420..0x11ceec49f)
0x11ceec420: ff 83 00 d1 fd 7b 01 a9 fd 43 00 91 e0 07 00 f9
0x11ceec430: e8 07 40 f9 e8 03 00 f9 e8 03 40 f9 08 01 40 f9
0x11ceec440: e9 03 40 f9 20 05 40 f9 e9 03 40 f9 21 09 40 f9
0x11ceec450: e9 03 40 f9 22 0d 40 f9 e9 03 40 f9 23 11 40 f9
0x11ceec460: e9 03 40 f9 24 29 40 b9 e9 03 40 f9 25 2d 40 b9
0x11ceec470: 00 01 3f d6 e8 03 40 f9 00 31 00 b9 fd 7b 41 a9
0x11ceec480: ff 83 00 91 c0 03 5f d6 00 00 00 00 00 00 00 00
0x11ceec490: 00 00 00
[0x1129a4000+0x16]->0x11d0f8490 (alignment 8, section ID 1, name __objc_imageinfo)
IRMemoryMap::ReadMemory (0x11d0f8490, 0x6000007cda00, 0x22) came from [0x11d0f8490..0x11d0f84af)
0x11d0f8490: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00
0x11d0f84a0: 00 00 00 00 00 00
[0x1129a4018+0x99]->0xffffffffffffffff (alignment 8, section ID 2, name __debug_abbrev)
0x1129a4018: 01 11 01 25 0e 13 05 03 0e 10 17 1b 0e e5 7f 0b
0x1129a4028: 11 01 12 06 00 00 02 0f 00 49 13 00 00 03 2e 01
0x1129a4038: 11 01 12 06 40 18 03 0e 3a 0b 3b 0b 3f 19 00 00
0x1129a4048: 04 13 01 36 0b 03 0e 0b 0b 3a 0b 3b 0b 00 00 05
0x1129a4058: 0d 00 03 0e 49 13 3a 0b 3b 0b 38 0b 00 00 06 05
0x1129a4068: 00 02 18 03 0e 3a 0b 3b 0b 49 13 00 00 07 34 00
0x1129a4078: 02 18 03 0e 3a 0b 3b 0b 49 13 00 00 08 15 01 49
0x1129a4088: 13 00 00 09 05 00 49 13 00 00 0a 24 00 03 0e 3e
0x1129a4098: 0b 0b 0b 00 00 0b 0f 00 00 00 00 00 00 00 00 00
0x1129a40a8: 00 00 00 00 00 00 00 00 00
[0x1129a40b8+0x128]->0xffffffffffffffff (alignment 8, section ID 3, name __debug_info)
0x1129a40b8: 06 01 00 00 04 00 00 00 00 00 08 01 00 00 00 00
0x1129a40c8: 11 00 2f 00 00 00 00 00 00 00 73 00 00 00 02 20
0x1129a40d8: c4 ee 1c 01 00 00 00 68 00 00 00 02 45 00 00 00
0x1129a40e8: 03 20 c4 ee 1c 01 00 00 00 68 00 00 00 01 6d dd
0x1129a40f8: 00 00 00 01 01 04 05 75 00 00 00 38 01 03 05 8a
0x1129a4108: 00 00 00 cc 00 00 00 01 05 00 05 ac 00 00 00 fc
0x1129a4118: 00 00 00 01 06 08 05 b2 00 00 00 fc 00 00 00 01
0x1129a4128: 07 10 05 b8 00 00 00 fc 00 00 00 01 08 18 05 be
0x1129a4138: 00 00 00 fd 00 00 00 01 09 20 05 c4 00 00 00 f5
0x1129a4148: 00 00 00 01 0a 28 05 ca 00 00 00 f5 00 00 00 01
0x1129a4158: 0b 2c 05 d0 00 00 00 f5 00 00 00 01 0c 30 00 06
0x1129a4168: 02 8f 08 f4 00 00 00 01 01 fc 00 00 00 07 02 8f
0x1129a4178: 00 fa 00 00 00 01 0e 2b 00 00 00 00 02 d1 00 00
0x1129a4188: 00 08 f5 00 00 00 09 fc 00 00 00 09 fc 00 00 00
0x1129a4198: 09 fc 00 00 00 09 fd 00 00 00 09 f5 00 00 00 09
0x1129a41a8: f5 00 00 00 00 0a 91 00 00 00 07 04 0b 02 02 01
0x1129a41b8: 00 00 0a 9e 00 00 00 07 08 00 00 00 00 00 00 00
0x1129a41c8: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1129a41d8: 00 00 00 00 00 00 00 00
[0x1129a41e0+0x117]->0xffffffffffffffff (alignment 8, section ID 4, name __debug_str)
0x1129a41e0: 41 70 70 6c 65 20 63 6c 61 6e 67 20 76 65 72 73
0x1129a41f0: 69 6f 6e 20 31 35 2e 30 2e 30 20 28 63 6c 61 6e
0x1129a4200: 67 2d 31 35 30 30 2e 30 2e 34 30 2e 31 29 00 2f
0x1129a4210: 76 61 72 2f 66 6f 6c 64 65 72 73 2f 6a 6b 2f 32
0x1129a4220: 6e 6b 6c 62 68 30 78 35 6b 73 63 31 39 32 6a 73
0x1129a4230: 6d 39 6e 68 6e 68 63 30 30 30 30 67 6e 2f 54 2f
0x1129a4240: 6c 6c 64 62 2f 38 39 35 30 31 2f 3c 73 74 64 69
0x1129a4250: 6e 3e 00 2f 00 5f 5f 6c 6c 64 62 5f 63 61 6c 6c
0x1129a4260: 65 72 5f 73 74 72 75 63 74 00 66 6e 5f 70 74 72
0x1129a4270: 00 75 6e 73 69 67 6e 65 64 20 69 6e 74 00 75 6e
0x1129a4280: 73 69 67 6e 65 64 20 6c 6f 6e 67 00 61 72 67 5f
0x1129a4290: 30 00 61 72 67 5f 31 00 61 72 67 5f 32 00 61 72
0x1129a42a0: 67 5f 33 00 61 72 67 5f 34 00 61 72 67 5f 35 00
0x1129a42b0: 72 65 74 75 72 6e 5f 76 61 6c 75 65 00 5f 5f 6c
0x1129a42c0: 6c 64 62 5f 63 61 6c 6c 65 72 5f 66 75 6e 63 74
0x1129a42d0: 69 6f 6e 00 69 6e 70 75 74 00 5f 5f 6c 6c 64 62
0x1129a42e0: 5f 66 6e 5f 64 61 74 61 00 00 00 00 00 00 00 00
0x1129a42f0: 00 00 00 00 00 00 00
[0x1129a42f8+0x4a]->0xffffffffffffffff (alignment 8, section ID 5, name __apple_names)
0x1129a42f8: 48 53 41 48 01 00 00 00 01 00 00 00 01 00 00 00
0x1129a4308: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x1129a4318: 00 00 00 00 78 e2 e3 24 2c 00 00 00 dd 00 00 00
0x1129a4328: 01 00 00 00 30 00 00 00 00 00 00 00 00 00 00 00
0x1129a4338: 00 00 00 00 00 00 00 00 00 00
[0x1129a4348+0x32]->0xffffffffffffffff (alignment 8, section ID 6, name __apple_objc)
0x1129a4348: 48 53 41 48 01 00 00 00 01 00 00 00 00 00 00 00
0x1129a4358: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x1129a4368: ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
0x1129a4378: 00 00
[0x1129a4380+0x32]->0xffffffffffffffff (alignment 8, section ID 7, name __apple_namespac)
0x1129a4380: 48 53 41 48 01 00 00 00 01 00 00 00 00 00 00 00
0x1129a4390: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x1129a43a0: ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
0x1129a43b0: 00 00
[0x1129a43b8+0x93]->0xffffffffffffffff (alignment 8, section ID 8, name __apple_types)
0x1129a43b8: 48 53 41 48 01 00 00 00 03 00 00 00 03 00 00 00
0x1129a43c8: 14 00 00 00 00 00 00 00 03 00 00 00 01 00 06 00
0x1129a43d8: 03 00 05 00 04 00 0b 00 00 00 00 00 ff ff ff ff
0x1129a43e8: 02 00 00 00 97 1c 19 b7 72 b6 d0 f9 cd 93 3c b2
0x1129a43f8: 4c 00 00 00 5f 00 00 00 72 00 00 00 75 00 00 00
0x1129a4408: 01 00 00 00 45 00 00 00 13 00 00 00 00 00 00 9e
0x1129a4418: 00 00 00 01 00 00 00 02 01 00 00 24 00 00 00 00
0x1129a4428: 00 00 91 00 00 00 01 00 00 00 f5 00 00 00 24 00
0x1129a4438: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1129a4448: 00 00 00
[0x1129a4450+0x9d]->0xffffffffffffffff (alignment 8, section ID 9, name __debug_line)
0x1129a4450: 83 00 00 00 04 00 64 00 00 00 01 01 01 fb 0e 0d
0x1129a4460: 00 01 01 01 01 00 00 00 01 00 00 01 2f 76 61 72
0x1129a4470: 2f 66 6f 6c 64 65 72 73 2f 6a 6b 2f 32 6e 6b 6c
0x1129a4480: 62 68 30 78 35 6b 73 63 31 39 32 6a 73 6d 39 6e
0x1129a4490: 68 6e 68 63 30 30 30 30 67 6e 2f 54 2f 6c 6c 64
0x1129a44a0: 62 2f 38 39 35 30 31 00 00 6c 6c 64 62 2d 31 30
0x1129a44b0: 37 65 36 38 2e 65 78 70 72 00 01 00 00 00 00 09
0x1129a44c0: 02 20 c4 ee 1c 01 00 00 00 13 0a 03 0c f2 83 02
0x1129a44d0: 44 13 02 0c 00 01 01 00 00 00 00 00 00 00 00 00
0x1129a44e0: 00 00 00 00 00 00 00 00 00 00 00 00 00
== [FunctionCaller::ExecuteFunction] Executing function "__lldb_apple_objc_v2_get_shared_cache_class_info-caller" ==
-- [FunctionCaller::GetThreadPlanToCallFunction] Creating thread plan to call function "__lldb_apple_objc_v2_get_shared_cache_class_info-caller" --
ABIMacOSX_arm64::PrepareTrivialCall (tid = 0x247096, sp = 0x16fb8eef0, func_addr = 0x11ceec420, return_addr = 0x10026d6ec, arg1 = 0x11d0f84f0)
About to write arg1 (0x11d0f84f0) into x0
== [FunctionCaller::ExecuteFunction] Execution of "__lldb_apple_objc_v2_get_shared_cache_class_info-caller" completed normally ==
-- [FunctionCaller::FetchFunctionResults] Fetching function results for "__lldb_apple_objc_v2_get_shared_cache_class_info-caller"--
Discovered 129639 Objective-C classes in the shared cache
attempted to read objc class data - results: [dynamic_update]: ran: yes, retry: no, count: 2380 [shared_cache_update]: ran: yes, retry: no, count: 129639
AOCTV::FT Couldn't find the isa
LayoutRecordType on (ASTContext*)0x00000001411CB000 'Expression ASTContext for '<user expression 0>'' for (RecordDecl*)0x00000001412090B8 [name = '']
Last statement is an lvalue with type: struct (unnamed struct at <user expression 0>:2:1)
Found function _Z12$__lldb_exprPv for $__lldb_expr
DoPrepareForExecution - Current expression language is objective-c++
Module as passed in to IRForTarget:
"; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.anon = type { ptr, ptr, ptr, i32, i32, ptr }
@"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global ptr null, align 8
@"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global i8 0, align 1
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @"_Z12$__lldb_exprPv"(ptr %"$__lldb_arg") #0 {
entry:
%"$__lldb_arg.addr" = alloca ptr, align 8, !clang.decl.ptr !12
%t = alloca %struct.anon, align 8, !clang.decl.ptr !13
store ptr %"$__lldb_arg", ptr %"$__lldb_arg.addr", align 8
%issue_kind = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 0
%message = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 1
%filename = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 2
%line = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 3
%col = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 4
%memory_addr = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 5
call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
%0 = load i8, ptr @"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", align 1
%guard.uninitialized = icmp eq i8 %0, 0
br i1 %guard.uninitialized, label %init.check, label %init.end, !prof !14
init.check: ; preds = %entry
store ptr %t, ptr @"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", align 8
store i8 1, ptr @"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", align 1
br label %init.end
init.end: ; preds = %init.check, %entry
ret void
}
; Function Attrs: convergent
declare void @__ubsan_get_current_report_data(ptr, ptr, ptr, ptr, ptr, ptr) #1
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #2 = { convergent "no-builtins" }
!clang.global.decl.ptrs = !{!0, !1, !2, !0}
!llvm.module.flags = !{!3, !4, !5, !6, !7, !8, !9, !10}
!llvm.ident = !{!11}
!0 = !{ptr @"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", i64 5388348104}
!1 = !{ptr @"_Z12$__lldb_exprPv", i64 5387620328}
!2 = !{ptr @__ubsan_get_current_report_data, i64 5387619840}
!3 = !{i32 1, !"Objective-C Version", i32 2}
!4 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!5 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!6 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!7 = !{i32 1, !"Objective-C Class Properties", i32 64}
!8 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!9 = !{i32 1, !"wchar_size", i32 4}
!10 = !{i32 7, !"frame-pointer", i32 2}
!11 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!12 = !{i64 5387620104}
!13 = !{i64 5387621576}
!14 = !{!"branch_weights", i32 1, i32 1048575}
"
Result name: "_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr"
Found result in the IR: "@"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global ptr null, align 8"
Found result decl: "static struct (unnamed struct at <user expression 0>:2:1) *$__lldb_expr_result_ptr&t"
Result decl type: "struct {
const char *issue_kind;
const char *message;
const char *filename;
unsigned int line;
unsigned int col;
char *memory_addr;
}"
Creating a new result global: "$RESULT_NAME" with size 40
Replacing "@"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global ptr null, align 8" with "@"$RESULT_NAME" = external global ptr"
[ClangASTImporter] DeportType called on ((unnamed struct at <user expression 0>:2:1)Type*)0x0000000141209470 from (ASTContext*)0x00000001411CB000 to (ASTContext*)0x0000000134A71600
[ClangASTImporter] Imported (CXXRecordDecl*)0x0000000134A7AF18, named (unnamed struct at <user expression 0>:2:1) (from (Decl*)0x00000001412090B8), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411CB000
[ClangASTImporter] To is a TagDecl - attributes Lexical [complete->complete]
[ClangASTImporter] Imported (FieldDecl*)0x0000000141276700, named issue_kind (from (Decl*)0x0000000141209200), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411CB000
FindExternalLexicalDecls on (ASTContext*)0x0000000134A71600 'scratch ASTContext' in '' (CXXRecordDecl*)0x0000000134A7AF18
FELD Original decl 0x00000001411CB000 (Decl*)0x00000001412090b8:
CXXRecordDecl 0x1412090b8 <<user expression 0>:2:1, line:9:1> line:2:1 struct definition
|-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable pod trivial literal
| |-DefaultConstructor exists trivial
| |-CopyConstructor simple trivial has_const_param implicit_has_const_param
| |-MoveConstructor exists simple trivial
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveAssignment exists simple trivial needs_implicit
| `-Destructor simple irrelevant trivial needs_implicit
|-FieldDecl 0x141209200 <line:3:3, col:15> col:15 referenced issue_kind 'const char *'
|-FieldDecl 0x141209268 <line:4:3, col:15> col:15 referenced message 'const char *'
|-FieldDecl 0x1412092d0 <line:5:3, col:15> col:15 referenced filename 'const char *'
|-FieldDecl 0x141209338 <line:6:3, col:12> col:12 referenced line 'unsigned int'
|-FieldDecl 0x1412093a0 <line:7:3, col:12> col:12 referenced col 'unsigned int'
|-FieldDecl 0x141209408 <line:8:3, col:9> col:9 referenced memory_addr 'char *'
|-CXXConstructorDecl 0x141209548 <line:2:1> col:1 implicit used (unnamed struct at <user expression 0>:2:1) 'void () noexcept' inline default trivial
| `-CompoundStmt 0x141209a38 <col:1>
|-CXXConstructorDecl 0x141209688 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 0>:2:1) 'void (const (unnamed struct at <user expression 0>:2:1) &)' inline default trivial noexcept-unevaluated 0x141209688
| `-ParmVarDecl 0x1412097a8 <col:1> col:1 'const (unnamed struct at <user expression 0>:2:1) &'
`-CXXConstructorDecl 0x141209858 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 0>:2:1) 'void ((unnamed struct at <user expression 0>:2:1) &&)' inline default trivial noexcept-unevaluated 0x141209858
`-ParmVarDecl 0x141209978 <col:1> col:1 '(unnamed struct at <user expression 0>:2:1) &&'
CompleteTagDecl on (ASTContext*)Expression ASTContext for '<user expression 0>' Completing (TagDecl*)0x00000001412090B8 named
CTD Before:
CXXRecordDecl 0x1412090b8 <<user expression 0>:2:1, line:9:1> line:2:1 struct definition
|-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable pod trivial literal
| |-DefaultConstructor exists trivial
| |-CopyConstructor simple trivial has_const_param implicit_has_const_param
| |-MoveConstructor exists simple trivial
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveAssignment exists simple trivial needs_implicit
| `-Destructor simple irrelevant trivial needs_implicit
|-FieldDecl 0x141209200 <line:3:3, col:15> col:15 referenced issue_kind 'const char *'
|-FieldDecl 0x141209268 <line:4:3, col:15> col:15 referenced message 'const char *'
|-FieldDecl 0x1412092d0 <line:5:3, col:15> col:15 referenced filename 'const char *'
|-FieldDecl 0x141209338 <line:6:3, col:12> col:12 referenced line 'unsigned int'
|-FieldDecl 0x1412093a0 <line:7:3, col:12> col:12 referenced col 'unsigned int'
|-FieldDecl 0x141209408 <line:8:3, col:9> col:9 referenced memory_addr 'char *'
|-CXXConstructorDecl 0x141209548 <line:2:1> col:1 implicit used (unnamed struct at <user expression 0>:2:1) 'void () noexcept' inline default trivial
| `-CompoundStmt 0x141209a38 <col:1>
|-CXXConstructorDecl 0x141209688 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 0>:2:1) 'void (const (unnamed struct at <user expression 0>:2:1) &)' inline default trivial noexcept-unevaluated 0x141209688
| `-ParmVarDecl 0x1412097a8 <col:1> col:1 'const (unnamed struct at <user expression 0>:2:1) &'
`-CXXConstructorDecl 0x141209858 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 0>:2:1) 'void ((unnamed struct at <user expression 0>:2:1) &&)' inline default trivial noexcept-unevaluated 0x141209858
`-ParmVarDecl 0x141209978 <col:1> col:1 '(unnamed struct at <user expression 0>:2:1) &&'
[CTD] After:
CXXRecordDecl 0x1412090b8 <<user expression 0>:2:1, line:9:1> line:2:1 struct definition
|-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable pod trivial literal
| |-DefaultConstructor exists trivial
| |-CopyConstructor simple trivial has_const_param implicit_has_const_param
| |-MoveConstructor exists simple trivial
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveAssignment exists simple trivial needs_implicit
| `-Destructor simple irrelevant trivial needs_implicit
|-FieldDecl 0x141209200 <line:3:3, col:15> col:15 referenced issue_kind 'const char *'
|-FieldDecl 0x141209268 <line:4:3, col:15> col:15 referenced message 'const char *'
|-FieldDecl 0x1412092d0 <line:5:3, col:15> col:15 referenced filename 'const char *'
|-FieldDecl 0x141209338 <line:6:3, col:12> col:12 referenced line 'unsigned int'
|-FieldDecl 0x1412093a0 <line:7:3, col:12> col:12 referenced col 'unsigned int'
|-FieldDecl 0x141209408 <line:8:3, col:9> col:9 referenced memory_addr 'char *'
|-CXXConstructorDecl 0x141209548 <line:2:1> col:1 implicit used (unnamed struct at <user expression 0>:2:1) 'void () noexcept' inline default trivial
| `-CompoundStmt 0x141209a38 <col:1>
|-CXXConstructorDecl 0x141209688 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 0>:2:1) 'void (const (unnamed struct at <user expression 0>:2:1) &)' inline default trivial noexcept-unevaluated 0x141209688
| `-ParmVarDecl 0x1412097a8 <col:1> col:1 'const (unnamed struct at <user expression 0>:2:1) &'
`-CXXConstructorDecl 0x141209858 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 0>:2:1) 'void ((unnamed struct at <user expression 0>:2:1) &&)' inline default trivial noexcept-unevaluated 0x141209858
`-ParmVarDecl 0x141209978 <col:1> col:1 '(unnamed struct at <user expression 0>:2:1) &&'
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x141209200 <<user expression 0>:3:3, col:15> col:15 referenced issue_kind 'const char *'
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x141209268 <<user expression 0>:4:3, col:15> col:15 referenced message 'const char *'
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x1412092d0 <<user expression 0>:5:3, col:15> col:15 referenced filename 'const char *'
[ClangASTImporter] Imported (FieldDecl*)0x00000001412767E0, named filename (from (Decl*)0x00000001412092D0), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411CB000
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x141209338 <<user expression 0>:6:3, col:12> col:12 referenced line 'unsigned int'
[ClangASTImporter] Imported (FieldDecl*)0x0000000141276850, named line (from (Decl*)0x0000000141209338), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411CB000
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x1412093a0 <<user expression 0>:7:3, col:12> col:12 referenced col 'unsigned int'
[ClangASTImporter] Imported (FieldDecl*)0x00000001412768C0, named col (from (Decl*)0x00000001412093A0), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411CB000
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x141209408 <<user expression 0>:8:3, col:9> col:9 referenced memory_addr 'char *'
[ClangASTImporter] Imported (FieldDecl*)0x0000000141276960, named memory_addr (from (Decl*)0x0000000141209408), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411CB000
FELD Adding [to CXXRecordDecl ] lexical CXXConstructorDecl CXXConstructorDecl 0x141209548 <<user expression 0>:2:1> col:1 implicit used (unnamed struct at <user expression 0>:2:1) 'void () noexcept' inline default trivial
`-CompoundStmt 0x141209a38 <col:1>
[ClangASTImporter] Imported (CXXConstructorDecl*)0x0000000141276A58, named (unnamed struct at <user expression 0>:2:1) (from (Decl*)0x0000000141209548), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411CB000
FELD Adding [to CXXRecordDecl ] lexical CXXConstructorDecl CXXConstructorDecl 0x141209688 <<user expression 0>:2:1> col:1 implicit constexpr (unnamed struct at <user expression 0>:2:1) 'void (const (unnamed struct at <user expression 0>:2:1) &)' inline default trivial noexcept-unevaluated 0x141209688
`-ParmVarDecl 0x1412097a8 <col:1> col:1 'const (unnamed struct at <user expression 0>:2:1) &'
[ClangASTImporter] Imported (ParmVarDecl*)0x0000000141276BB0, named (from (Decl*)0x00000001412097A8), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411CB000
[ClangASTImporter] Imported (CXXConstructorDecl*)0x0000000141276C20, named (unnamed struct at <user expression 0>:2:1) (from (Decl*)0x0000000141209688), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411CB000
FELD Adding [to CXXRecordDecl ] lexical CXXConstructorDecl CXXConstructorDecl 0x141209858 <<user expression 0>:2:1> col:1 implicit constexpr (unnamed struct at <user expression 0>:2:1) 'void ((unnamed struct at <user expression 0>:2:1) &&)' inline default trivial noexcept-unevaluated 0x141209858
`-ParmVarDecl 0x141209978 <col:1> col:1 '(unnamed struct at <user expression 0>:2:1) &&'
[ClangASTImporter] Imported (ParmVarDecl*)0x0000000141276DC0, named (from (Decl*)0x0000000141209978), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411CB000
[ClangASTImporter] Imported (CXXConstructorDecl*)0x0000000141276E30, named (unnamed struct at <user expression 0>:2:1) (from (Decl*)0x0000000141209858), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411CB000
[ClangASTImporter] Imported (FieldDecl*)0x0000000141276770, named message (from (Decl*)0x0000000141209268), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411CB000
MaybeHandleCallArguments( call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2)
MaybeHandleVariable ( %issue_kind = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 0)
MaybeHandleVariable ( %message = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 1)
MaybeHandleVariable ( %filename = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 2)
MaybeHandleVariable ( %line = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 3)
MaybeHandleVariable ( %col = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 4)
MaybeHandleVariable ( %memory_addr = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 5)
Examining _ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr, DeclForGlobalValue returns 0x0000000000000000
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000
Examining $RESULT_NAME, DeclForGlobalValue returns 0x00000001412BAAC8
MaybeHandleVariable (@"$RESULT_NAME" = external global ptr)
Type of "$__lldb_expr_result_ptr" is [clang "struct (unnamed struct at <user expression 0>:2:1) **", llvm "ptr"] [size 8, align 8]
Adding value for (NamedDecl*)0x00000001412BAAC8 [$__lldb_expr_result_ptr - $RESULT_NAME] to the structure
Already placed at 0x0
Placed at 0x0
Element arrangement:
Arg: "ptr %"$__lldb_arg""
"$RESULT_NAME" ("$__lldb_expr_result_ptr") placed at 0
Replacing [@"$RESULT_NAME" = external global ptr]
Total structure [align 8, size 8]
Saw function with body: _Z12$__lldb_exprPv
Unsupported instruction: call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
Using arm64-apple-macosx11.0.0 as the target triple
Using SIMD alignment: 0
Target datalayout string: 'e-m:o-i64:64-i128:128-n32:64-S128'
Target ABI: 'aapcs'
Target vector alignment: 128
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg_ptr' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000000014132E000 'Expression ASTContext for '<clang expression>'' for '$__lldb_arg_ptr' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
ClangExpressionDeclMap::FindExternalVisibleDecls for '_$__lldb_valid_pointer_check' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000000014132E000 'Expression ASTContext for '<clang expression>'' for '_$__lldb_valid_pointer_check' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_local_val' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x000000014132E000 'Expression ASTContext for '<clang expression>'' for '$__lldb_local_val' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
Found function _$__lldb_valid_pointer_check for _$__lldb_valid_pointer_check
DoPrepareForExecution - Current expression language is unknown
Module as passed in to IRForTarget:
"; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @"_$__lldb_valid_pointer_check"(ptr %"$__lldb_arg_ptr") #0 !dbg !13 {
entry:
%"$__lldb_arg_ptr.addr" = alloca ptr, align 8, !clang.decl.ptr !20
%"$__lldb_local_val" = alloca i8, align 1, !clang.decl.ptr !21
store ptr %"$__lldb_arg_ptr", ptr %"$__lldb_arg_ptr.addr", align 8
call void @llvm.dbg.declare(metadata ptr %"$__lldb_arg_ptr.addr", metadata !22, metadata !DIExpression()), !dbg !23
call void @llvm.dbg.declare(metadata ptr %"$__lldb_local_val", metadata !24, metadata !DIExpression()), !dbg !25
%0 = load ptr, ptr %"$__lldb_arg_ptr.addr", align 8, !dbg !25
%1 = load i8, ptr %0, align 1, !dbg !25
store i8 %1, ptr %"$__lldb_local_val", align 1, !dbg !25
ret void, !dbg !26
}
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!2, !3, !4, !5, !6, !7, !8, !9, !10}
!clang.global.decl.ptrs = !{!11}
!llvm.ident = !{!12}
!0 = distinct !DICompileUnit(language: DW_LANG_ObjC_plus_plus, file: !1, producer: "Apple clang version 15.0.0 (clang-1500.0.40.1)", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug)
!1 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "/")
!2 = !{i32 1, !"Objective-C Version", i32 2}
!3 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!4 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!5 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!6 = !{i32 1, !"Objective-C Class Properties", i32 64}
!7 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!8 = !{i32 2, !"Debug Info Version", i32 3}
!9 = !{i32 1, !"wchar_size", i32 4}
!10 = !{i32 7, !"frame-pointer", i32 2}
!11 = !{ptr @"_$__lldb_valid_pointer_check", i64 5388998760}
!12 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!13 = distinct !DISubprogram(name: "_$__lldb_valid_pointer_check", scope: !14, file: !14, line: 37, type: !15, scopeLine: 38, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !19)
!14 = !DIFile(filename: "<lldb wrapper prefix>", directory: "/")
!15 = !DISubroutineType(types: !16)
!16 = !{null, !17}
!17 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !18, size: 64)
!18 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char)
!19 = !{}
!20 = !{i64 5388998536}
!21 = !{i64 5388998984}
!22 = !DILocalVariable(name: "$__lldb_arg_ptr", arg: 1, scope: !13, file: !14, line: 37, type: !17)
!23 = !DILocation(line: 37, scope: !13)
!24 = !DILocalVariable(name: "$__lldb_local_val", scope: !13, file: !14, line: 39, type: !18)
!25 = !DILocation(line: 39, scope: !13)
!26 = !DILocation(line: 40, scope: !13)
"
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %"$__lldb_arg_ptr.addr", metadata !22, metadata !DIExpression()), !dbg !23)
MaybeHandleVariable (ptr %"$__lldb_arg_ptr.addr")
MaybeHandleVariable (!22 = !DILocalVariable(name: "$__lldb_arg_ptr", arg: 1, scope: !13, file: !14, line: 37, type: !17))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %"$__lldb_local_val", metadata !24, metadata !DIExpression()), !dbg !25)
MaybeHandleVariable (ptr %"$__lldb_local_val")
MaybeHandleVariable (!24 = !DILocalVariable(name: "$__lldb_local_val", scope: !13, file: !14, line: 39, type: !18))
MaybeHandleVariable (!DIExpression())
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000
Module being sent to JIT:
; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
@reloc_placeholder = internal global i8 0
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @"_$__lldb_valid_pointer_check"(ptr %"$__lldb_arg_ptr") #0 !dbg !13 {
entry:
%"$__lldb_arg_ptr.addr" = alloca ptr, align 8, !clang.decl.ptr !20
%"$__lldb_local_val" = alloca i8, align 1, !clang.decl.ptr !21
store ptr %"$__lldb_arg_ptr", ptr %"$__lldb_arg_ptr.addr", align 8
call void @llvm.dbg.declare(metadata ptr %"$__lldb_arg_ptr.addr", metadata !22, metadata !DIExpression()), !dbg !23
call void @llvm.dbg.declare(metadata ptr %"$__lldb_local_val", metadata !24, metadata !DIExpression()), !dbg !25
%0 = load ptr, ptr %"$__lldb_arg_ptr.addr", align 8, !dbg !25
%1 = load i8, ptr %0, align 1, !dbg !25
store i8 %1, ptr %"$__lldb_local_val", align 1, !dbg !25
ret void, !dbg !26
}
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!2, !3, !4, !5, !6, !7, !8, !9, !10}
!clang.global.decl.ptrs = !{!11}
!llvm.ident = !{!12}
!0 = distinct !DICompileUnit(language: DW_LANG_ObjC_plus_plus, file: !1, producer: "Apple clang version 15.0.0 (clang-1500.0.40.1)", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug)
!1 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "/")
!2 = !{i32 1, !"Objective-C Version", i32 2}
!3 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!4 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!5 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!6 = !{i32 1, !"Objective-C Class Properties", i32 64}
!7 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!8 = !{i32 2, !"Debug Info Version", i32 3}
!9 = !{i32 1, !"wchar_size", i32 4}
!10 = !{i32 7, !"frame-pointer", i32 2}
!11 = !{ptr @"_$__lldb_valid_pointer_check", i64 5388998760}
!12 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!13 = distinct !DISubprogram(name: "_$__lldb_valid_pointer_check", scope: !14, file: !14, line: 37, type: !15, scopeLine: 38, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !19)
!14 = !DIFile(filename: "<lldb wrapper prefix>", directory: "/")
!15 = !DISubroutineType(types: !16)
!16 = !{null, !17}
!17 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !18, size: 64)
!18 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char)
!19 = !{}
!20 = !{i64 5388998536}
!21 = !{i64 5388998984}
!22 = !DILocalVariable(name: "$__lldb_arg_ptr", arg: 1, scope: !13, file: !14, line: 37, type: !17)
!23 = !DILocation(line: 37, scope: !13)
!24 = !DILocalVariable(name: "$__lldb_local_val", scope: !13, file: !14, line: 39, type: !18)
!25 = !DILocation(line: 39, scope: !13)
!26 = !DILocation(line: 40, scope: !13)
IRExecutionUnit::allocateCodeSection(Size=0x33, Alignment=8, SectionID=0) = 0x1252fc000
IRExecutionUnit::allocateDataSection(Size=0xf, Alignment=8, SectionID=1) = 0x1256fc000
IRExecutionUnit::allocateDataSection(Size=0x16, Alignment=8, SectionID=2) = 0x1256fc010
IRExecutionUnit::allocateDataSection(Size=0x68, Alignment=8, SectionID=3) = 0x1256fc028
IRExecutionUnit::allocateDataSection(Size=0x88, Alignment=8, SectionID=4) = 0x1256fc090
IRExecutionUnit::allocateDataSection(Size=0xd0, Alignment=8, SectionID=5) = 0x1256fc118
IRExecutionUnit::allocateDataSection(Size=0x4a, Alignment=8, SectionID=6) = 0x1256fc1e8
IRExecutionUnit::allocateDataSection(Size=0x32, Alignment=8, SectionID=7) = 0x1256fc238
IRExecutionUnit::allocateDataSection(Size=0x32, Alignment=8, SectionID=8) = 0x1256fc270
IRExecutionUnit::allocateDataSection(Size=0x55, Alignment=8, SectionID=9) = 0x1256fc2a8
IRExecutionUnit::allocateDataSection(Size=0x63, Alignment=8, SectionID=10) = 0x1256fc300
IRMemoryMap::Malloc (63, 0x8, 0x6, eAllocationPolicyProcessOnly) -> 0x11ceec4a0
IRMemoryMap::Malloc (23, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8530
IRMemoryMap::Malloc (31, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8550
IRMemoryMap::WriteMemory (0x11ceec4a0, 0x1252fc000, 0x51) went to [0x11ceec4a0..0x11ceec4df)
IRMemoryMap::WriteMemory (0x11d0f8530, 0x1256fc000, 0x15) went to [0x11d0f8530..0x11d0f8547)
IRMemoryMap::WriteMemory (0x11d0f8550, 0x1256fc010, 0x22) went to [0x11d0f8550..0x11d0f856f)
IRExecutionUnit::GetRemoteAddressForLocal() found 0x1252fc000 in [0x1252fc000..0x1252fc033], and returned 0x11ceec4a0 from [0x11ceec4a0..0x11ceec4d3].
Code can be run in the target.
Found function, has local address 0x1252fc000 and remote address 0x11ceec4a0
Function's code range is [0x11ceec4a0+0x33]
Function data has contents:
0x11ceec4a0: ff 83 00 d1 fd 7b 01 a9 fd 43 00 91 e0 07 00 f9
0x11ceec4b0: e8 07 40 f9 08 01 40 39 e8 1f 00 39 fd 7b 41 a9
0x11ceec4c0: ff 83 00 91 c0 03 5f d6 00 00 00 00 00 00 00 00
0x11ceec4d0: 00 00 00
Function disassembly:
0x11ceec4a0: 0xd10083ff unknown sub sp, sp, #0x20
0x11ceec4a4: 0xa9017bfd unknown stp x29, x30, [sp, #0x10]
0x11ceec4a8: 0x910043fd unknown add x29, sp, #0x10
0x11ceec4ac: 0xf90007e0 unknown str x0, [sp, #0x8]
0x11ceec4b0: 0xf94007e8 unknown ldr x8, [sp, #0x8]
0x11ceec4b4: 0x39400108 unknown ldrb w8, [x8]
0x11ceec4b8: 0x39001fe8 unknown strb w8, [sp, #0x7]
0x11ceec4bc: 0xa9417bfd unknown ldp x29, x30, [sp, #0x10]
0x11ceec4c0: 0x910083ff unknown add sp, sp, #0x20
0x11ceec4c4: 0xd65f03c0 unknown ret
0x11ceec4c8: 0x00000000 unknown udf #0x0
0x11ceec4cc: 0x00000000 unknown udf #0x0
Sections:
[0x1252fc000+0x33]->0x11ceec4a0 (alignment 8, section ID 0, name __text)
IRMemoryMap::ReadMemory (0x11ceec4a0, 0x600005415c40, 0x51) came from [0x11ceec4a0..0x11ceec4df)
0x11ceec4a0: ff 83 00 d1 fd 7b 01 a9 fd 43 00 91 e0 07 00 f9
0x11ceec4b0: e8 07 40 f9 08 01 40 39 e8 1f 00 39 fd 7b 41 a9
0x11ceec4c0: ff 83 00 91 c0 03 5f d6 00 00 00 00 00 00 00 00
0x11ceec4d0: 00 00 00
[0x1256fc000+0xf]->0x11d0f8530 (alignment 8, section ID 1, name __bss)
IRMemoryMap::ReadMemory (0x11d0f8530, 0x6000003677c0, 0x15) came from [0x11d0f8530..0x11d0f8547)
0x11d0f8530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[0x1256fc010+0x16]->0x11d0f8550 (alignment 8, section ID 2, name __objc_imageinfo)
IRMemoryMap::ReadMemory (0x11d0f8550, 0x600000494a80, 0x22) came from [0x11d0f8550..0x11d0f856f)
0x11d0f8550: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00
0x11d0f8560: 00 00 00 00 00 00
[0x1256fc028+0x68]->0xffffffffffffffff (alignment 8, section ID 3, name __debug_abbrev)
0x1256fc028: 01 11 01 25 0e 13 05 03 0e 10 17 1b 0e e5 7f 0b
0x1256fc038: 11 01 12 06 00 00 02 2e 01 11 01 12 06 40 18 03
0x1256fc048: 0e 3a 0b 3b 0b 3f 19 00 00 03 05 00 02 18 03 0e
0x1256fc058: 3a 0b 3b 0b 49 13 00 00 04 34 00 02 18 03 0e 3a
0x1256fc068: 0b 3b 0b 49 13 00 00 05 0f 00 49 13 00 00 06 24
0x1256fc078: 00 03 0e 3e 0b 0b 0b 00 00 00 00 00 00 00 00 00
0x1256fc088: 00 00 00 00 00 00 00 00
[0x1256fc090+0x88]->0xffffffffffffffff (alignment 8, section ID 4, name __debug_info)
0x1256fc090: 66 00 00 00 04 00 00 00 00 00 08 01 00 00 00 00
0x1256fc0a0: 11 00 2f 00 00 00 00 00 00 00 73 00 00 00 02 a0
0x1256fc0b0: c4 ee 1c 01 00 00 00 28 00 00 00 02 a0 c4 ee 1c
0x1256fc0c0: 01 00 00 00 28 00 00 00 01 6d 75 00 00 00 01 25
0x1256fc0d0: 03 02 8f 08 92 00 00 00 01 25 5d 00 00 00 04 02
0x1256fc0e0: 8f 07 b0 00 00 00 01 27 62 00 00 00 00 05 62 00
0x1256fc0f0: 00 00 06 a2 00 00 00 08 01 00 00 00 00 00 00 00
0x1256fc100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1256fc110: 00 00 00 00 00 00 00 00
[0x1256fc118+0xd0]->0xffffffffffffffff (alignment 8, section ID 5, name __debug_str)
0x1256fc118: 41 70 70 6c 65 20 63 6c 61 6e 67 20 76 65 72 73
0x1256fc128: 69 6f 6e 20 31 35 2e 30 2e 30 20 28 63 6c 61 6e
0x1256fc138: 67 2d 31 35 30 30 2e 30 2e 34 30 2e 31 29 00 2f
0x1256fc148: 76 61 72 2f 66 6f 6c 64 65 72 73 2f 6a 6b 2f 32
0x1256fc158: 6e 6b 6c 62 68 30 78 35 6b 73 63 31 39 32 6a 73
0x1256fc168: 6d 39 6e 68 6e 68 63 30 30 30 30 67 6e 2f 54 2f
0x1256fc178: 6c 6c 64 62 2f 38 39 35 30 31 2f 3c 73 74 64 69
0x1256fc188: 6e 3e 00 2f 00 5f 24 5f 5f 6c 6c 64 62 5f 76 61
0x1256fc198: 6c 69 64 5f 70 6f 69 6e 74 65 72 5f 63 68 65 63
0x1256fc1a8: 6b 00 24 5f 5f 6c 6c 64 62 5f 61 72 67 5f 70 74
0x1256fc1b8: 72 00 75 6e 73 69 67 6e 65 64 20 63 68 61 72 00
0x1256fc1c8: 24 5f 5f 6c 6c 64 62 5f 6c 6f 63 61 6c 5f 76 61
0x1256fc1d8: 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[0x1256fc1e8+0x4a]->0xffffffffffffffff (alignment 8, section ID 6, name __apple_names)
0x1256fc1e8: 48 53 41 48 01 00 00 00 01 00 00 00 01 00 00 00
0x1256fc1f8: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x1256fc208: 00 00 00 00 90 fe 67 61 2c 00 00 00 75 00 00 00
0x1256fc218: 01 00 00 00 2b 00 00 00 00 00 00 00 00 00 00 00
0x1256fc228: 00 00 00 00 00 00 00 00 00 00
[0x1256fc238+0x32]->0xffffffffffffffff (alignment 8, section ID 7, name __apple_objc)
0x1256fc238: 48 53 41 48 01 00 00 00 01 00 00 00 00 00 00 00
0x1256fc248: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x1256fc258: ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
0x1256fc268: 00 00
[0x1256fc270+0x32]->0xffffffffffffffff (alignment 8, section ID 8, name __apple_namespac)
0x1256fc270: 48 53 41 48 01 00 00 00 01 00 00 00 00 00 00 00
0x1256fc280: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x1256fc290: ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
0x1256fc2a0: 00 00
[0x1256fc2a8+0x55]->0xffffffffffffffff (alignment 8, section ID 9, name __apple_types)
0x1256fc2a8: 48 53 41 48 01 00 00 00 01 00 00 00 01 00 00 00
0x1256fc2b8: 14 00 00 00 00 00 00 00 03 00 00 00 01 00 06 00
0x1256fc2c8: 03 00 05 00 04 00 0b 00 00 00 00 00 a0 a7 cb f9
0x1256fc2d8: 34 00 00 00 a2 00 00 00 01 00 00 00 62 00 00 00
0x1256fc2e8: 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1256fc2f8: 00 00 00 00 00
[0x1256fc300+0x63]->0xffffffffffffffff (alignment 8, section ID 10, name __debug_line)
0x1256fc300: 49 00 00 00 04 00 2d 00 00 00 01 01 01 fb 0e 0d
0x1256fc310: 00 01 01 01 01 00 00 00 01 00 00 01 00 3c 6c 6c
0x1256fc320: 64 62 20 77 72 61 70 70 65 72 20 70 72 65 66 69
0x1256fc330: 78 3e 00 00 00 00 00 00 09 02 a0 c4 ee 1c 01 00
0x1256fc340: 00 00 03 25 01 0a f3 bb 02 0c 00 01 01 00 00 00
0x1256fc350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1256fc360: 00 00 00
Couldn't find llvm.global_ctors.
[ClangASTImporter] Forgetting destination (ASTContext*)0x000000014132E000
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x000000014132E000->(ASTContext*)0x0000000134A71600
Using arm64-apple-macosx11.0.0 as the target triple
Using SIMD alignment: 0
Target datalayout string: 'e-m:o-i64:64-i128:128-n32:64-S128'
Target ABI: 'aapcs'
Target vector alignment: 128
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg_obj' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x0000000131246C00 'Expression ASTContext for '<clang expression>'' for '$__lldb_arg_obj' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg_selector' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x0000000131246C00 'Expression ASTContext for '<clang expression>'' for '$__lldb_arg_selector' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_objc_object_check' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x0000000131246C00 'Expression ASTContext for '<clang expression>'' for '$__lldb_objc_object_check' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
ClangExpressionDeclMap::FindExternalVisibleDecls for '$responds' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x0000000131246C00 'Expression ASTContext for '<clang expression>'' for '$responds' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
Found function $__lldb_objc_object_check for $__lldb_objc_object_check
DoPrepareForExecution - Current expression language is unknown
Module as passed in to IRForTarget:
"; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
@OBJC_METH_VAR_NAME_ = private unnamed_addr constant [20 x i8] c"respondsToSelector:\00", section "__TEXT,__objc_methname,cstring_literals", align 1
@OBJC_SELECTOR_REFERENCES_ = internal externally_initialized global ptr @OBJC_METH_VAR_NAME_, section "__DATA,__objc_selrefs,literal_pointers,no_dead_strip", align 8
@llvm.compiler.used = appending global [2 x ptr] [ptr @OBJC_METH_VAR_NAME_, ptr @OBJC_SELECTOR_REFERENCES_], section "llvm.metadata"
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @"$__lldb_objc_object_check"(ptr %"$__lldb_arg_obj", ptr %"$__lldb_arg_selector") #0 !dbg !28 {
entry:
%"$__lldb_arg_obj.addr" = alloca ptr, align 8, !clang.decl.ptr !33
%"$__lldb_arg_selector.addr" = alloca ptr, align 8, !clang.decl.ptr !34
%"$responds" = alloca i8, align 1, !clang.decl.ptr !35
store ptr %"$__lldb_arg_obj", ptr %"$__lldb_arg_obj.addr", align 8
call void @llvm.dbg.declare(metadata ptr %"$__lldb_arg_obj.addr", metadata !36, metadata !DIExpression()), !dbg !37
store ptr %"$__lldb_arg_selector", ptr %"$__lldb_arg_selector.addr", align 8
call void @llvm.dbg.declare(metadata ptr %"$__lldb_arg_selector.addr", metadata !38, metadata !DIExpression()), !dbg !37
%0 = load ptr, ptr %"$__lldb_arg_obj.addr", align 8, !dbg !39
%cmp = icmp eq ptr %0, null, !dbg !39
br i1 %cmp, label %if.then, label %if.end, !dbg !41
if.then: ; preds = %entry
br label %if.end9, !dbg !42
if.end: ; preds = %entry
%1 = load ptr, ptr %"$__lldb_arg_obj.addr", align 8, !dbg !43
%call = call ptr @gdb_object_getClass(ptr %1) #4, !dbg !43
%tobool = icmp ne ptr %call, null, !dbg !43
br i1 %tobool, label %if.else, label %if.then1, !dbg !45
if.then1: ; preds = %if.end
store volatile i32 1868785507, ptr null, align 4, !dbg !46
br label %if.end9, !dbg !48
if.else: ; preds = %if.end
%2 = load ptr, ptr %"$__lldb_arg_selector.addr", align 8, !dbg !49
%cmp2 = icmp ne ptr %2, null, !dbg !49
br i1 %cmp2, label %if.then3, label %if.end8, !dbg !51
if.then3: ; preds = %if.else
call void @llvm.dbg.declare(metadata ptr %"$responds", metadata !52, metadata !DIExpression()), !dbg !54
%3 = load ptr, ptr %"$__lldb_arg_obj.addr", align 8, !dbg !55
%4 = load ptr, ptr %"$__lldb_arg_selector.addr", align 8, !dbg !56
%5 = load ptr, ptr @OBJC_SELECTOR_REFERENCES_, align 8, !dbg !55, !invariant.load !32
%call4 = call i8 @objc_msgSend(ptr %3, ptr %5, ptr %4) #4, !dbg !55
store i8 %call4, ptr %"$responds", align 1, !dbg !54
%6 = load i8, ptr %"$responds", align 1, !dbg !57
%conv = sext i8 %6 to i32, !dbg !57
%cmp5 = icmp eq i32 %conv, 0, !dbg !57
br i1 %cmp5, label %if.then6, label %if.end7, !dbg !59
if.then6: ; preds = %if.then3
store volatile i32 1868785507, ptr null, align 4, !dbg !60
br label %if.end7, !dbg !60
if.end7: ; preds = %if.then6, %if.then3
br label %if.end8, !dbg !61
if.end8: ; preds = %if.end7, %if.else
br label %if.end9
if.end9: ; preds = %if.then, %if.end8, %if.then1
ret void, !dbg !62
}
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: convergent
declare ptr @gdb_object_getClass(ptr) #2
; Function Attrs: nonlazybind
declare ptr @objc_msgSend(ptr, ptr, ...) #3
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn }
attributes #2 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #3 = { nonlazybind }
attributes #4 = { convergent "no-builtins" }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!16, !17, !18, !19, !20, !21, !22, !23, !24}
!clang.global.decl.ptrs = !{!25, !26}
!llvm.ident = !{!27}
!0 = distinct !DICompileUnit(language: DW_LANG_ObjC_plus_plus, file: !1, producer: "Apple clang version 15.0.0 (clang-1500.0.40.1)", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug, retainedTypes: !2)
!1 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "/")
!2 = !{!3, !4, !7, !8}
!3 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!4 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !5, size: 64)
!5 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !6)
!6 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!7 = !DIBasicType(name: "signed char", size: 8, encoding: DW_ATE_signed_char)
!8 = !DIDerivedType(tag: DW_TAG_typedef, name: "id", file: !9, baseType: !10)
!9 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "")
!10 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !11, size: 64)
!11 = !DICompositeType(tag: DW_TAG_structure_type, name: "objc_object", file: !1, elements: !12)
!12 = !{!13}
!13 = !DIDerivedType(tag: DW_TAG_member, name: "isa", scope: !11, file: !1, baseType: !14, size: 64)
!14 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !15, size: 64)
!15 = !DICompositeType(tag: DW_TAG_structure_type, name: "objc_class", file: !1, flags: DIFlagFwdDecl)
!16 = !{i32 1, !"Objective-C Version", i32 2}
!17 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!18 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!19 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!20 = !{i32 1, !"Objective-C Class Properties", i32 64}
!21 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!22 = !{i32 2, !"Debug Info Version", i32 3}
!23 = !{i32 1, !"wchar_size", i32 4}
!24 = !{i32 7, !"frame-pointer", i32 2}
!25 = !{ptr @"$__lldb_objc_object_check", i64 5118864616}
!26 = !{ptr @gdb_object_getClass, i64 5119605808}
!27 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!28 = distinct !DISubprogram(name: "$__lldb_objc_object_check", scope: !29, file: !29, line: 40, type: !30, scopeLine: 40, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !32)
!29 = !DIFile(filename: "<lldb wrapper prefix>", directory: "/")
!30 = !DISubroutineType(types: !31)
!31 = !{null, !3, !3}
!32 = !{}
!33 = !{i64 5118864232}
!34 = !{i64 5118864360}
!35 = !{i64 5118865944}
!36 = !DILocalVariable(name: "$__lldb_arg_obj", arg: 1, scope: !28, file: !29, line: 40, type: !3)
!37 = !DILocation(line: 40, scope: !28)
!38 = !DILocalVariable(name: "$__lldb_arg_selector", arg: 2, scope: !28, file: !29, line: 40, type: !3)
!39 = !DILocation(line: 41, scope: !40)
!40 = distinct !DILexicalBlock(scope: !28, file: !29, line: 41)
!41 = !DILocation(line: 41, scope: !28)
!42 = !DILocation(line: 42, scope: !40)
!43 = !DILocation(line: 43, scope: !44)
!44 = distinct !DILexicalBlock(scope: !28, file: !29, line: 43)
!45 = !DILocation(line: 43, scope: !28)
!46 = !DILocation(line: 44, scope: !47)
!47 = distinct !DILexicalBlock(scope: !44, file: !29, line: 43)
!48 = !DILocation(line: 45, scope: !47)
!49 = !DILocation(line: 45, scope: !50)
!50 = distinct !DILexicalBlock(scope: !44, file: !29, line: 45)
!51 = !DILocation(line: 45, scope: !44)
!52 = !DILocalVariable(name: "$responds", scope: !53, file: !29, line: 46, type: !7)
!53 = distinct !DILexicalBlock(scope: !50, file: !29, line: 45)
!54 = !DILocation(line: 46, scope: !53)
!55 = !DILocation(line: 47, scope: !53)
!56 = !DILocation(line: 48, scope: !53)
!57 = !DILocation(line: 49, scope: !58)
!58 = distinct !DILexicalBlock(scope: !53, file: !29, line: 49)
!59 = !DILocation(line: 49, scope: !53)
!60 = !DILocation(line: 50, scope: !58)
!61 = !DILocation(line: 51, scope: !53)
!62 = !DILocation(line: 52, scope: !28)
"
Found Objective-C selector reference "respondsToSelector:"
Found sel_registerName at 6616498012
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %"$__lldb_arg_obj.addr", metadata !36, metadata !DIExpression()), !dbg !37)
MaybeHandleVariable (ptr %"$__lldb_arg_obj.addr")
MaybeHandleVariable (!36 = !DILocalVariable(name: "$__lldb_arg_obj", arg: 1, scope: !28, file: !29, line: 40, type: !3))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %"$__lldb_arg_selector.addr", metadata !38, metadata !DIExpression()), !dbg !37)
MaybeHandleVariable (ptr %"$__lldb_arg_selector.addr")
MaybeHandleVariable (!38 = !DILocalVariable(name: "$__lldb_arg_selector", arg: 2, scope: !28, file: !29, line: 40, type: !3))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %call = call ptr @gdb_object_getClass(ptr %1) #4, !dbg !43)
MaybeHandleVariable ( %1 = load ptr, ptr %"$__lldb_arg_obj.addr", align 8, !dbg !43)
MaybeHandleCallArguments( call void @llvm.dbg.declare(metadata ptr %"$responds", metadata !52, metadata !DIExpression()), !dbg !54)
MaybeHandleVariable (ptr %"$responds")
MaybeHandleVariable (!52 = !DILocalVariable(name: "$responds", scope: !53, file: !29, line: 46, type: !7))
MaybeHandleVariable (!DIExpression())
MaybeHandleCallArguments( %sel_registerName = call ptr inttoptr (i64 6616498012 to ptr)(ptr @OBJC_METH_VAR_NAME_))
MaybeHandleVariable (@OBJC_METH_VAR_NAME_ = private unnamed_addr constant [20 x i8] c"respondsToSelector:\00", section "__TEXT,__objc_methname,cstring_literals", align 1)
MaybeHandleCallArguments( %call4 = call i8 @objc_msgSend(ptr %3, ptr %sel_registerName, ptr %4) #4, !dbg !55)
MaybeHandleVariable ( %3 = load ptr, ptr %"$__lldb_arg_obj.addr", align 8, !dbg !55)
MaybeHandleVariable ( %sel_registerName = call ptr inttoptr (i64 6616498012 to ptr)(ptr @OBJC_METH_VAR_NAME_))
MaybeHandleVariable ( %4 = load ptr, ptr %"$__lldb_arg_selector.addr", align 8, !dbg !56)
Examining OBJC_METH_VAR_NAME_, DeclForGlobalValue returns 0x0000000000000000
Examining OBJC_SELECTOR_REFERENCES_, DeclForGlobalValue returns 0x0000000000000000
Examining llvm.compiler.used, DeclForGlobalValue returns 0x0000000000000000
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000
Module being sent to JIT:
; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
@OBJC_METH_VAR_NAME_ = private unnamed_addr constant [20 x i8] c"respondsToSelector:\00", section "__TEXT,__objc_methname,cstring_literals", align 1
@OBJC_SELECTOR_REFERENCES_ = internal externally_initialized global ptr @OBJC_METH_VAR_NAME_, section "__DATA,__objc_selrefs,literal_pointers,no_dead_strip", align 8
@llvm.compiler.used = appending global [2 x ptr] [ptr @OBJC_METH_VAR_NAME_, ptr @OBJC_SELECTOR_REFERENCES_], section "llvm.metadata"
@reloc_placeholder = internal global i8 0
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @"$__lldb_objc_object_check"(ptr %"$__lldb_arg_obj", ptr %"$__lldb_arg_selector") #0 !dbg !28 {
entry:
%"$__lldb_arg_obj.addr" = alloca ptr, align 8, !clang.decl.ptr !33
%"$__lldb_arg_selector.addr" = alloca ptr, align 8, !clang.decl.ptr !34
%"$responds" = alloca i8, align 1, !clang.decl.ptr !35
store ptr %"$__lldb_arg_obj", ptr %"$__lldb_arg_obj.addr", align 8
call void @llvm.dbg.declare(metadata ptr %"$__lldb_arg_obj.addr", metadata !36, metadata !DIExpression()), !dbg !37
store ptr %"$__lldb_arg_selector", ptr %"$__lldb_arg_selector.addr", align 8
call void @llvm.dbg.declare(metadata ptr %"$__lldb_arg_selector.addr", metadata !38, metadata !DIExpression()), !dbg !37
%0 = load ptr, ptr %"$__lldb_arg_obj.addr", align 8, !dbg !39
%cmp = icmp eq ptr %0, null, !dbg !39
br i1 %cmp, label %if.then, label %if.end, !dbg !41
if.then: ; preds = %entry
br label %if.end9, !dbg !42
if.end: ; preds = %entry
%1 = load ptr, ptr %"$__lldb_arg_obj.addr", align 8, !dbg !43
%call = call ptr @gdb_object_getClass(ptr %1) #4, !dbg !43
%tobool = icmp ne ptr %call, null, !dbg !43
br i1 %tobool, label %if.else, label %if.then1, !dbg !45
if.then1: ; preds = %if.end
store volatile i32 1868785507, ptr null, align 4, !dbg !46
br label %if.end9, !dbg !48
if.else: ; preds = %if.end
%2 = load ptr, ptr %"$__lldb_arg_selector.addr", align 8, !dbg !49
%cmp2 = icmp ne ptr %2, null, !dbg !49
br i1 %cmp2, label %if.then3, label %if.end8, !dbg !51
if.then3: ; preds = %if.else
call void @llvm.dbg.declare(metadata ptr %"$responds", metadata !52, metadata !DIExpression()), !dbg !54
%3 = load ptr, ptr %"$__lldb_arg_obj.addr", align 8, !dbg !55
%4 = load ptr, ptr %"$__lldb_arg_selector.addr", align 8, !dbg !56
%sel_registerName = call ptr inttoptr (i64 6616498012 to ptr)(ptr @OBJC_METH_VAR_NAME_)
%call4 = call i8 @objc_msgSend(ptr %3, ptr %sel_registerName, ptr %4) #4, !dbg !55
store i8 %call4, ptr %"$responds", align 1, !dbg !54
%5 = load i8, ptr %"$responds", align 1, !dbg !57
%conv = sext i8 %5 to i32, !dbg !57
%cmp5 = icmp eq i32 %conv, 0, !dbg !57
br i1 %cmp5, label %if.then6, label %if.end7, !dbg !59
if.then6: ; preds = %if.then3
store volatile i32 1868785507, ptr null, align 4, !dbg !60
br label %if.end7, !dbg !60
if.end7: ; preds = %if.then6, %if.then3
br label %if.end8, !dbg !61
if.end8: ; preds = %if.end7, %if.else
br label %if.end9
if.end9: ; preds = %if.then, %if.end8, %if.then1
ret void, !dbg !62
}
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: convergent
declare ptr @gdb_object_getClass(ptr) #2
; Function Attrs: nonlazybind
declare ptr @objc_msgSend(ptr, ptr, ...) #3
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn }
attributes #2 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #3 = { nonlazybind }
attributes #4 = { convergent "no-builtins" }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!16, !17, !18, !19, !20, !21, !22, !23, !24}
!clang.global.decl.ptrs = !{!25, !26}
!llvm.ident = !{!27}
!0 = distinct !DICompileUnit(language: DW_LANG_ObjC_plus_plus, file: !1, producer: "Apple clang version 15.0.0 (clang-1500.0.40.1)", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug, retainedTypes: !2)
!1 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "/")
!2 = !{!3, !4, !7, !8}
!3 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!4 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !5, size: 64)
!5 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !6)
!6 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!7 = !DIBasicType(name: "signed char", size: 8, encoding: DW_ATE_signed_char)
!8 = !DIDerivedType(tag: DW_TAG_typedef, name: "id", file: !9, baseType: !10)
!9 = !DIFile(filename: "/var/folders/jk/2nklbh0x5ksc192jsm9nhnhc0000gn/T/lldb/89501/<stdin>", directory: "")
!10 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !11, size: 64)
!11 = !DICompositeType(tag: DW_TAG_structure_type, name: "objc_object", file: !1, elements: !12)
!12 = !{!13}
!13 = !DIDerivedType(tag: DW_TAG_member, name: "isa", scope: !11, file: !1, baseType: !14, size: 64)
!14 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !15, size: 64)
!15 = !DICompositeType(tag: DW_TAG_structure_type, name: "objc_class", file: !1, flags: DIFlagFwdDecl)
!16 = !{i32 1, !"Objective-C Version", i32 2}
!17 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!18 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!19 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!20 = !{i32 1, !"Objective-C Class Properties", i32 64}
!21 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!22 = !{i32 2, !"Debug Info Version", i32 3}
!23 = !{i32 1, !"wchar_size", i32 4}
!24 = !{i32 7, !"frame-pointer", i32 2}
!25 = !{ptr @"$__lldb_objc_object_check", i64 5118864616}
!26 = !{ptr @gdb_object_getClass, i64 5119605808}
!27 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!28 = distinct !DISubprogram(name: "$__lldb_objc_object_check", scope: !29, file: !29, line: 40, type: !30, scopeLine: 40, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !32)
!29 = !DIFile(filename: "<lldb wrapper prefix>", directory: "/")
!30 = !DISubroutineType(types: !31)
!31 = !{null, !3, !3}
!32 = !{}
!33 = !{i64 5118864232}
!34 = !{i64 5118864360}
!35 = !{i64 5118865944}
!36 = !DILocalVariable(name: "$__lldb_arg_obj", arg: 1, scope: !28, file: !29, line: 40, type: !3)
!37 = !DILocation(line: 40, scope: !28)
!38 = !DILocalVariable(name: "$__lldb_arg_selector", arg: 2, scope: !28, file: !29, line: 40, type: !3)
!39 = !DILocation(line: 41, scope: !40)
!40 = distinct !DILexicalBlock(scope: !28, file: !29, line: 41)
!41 = !DILocation(line: 41, scope: !28)
!42 = !DILocation(line: 42, scope: !40)
!43 = !DILocation(line: 43, scope: !44)
!44 = distinct !DILexicalBlock(scope: !28, file: !29, line: 43)
!45 = !DILocation(line: 43, scope: !28)
!46 = !DILocation(line: 44, scope: !47)
!47 = distinct !DILexicalBlock(scope: !44, file: !29, line: 43)
!48 = !DILocation(line: 45, scope: !47)
!49 = !DILocation(line: 45, scope: !50)
!50 = distinct !DILexicalBlock(scope: !44, file: !29, line: 45)
!51 = !DILocation(line: 45, scope: !44)
!52 = !DILocalVariable(name: "$responds", scope: !53, file: !29, line: 46, type: !7)
!53 = distinct !DILexicalBlock(scope: !50, file: !29, line: 45)
!54 = !DILocation(line: 46, scope: !53)
!55 = !DILocation(line: 47, scope: !53)
!56 = !DILocation(line: 48, scope: !53)
!57 = !DILocation(line: 49, scope: !58)
!58 = distinct !DILexicalBlock(scope: !53, file: !29, line: 49)
!59 = !DILocation(line: 49, scope: !53)
!60 = !DILocation(line: 50, scope: !58)
!61 = !DILocation(line: 51, scope: !53)
!62 = !DILocation(line: 52, scope: !28)
IRExecutionUnit::allocateCodeSection(Size=0xfb, Alignment=8, SectionID=0) = 0x131ffc000
IRExecutionUnit::allocateDataSection(Size=0x22, Alignment=8, SectionID=1) = 0x137ff8000
IRExecutionUnit::allocateDataSection(Size=0x17, Alignment=8, SectionID=2) = 0x137ff8028
IRExecutionUnit::allocateDataSection(Size=0xf, Alignment=8, SectionID=3) = 0x137ff8040
IRExecutionUnit::allocateDataSection(Size=0x16, Alignment=8, SectionID=4) = 0x137ff8050
IRExecutionUnit::allocateDataSection(Size=0xa3, Alignment=8, SectionID=5) = 0x137ff8068
IRExecutionUnit::allocateDataSection(Size=0xe2, Alignment=8, SectionID=6) = 0x137ff8110
IRExecutionUnit::allocateDataSection(Size=0xfa, Alignment=8, SectionID=7) = 0x137ff81f8
IRExecutionUnit::allocateDataSection(Size=0x4a, Alignment=8, SectionID=8) = 0x137ff82f8
IRExecutionUnit::allocateDataSection(Size=0x32, Alignment=8, SectionID=9) = 0x137ff8348
IRExecutionUnit::allocateDataSection(Size=0x32, Alignment=8, SectionID=10) = 0x137ff8380
IRExecutionUnit::allocateDataSection(Size=0xb2, Alignment=8, SectionID=11) = 0x137ff83b8
IRExecutionUnit::allocateDataSection(Size=0x85, Alignment=8, SectionID=12) = 0x137ff8470
IRMemoryMap::Malloc (263, 0x8, 0x6, eAllocationPolicyProcessOnly) -> 0x11ceec4e0
IRMemoryMap::Malloc (47, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8570
IRMemoryMap::Malloc (31, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f85a0
IRMemoryMap::Malloc (23, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f85c0
IRMemoryMap::Malloc (31, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f85e0
IRExecutionUnit::getSymbolAddress(Name="_gdb_object_getClass") = 18a62149c
IRExecutionUnit::getSymbolAddress(Name="_objc_msgSend") = 18a5f5400
IRMemoryMap::WriteMemory (0x11ceec4e0, 0x131ffc000, 0x251) went to [0x11ceec4e0..0x11ceec5e7)
IRMemoryMap::WriteMemory (0x11d0f8570, 0x137ff8000, 0x34) went to [0x11d0f8570..0x11d0f859f)
IRMemoryMap::WriteMemory (0x11d0f85a0, 0x137ff8028, 0x23) went to [0x11d0f85a0..0x11d0f85bf)
IRMemoryMap::WriteMemory (0x11d0f85c0, 0x137ff8040, 0x15) went to [0x11d0f85c0..0x11d0f85d7)
IRMemoryMap::WriteMemory (0x11d0f85e0, 0x137ff8050, 0x22) went to [0x11d0f85e0..0x11d0f85ff)
IRExecutionUnit::GetRemoteAddressForLocal() found 0x131ffc000 in [0x131ffc000..0x131ffc0fb], and returned 0x11ceec4e0 from [0x11ceec4e0..0x11ceec5db].
Code can be run in the target.
Found function, has local address 0x131ffc000 and remote address 0x11ceec4e0
Function's code range is [0x11ceec4e0+0xfb]
Function data has contents:
0x11ceec4e0: ff 03 01 d1 f4 4f 02 a9 fd 7b 03 a9 fd c3 00 91
0x11ceec4f0: e0 0f 00 f9 e1 0b 00 f9 e8 0f 40 f9 48 00 00 b5
0x11ceec500: 24 00 00 14 e0 0f 40 f9 08 00 00 90 08 d9 42 f9
0x11ceec510: 00 01 3f d6 c0 00 00 b5 68 ec 8c 52 68 ec ad 72
0x11ceec520: e9 03 1f aa 28 01 00 b9 1a 00 00 14 e8 0b 40 f9
0x11ceec530: e8 02 00 b4 f3 0f 40 f9 f4 0b 40 f9 88 eb 97 d2
0x11ceec540: e8 4b b1 f2 28 00 c0 f2 09 00 00 90 20 d5 42 f9
0x11ceec550: 00 01 3f d6 e1 03 00 aa 08 00 00 90 08 d1 42 f9
0x11ceec560: e0 03 13 aa e2 03 14 aa 00 01 3f d6 e0 3f 00 39
0x11ceec570: e8 3f c0 39 a8 00 00 35 68 ec 8c 52 68 ec ad 72
0x11ceec580: e9 03 1f aa 28 01 00 b9 01 00 00 14 01 00 00 14
0x11ceec590: fd 7b 43 a9 f4 4f 42 a9 ff 03 01 91 c0 03 5f d6
0x11ceec5a0: 00 54 5f 8a 01 00 00 00 70 85 0f 1d 01 00 00 00
0x11ceec5b0: 9c 14 62 8a 01 00 00 00 00 00 00 00 00 00 00 00
0x11ceec5c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec5d0: 00 00 00 00 00 00 00 00 00 00 00
Function disassembly:
0x11ceec4e0: 0xd10103ff unknown sub sp, sp, #0x40
0x11ceec4e4: 0xa9024ff4 unknown stp x20, x19, [sp, #0x20]
0x11ceec4e8: 0xa9037bfd unknown stp x29, x30, [sp, #0x30]
0x11ceec4ec: 0x9100c3fd unknown add x29, sp, #0x30
0x11ceec4f0: 0xf9000fe0 unknown str x0, [sp, #0x18]
0x11ceec4f4: 0xf9000be1 unknown str x1, [sp, #0x10]
0x11ceec4f8: 0xf9400fe8 unknown ldr x8, [sp, #0x18]
0x11ceec4fc: 0xb5000048 unknown cbnz x8, 0x11ceec504
0x11ceec500: 0x14000024 unknown b 0x11ceec590
0x11ceec504: 0xf9400fe0 unknown ldr x0, [sp, #0x18]
0x11ceec508: 0x90000008 unknown adrp x8, 0
0x11ceec50c: 0xf942d908 unknown ldr x8, [x8, #0x5b0]
0x11ceec510: 0xd63f0100 unknown blr x8
0x11ceec514: 0xb50000c0 unknown cbnz x0, 0x11ceec52c
0x11ceec518: 0x528cec68 unknown mov w8, #0x6763
0x11ceec51c: 0x72adec68 unknown movk w8, #0x6f63, lsl #16
0x11ceec520: 0xaa1f03e9 unknown mov x9, xzr
0x11ceec524: 0xb9000128 unknown str w8, [x9]
0x11ceec528: 0x1400001a unknown b 0x11ceec590
0x11ceec52c: 0xf9400be8 unknown ldr x8, [sp, #0x10]
0x11ceec530: 0xb40002e8 unknown cbz x8, 0x11ceec58c
0x11ceec534: 0xf9400ff3 unknown ldr x19, [sp, #0x18]
0x11ceec538: 0xf9400bf4 unknown ldr x20, [sp, #0x10]
0x11ceec53c: 0xd297eb88 unknown mov x8, #0xbf5c
0x11ceec540: 0xf2b14be8 unknown movk x8, #0x8a5f, lsl #16
0x11ceec544: 0xf2c00028 unknown movk x8, #0x1, lsl #32
0x11ceec548: 0x90000009 unknown adrp x9, 0
0x11ceec54c: 0xf942d520 unknown ldr x0, [x9, #0x5a8]
0x11ceec550: 0xd63f0100 unknown blr x8
0x11ceec554: 0xaa0003e1 unknown mov x1, x0
0x11ceec558: 0x90000008 unknown adrp x8, 0
0x11ceec55c: 0xf942d108 unknown ldr x8, [x8, #0x5a0]
0x11ceec560: 0xaa1303e0 unknown mov x0, x19
0x11ceec564: 0xaa1403e2 unknown mov x2, x20
0x11ceec568: 0xd63f0100 unknown blr x8
0x11ceec56c: 0x39003fe0 unknown strb w0, [sp, #0xf]
0x11ceec570: 0x39c03fe8 unknown ldrsb w8, [sp, #0xf]
0x11ceec574: 0x350000a8 unknown cbnz w8, 0x11ceec588
0x11ceec578: 0x528cec68 unknown mov w8, #0x6763
0x11ceec57c: 0x72adec68 unknown movk w8, #0x6f63, lsl #16
0x11ceec580: 0xaa1f03e9 unknown mov x9, xzr
0x11ceec584: 0xb9000128 unknown str w8, [x9]
0x11ceec588: 0x14000001 unknown b 0x11ceec58c
0x11ceec58c: 0x14000001 unknown b 0x11ceec590
0x11ceec590: 0xa9437bfd unknown ldp x29, x30, [sp, #0x30]
0x11ceec594: 0xa9424ff4 unknown ldp x20, x19, [sp, #0x20]
0x11ceec598: 0x910103ff unknown add sp, sp, #0x40
0x11ceec59c: 0xd65f03c0 unknown ret
0x11ceec5a0: 0x8a5f5400 unknown and x0, x0, xzr, lsr #21
0x11ceec5a4: 0x00000001 unknown udf #0x1
0x11ceec5a8: 0x1d0f8570 unknown cpyprn [x16]!, [x15]!, x11!
0x11ceec5ac: 0x00000001 unknown udf #0x1
0x11ceec5b0: 0x8a62149c unknown bic x28, x4, x2, lsr #5
0x11ceec5b4: 0x00000001 unknown udf #0x1
0x11ceec5b8: 0x00000000 unknown udf #0x0
0x11ceec5bc: 0x00000000 unknown udf #0x0
0x11ceec5c0: 0x00000000 unknown udf #0x0
0x11ceec5c4: 0x00000000 unknown udf #0x0
0x11ceec5c8: 0x00000000 unknown udf #0x0
0x11ceec5cc: 0x00000000 unknown udf #0x0
0x11ceec5d0: 0x00000000 unknown udf #0x0
0x11ceec5d4: 0x00000000 unknown udf #0x0
Sections:
[0x131ffc000+0xfb]->0x11ceec4e0 (alignment 8, section ID 0, name __text)
IRMemoryMap::ReadMemory (0x11ceec4e0, 0x600007d48000, 0x251) came from [0x11ceec4e0..0x11ceec5e7)
0x11ceec4e0: ff 03 01 d1 f4 4f 02 a9 fd 7b 03 a9 fd c3 00 91
0x11ceec4f0: e0 0f 00 f9 e1 0b 00 f9 e8 0f 40 f9 48 00 00 b5
0x11ceec500: 24 00 00 14 e0 0f 40 f9 08 00 00 90 08 d9 42 f9
0x11ceec510: 00 01 3f d6 c0 00 00 b5 68 ec 8c 52 68 ec ad 72
0x11ceec520: e9 03 1f aa 28 01 00 b9 1a 00 00 14 e8 0b 40 f9
0x11ceec530: e8 02 00 b4 f3 0f 40 f9 f4 0b 40 f9 88 eb 97 d2
0x11ceec540: e8 4b b1 f2 28 00 c0 f2 09 00 00 90 20 d5 42 f9
0x11ceec550: 00 01 3f d6 e1 03 00 aa 08 00 00 90 08 d1 42 f9
0x11ceec560: e0 03 13 aa e2 03 14 aa 00 01 3f d6 e0 3f 00 39
0x11ceec570: e8 3f c0 39 a8 00 00 35 68 ec 8c 52 68 ec ad 72
0x11ceec580: e9 03 1f aa 28 01 00 b9 01 00 00 14 01 00 00 14
0x11ceec590: fd 7b 43 a9 f4 4f 42 a9 ff 03 01 91 c0 03 5f d6
0x11ceec5a0: 00 54 5f 8a 01 00 00 00 70 85 0f 1d 01 00 00 00
0x11ceec5b0: 9c 14 62 8a 01 00 00 00 00 00 00 00 00 00 00 00
0x11ceec5c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11ceec5d0: 00 00 00 00 00 00 00 00 00 00 00
[0x137ff8000+0x22]->0x11d0f8570 (alignment 8, section ID 1, name __objc_methname)
IRMemoryMap::ReadMemory (0x11d0f8570, 0x600004d5ec10, 0x34) came from [0x11d0f8570..0x11d0f859f)
0x11d0f8570: 72 65 73 70 6f 6e 64 73 54 6f 53 65 6c 65 63 74
0x11d0f8580: 6f 72 3a 00 00 00 00 00 00 00 00 00 00 00 00 00
0x11d0f8590: 00 00
[0x137ff8028+0x17]->0x11d0f85a0 (alignment 8, section ID 2, name __objc_selrefs)
IRMemoryMap::ReadMemory (0x11d0f85a0, 0x6000005b02c0, 0x23) came from [0x11d0f85a0..0x11d0f85bf)
0x11d0f85a0: 70 85 0f 1d 01 00 00 00 00 00 00 00 00 00 00 00
0x11d0f85b0: 00 00 00 00 00 00 00
[0x137ff8040+0xf]->0x11d0f85c0 (alignment 8, section ID 3, name __bss)
IRMemoryMap::ReadMemory (0x11d0f85c0, 0x60000031c460, 0x15) came from [0x11d0f85c0..0x11d0f85d7)
0x11d0f85c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[0x137ff8050+0x16]->0x11d0f85e0 (alignment 8, section ID 4, name __objc_imageinfo)
IRMemoryMap::ReadMemory (0x11d0f85e0, 0x6000005b02c0, 0x22) came from [0x11d0f85e0..0x11d0f85ff)
0x11d0f85e0: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00
0x11d0f85f0: 00 00 00 00 00 00
[0x137ff8068+0xa3]->0xffffffffffffffff (alignment 8, section ID 5, name __debug_abbrev)
0x137ff8068: 01 11 01 25 0e 13 05 03 0e 10 17 1b 0e e5 7f 0b
0x137ff8078: 11 01 12 06 00 00 02 0f 00 00 00 03 0f 00 49 13
0x137ff8088: 00 00 04 35 00 49 13 00 00 05 24 00 03 0e 3e 0b
0x137ff8098: 0b 0b 00 00 06 16 00 49 13 03 0e 00 00 07 13 01
0x137ff80a8: 03 0e 0b 0b 00 00 08 0d 00 03 0e 49 13 38 0b 00
0x137ff80b8: 00 09 13 00 03 0e 3c 19 00 00 0a 2e 01 11 01 12
0x137ff80c8: 06 40 18 03 0e 3a 0b 3b 0b 3f 19 00 00 0b 05 00
0x137ff80d8: 02 18 03 0e 3a 0b 3b 0b 49 13 00 00 0c 0b 01 11
0x137ff80e8: 01 12 06 00 00 0d 34 00 02 18 03 0e 3a 0b 3b 0b
0x137ff80f8: 49 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x137ff8108: 00 00 00
[0x137ff8110+0xe2]->0xffffffffffffffff (alignment 8, section ID 6, name __debug_info)
0x137ff8110: b8 00 00 00 04 00 00 00 00 00 08 01 00 00 00 00
0x137ff8120: 11 00 2f 00 00 00 00 00 00 00 73 00 00 00 02 e0
0x137ff8130: c4 ee 1c 01 00 00 00 c0 00 00 00 02 03 31 00 00
0x137ff8140: 00 04 36 00 00 00 05 75 00 00 00 05 04 05 79 00
0x137ff8150: 00 00 06 01 06 4d 00 00 00 85 00 00 00 03 52 00
0x137ff8160: 00 00 07 88 00 00 00 00 08 94 00 00 00 63 00 00
0x137ff8170: 00 00 00 03 68 00 00 00 09 98 00 00 00 0a e0 c4
0x137ff8180: ee 1c 01 00 00 00 c0 00 00 00 01 6d a3 00 00 00
0x137ff8190: 01 28 0b 02 8f 18 bd 00 00 00 01 28 2b 00 00 00
0x137ff81a0: 0b 02 8f 10 cd 00 00 00 01 28 2b 00 00 00 0c 34
0x137ff81b0: c5 ee 1c 01 00 00 00 58 00 00 00 0d 02 8f 0f e2
0x137ff81c0: 00 00 00 01 2e 3d 00 00 00 00 00 00 00 00 00 00
0x137ff81d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x137ff81e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x137ff81f0: 00 00
[0x137ff81f8+0xfa]->0xffffffffffffffff (alignment 8, section ID 7, name __debug_str)
0x137ff81f8: 41 70 70 6c 65 20 63 6c 61 6e 67 20 76 65 72 73
0x137ff8208: 69 6f 6e 20 31 35 2e 30 2e 30 20 28 63 6c 61 6e
0x137ff8218: 67 2d 31 35 30 30 2e 30 2e 34 30 2e 31 29 00 2f
0x137ff8228: 76 61 72 2f 66 6f 6c 64 65 72 73 2f 6a 6b 2f 32
0x137ff8238: 6e 6b 6c 62 68 30 78 35 6b 73 63 31 39 32 6a 73
0x137ff8248: 6d 39 6e 68 6e 68 63 30 30 30 30 67 6e 2f 54 2f
0x137ff8258: 6c 6c 64 62 2f 38 39 35 30 31 2f 3c 73 74 64 69
0x137ff8268: 6e 3e 00 2f 00 69 6e 74 00 73 69 67 6e 65 64 20
0x137ff8278: 63 68 61 72 00 69 64 00 6f 62 6a 63 5f 6f 62 6a
0x137ff8288: 65 63 74 00 69 73 61 00 6f 62 6a 63 5f 63 6c 61
0x137ff8298: 73 73 00 24 5f 5f 6c 6c 64 62 5f 6f 62 6a 63 5f
0x137ff82a8: 6f 62 6a 65 63 74 5f 63 68 65 63 6b 00 24 5f 5f
0x137ff82b8: 6c 6c 64 62 5f 61 72 67 5f 6f 62 6a 00 24 5f 5f
0x137ff82c8: 6c 6c 64 62 5f 61 72 67 5f 73 65 6c 65 63 74 6f
0x137ff82d8: 72 00 24 72 65 73 70 6f 6e 64 73 00 00 00 00 00
0x137ff82e8: 00 00 00 00 00 00 00 00 00 00
[0x137ff82f8+0x4a]->0xffffffffffffffff (alignment 8, section ID 8, name __apple_names)
0x137ff82f8: 48 53 41 48 01 00 00 00 01 00 00 00 01 00 00 00
0x137ff8308: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x137ff8318: 00 00 00 00 35 77 45 ca 2c 00 00 00 a3 00 00 00
0x137ff8328: 01 00 00 00 6d 00 00 00 00 00 00 00 00 00 00 00
0x137ff8338: 00 00 00 00 00 00 00 00 00 00
[0x137ff8348+0x32]->0xffffffffffffffff (alignment 8, section ID 9, name __apple_objc)
0x137ff8348: 48 53 41 48 01 00 00 00 01 00 00 00 00 00 00 00
0x137ff8358: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x137ff8368: ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
0x137ff8378: 00 00
[0x137ff8380+0x32]->0xffffffffffffffff (alignment 8, section ID 10, name __apple_namespac)
0x137ff8380: 48 53 41 48 01 00 00 00 01 00 00 00 00 00 00 00
0x137ff8390: 0c 00 00 00 00 00 00 00 01 00 00 00 01 00 06 00
0x137ff83a0: ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
0x137ff83b0: 00 00
[0x137ff83b8+0xb2]->0xffffffffffffffff (alignment 8, section ID 11, name __apple_types)
0x137ff83b8: 48 53 41 48 01 00 00 00 04 00 00 00 04 00 00 00
0x137ff83c8: 14 00 00 00 00 00 00 00 03 00 00 00 01 00 06 00
0x137ff83d8: 03 00 05 00 04 00 0b 00 00 00 00 00 01 00 00 00
0x137ff83e8: 03 00 00 00 ff ff ff ff 30 80 88 0b bd a2 38 29
0x137ff83f8: f9 70 96 7e 32 78 59 00 58 00 00 00 6b 00 00 00
0x137ff8408: 7e 00 00 00 91 00 00 00 75 00 00 00 01 00 00 00
0x137ff8418: 36 00 00 00 24 00 00 00 00 00 00 79 00 00 00 01
0x137ff8428: 00 00 00 3d 00 00 00 24 00 00 00 00 00 00 88 00
0x137ff8438: 00 00 01 00 00 00 52 00 00 00 13 00 00 00 00 00
0x137ff8448: 00 85 00 00 00 01 00 00 00 44 00 00 00 16 00 00
0x137ff8458: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x137ff8468: 00 00
[0x137ff8470+0x85]->0xffffffffffffffff (alignment 8, section ID 12, name __debug_line)
0x137ff8470: 6b 00 00 00 04 00 2d 00 00 00 01 01 01 fb 0e 0d
0x137ff8480: 00 01 01 01 01 00 00 00 01 00 00 01 00 3c 6c 6c
0x137ff8490: 64 62 20 77 72 61 70 70 65 72 20 70 72 65 66 69
0x137ff84a0: 78 3e 00 00 00 00 00 00 09 02 e0 c4 ee 1c 01 00
0x137ff84b0: 00 00 03 27 01 0a 08 75 06 4a 06 4b 4b 06 f2 06
0x137ff84c0: 4b f3 06 4a 4a 06 4c 4b 08 e3 08 3b 4d 06 4a 06
0x137ff84d0: 4b f3 06 03 4d 4a 06 03 34 4a 02 10 00 01 01 00
0x137ff84e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x137ff84f0: 00 00 00 00 00
Couldn't find llvm.global_ctors.
[ClangASTImporter] Forgetting destination (ASTContext*)0x0000000131246C00
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x0000000131246C00->(ASTContext*)0x0000000134A71600
== [ClangExpressionParser::PrepareForExecution] Finished installing dynamic checkers ==
Instrumenting load/store instruction: store ptr %"$__lldb_arg", ptr %"$__lldb_arg.addr", align 8
Instrumenting load/store instruction: store ptr %t, ptr %1, align 8
Found call to __ubsan_get_current_report_data: call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
Module being sent to JIT:
; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.anon = type { ptr, ptr, ptr, i32, i32, ptr }
@"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global i8 0, align 1
@reloc_placeholder = internal global i8 0
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @"_Z12$__lldb_exprPv"(ptr %"$__lldb_arg") #0 {
entry:
%0 = getelementptr i8, ptr %"$__lldb_arg", i32 0
%1 = bitcast ptr %0 to ptr
%"$__lldb_arg.addr" = alloca ptr, align 8, !clang.decl.ptr !13
%t = alloca %struct.anon, align 8, !clang.decl.ptr !14
%2 = bitcast ptr %"$__lldb_arg.addr" to ptr
call void (ptr, ...) inttoptr (i64 4780377248 to ptr)(ptr %2)
store ptr %"$__lldb_arg", ptr %"$__lldb_arg.addr", align 8
%issue_kind = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 0
%message = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 1
%filename = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 2
%line = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 3
%col = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 4
%memory_addr = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 5
call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
%guard.uninitialized = icmp eq i8 0, 0
br i1 %guard.uninitialized, label %init.check, label %init.end, !prof !15
init.check: ; preds = %entry
%3 = bitcast ptr %1 to ptr
call void (ptr, ...) inttoptr (i64 4780377248 to ptr)(ptr %3)
store ptr %t, ptr %1, align 8
br label %init.end
init.end: ; preds = %init.check, %entry
ret void
}
; Function Attrs: convergent
declare void @__ubsan_get_current_report_data(ptr, ptr, ptr, ptr, ptr, ptr) #1
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #2 = { convergent "no-builtins" }
!clang.global.decl.ptrs = !{!0, !1, !2, !0, !3}
!llvm.module.flags = !{!4, !5, !6, !7, !8, !9, !10, !11}
!llvm.ident = !{!12}
!0 = distinct !{null, i64 5388348104}
!1 = !{ptr @"_Z12$__lldb_exprPv", i64 5387620328}
!2 = !{ptr @__ubsan_get_current_report_data, i64 5387619840}
!3 = distinct !{null, i64 5388348104}
!4 = !{i32 1, !"Objective-C Version", i32 2}
!5 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!6 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!7 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!8 = !{i32 1, !"Objective-C Class Properties", i32 64}
!9 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!10 = !{i32 1, !"wchar_size", i32 4}
!11 = !{i32 7, !"frame-pointer", i32 2}
!12 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!13 = !{i64 5387620104}
!14 = !{i64 5387621576}
!15 = !{!"branch_weights", i32 1, i32 1048575}
IRExecutionUnit::allocateCodeSection(Size=0xab, Alignment=8, SectionID=0) = 0x137ffc000
IRExecutionUnit::allocateDataSection(Size=0x10, Alignment=8, SectionID=1) = 0x1455f8000
IRExecutionUnit::allocateDataSection(Size=0x16, Alignment=8, SectionID=2) = 0x1455f8010
IRMemoryMap::Malloc (183, 0x8, 0x6, eAllocationPolicyProcessOnly) -> 0x11ceec5f0
IRMemoryMap::Malloc (23, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8600
IRMemoryMap::Malloc (31, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8620
IRExecutionUnit::getSymbolAddress(Name="___ubsan_get_current_report_data") = 1068992f8
IRMemoryMap::WriteMemory (0x11ceec5f0, 0x137ffc000, 0x171) went to [0x11ceec5f0..0x11ceec6a7)
IRMemoryMap::WriteMemory (0x11d0f8600, 0x1455f8000, 0x16) went to [0x11d0f8600..0x11d0f8617)
IRMemoryMap::WriteMemory (0x11d0f8620, 0x1455f8010, 0x22) went to [0x11d0f8620..0x11d0f863f)
IRExecutionUnit::GetRemoteAddressForLocal() found 0x137ffc000 in [0x137ffc000..0x137ffc0ab], and returned 0x11ceec5f0 from [0x11ceec5f0..0x11ceec69b].
Code can be run in the target.
Found function, has local address 0x137ffc000 and remote address 0x11ceec5f0
Function's code range is [0x11ceec5f0+0xab]
Function data has contents:
0x11ceec5f0: ff 43 01 d1 f4 4f 03 a9 fd 7b 04 a9 fd 03 01 91
0x11ceec600: f3 03 00 aa 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec610: a0 63 00 d1 00 01 3f d6 b3 83 1e f8 e8 03 00 91
0x11ceec620: 01 21 00 91 e8 03 00 91 02 41 00 91 e8 03 00 91
0x11ceec630: 03 61 00 91 e8 03 00 91 04 71 00 91 e8 03 00 91
0x11ceec640: 05 81 00 91 e0 03 00 91 08 00 00 90 08 41 43 f9
0x11ceec650: 00 01 3f d6 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec660: e0 03 13 aa 00 01 3f d6 e8 03 00 91 68 02 00 f9
0x11ceec670: fd 7b 44 a9 f4 4f 43 a9 ff 43 01 91 c0 03 5f d6
0x11ceec680: f8 92 89 06 01 00 00 00 00 00 00 00 00 00 00 00
0x11ceec690: 00 00 00 00 00 00 00 00 00 00 00
Function disassembly:
0x11ceec5f0: 0xd10143ff unknown sub sp, sp, #0x50
0x11ceec5f4: 0xa9034ff4 unknown stp x20, x19, [sp, #0x30]
0x11ceec5f8: 0xa9047bfd unknown stp x29, x30, [sp, #0x40]
0x11ceec5fc: 0x910103fd unknown add x29, sp, #0x40
0x11ceec600: 0xaa0003f3 unknown mov x19, x0
0x11ceec604: 0xd2989408 unknown mov x8, #0xc4a0
0x11ceec608: 0xf2a39dc8 unknown movk x8, #0x1cee, lsl #16
0x11ceec60c: 0xf2c00028 unknown movk x8, #0x1, lsl #32
0x11ceec610: 0xd10063a0 unknown sub x0, x29, #0x18
0x11ceec614: 0xd63f0100 unknown blr x8
0x11ceec618: 0xf81e83b3 unknown stur x19, [x29, #-0x18]
0x11ceec61c: 0x910003e8 unknown mov x8, sp
0x11ceec620: 0x91002101 unknown add x1, x8, #0x8
0x11ceec624: 0x910003e8 unknown mov x8, sp
0x11ceec628: 0x91004102 unknown add x2, x8, #0x10
0x11ceec62c: 0x910003e8 unknown mov x8, sp
0x11ceec630: 0x91006103 unknown add x3, x8, #0x18
0x11ceec634: 0x910003e8 unknown mov x8, sp
0x11ceec638: 0x91007104 unknown add x4, x8, #0x1c
0x11ceec63c: 0x910003e8 unknown mov x8, sp
0x11ceec640: 0x91008105 unknown add x5, x8, #0x20
0x11ceec644: 0x910003e0 unknown mov x0, sp
0x11ceec648: 0x90000008 unknown adrp x8, 0
0x11ceec64c: 0xf9434108 unknown ldr x8, [x8, #0x680]
0x11ceec650: 0xd63f0100 unknown blr x8
0x11ceec654: 0xd2989408 unknown mov x8, #0xc4a0
0x11ceec658: 0xf2a39dc8 unknown movk x8, #0x1cee, lsl #16
0x11ceec65c: 0xf2c00028 unknown movk x8, #0x1, lsl #32
0x11ceec660: 0xaa1303e0 unknown mov x0, x19
0x11ceec664: 0xd63f0100 unknown blr x8
0x11ceec668: 0x910003e8 unknown mov x8, sp
0x11ceec66c: 0xf9000268 unknown str x8, [x19]
0x11ceec670: 0xa9447bfd unknown ldp x29, x30, [sp, #0x40]
0x11ceec674: 0xa9434ff4 unknown ldp x20, x19, [sp, #0x30]
0x11ceec678: 0x910143ff unknown add sp, sp, #0x50
0x11ceec67c: 0xd65f03c0 unknown ret
0x11ceec680: 0x068992f8 unknown .long 0x068992f8 ; unknown opcode
0x11ceec684: 0x00000001 unknown udf #0x1
0x11ceec688: 0x00000000 unknown udf #0x0
0x11ceec68c: 0x00000000 unknown udf #0x0
0x11ceec690: 0x00000000 unknown udf #0x0
0x11ceec694: 0x00000000 unknown udf #0x0
Sections:
[0x137ffc000+0xab]->0x11ceec5f0 (alignment 8, section ID 0, name __text)
IRMemoryMap::ReadMemory (0x11ceec5f0, 0x60001351c9a0, 0x171) came from [0x11ceec5f0..0x11ceec6a7)
0x11ceec5f0: ff 43 01 d1 f4 4f 03 a9 fd 7b 04 a9 fd 03 01 91
0x11ceec600: f3 03 00 aa 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec610: a0 63 00 d1 00 01 3f d6 b3 83 1e f8 e8 03 00 91
0x11ceec620: 01 21 00 91 e8 03 00 91 02 41 00 91 e8 03 00 91
0x11ceec630: 03 61 00 91 e8 03 00 91 04 71 00 91 e8 03 00 91
0x11ceec640: 05 81 00 91 e0 03 00 91 08 00 00 90 08 41 43 f9
0x11ceec650: 00 01 3f d6 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec660: e0 03 13 aa 00 01 3f d6 e8 03 00 91 68 02 00 f9
0x11ceec670: fd 7b 44 a9 f4 4f 43 a9 ff 43 01 91 c0 03 5f d6
0x11ceec680: f8 92 89 06 01 00 00 00 00 00 00 00 00 00 00 00
0x11ceec690: 00 00 00 00 00 00 00 00 00 00 00
[0x1455f8000+0x10]->0x11d0f8600 (alignment 8, section ID 1, name __bss)
IRMemoryMap::ReadMemory (0x11d0f8600, 0x60000031bd20, 0x16) came from [0x11d0f8600..0x11d0f8617)
0x11d0f8600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[0x1455f8010+0x16]->0x11d0f8620 (alignment 8, section ID 2, name __objc_imageinfo)
IRMemoryMap::ReadMemory (0x11d0f8620, 0x600000bfc8c0, 0x22) came from [0x11d0f8620..0x11d0f863f)
0x11d0f8620: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00
0x11d0f8630: 00 00 00 00 00 00
Couldn't find llvm.global_ctors.
[ClangASTImporter] Forgetting destination (ASTContext*)0x00000001411CB000
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x00000001411CB000->(ASTContext*)0x0000000134A71600
== [UserExpression::Evaluate] Executing expression ==
IRMemoryMap::Malloc process_sp=0x1464ca600, process_sp->CanJIT()=true, process_sp->IsAlive()=true
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x11d0f8640
Materializer::Materialize (frame_sp = 0x1457f0198, process_address = 0x11d0f8640) materialized:
IRMemoryMap::ReadMemory (0x11d0f8640, 0x6000003678c0, 0x8) came from [0x11d0f8640..0x11d0f864f)
0x11d0f8640: EntityResultVariable
Pointer:
0x11d0f8640: 00 00 00 00 00 00 00 00
Points to process memory:
ABIMacOSX_arm64::PrepareTrivialCall (tid = 0x247096, sp = 0x16fb8eef0, func_addr = 0x11ceec5f0, return_addr = 0x10026d6ec, arg1 = 0x11d0f8640)
About to write arg1 (0x11d0f8640) into x0
-- [UserExpression::Execute] Execution of expression begins --
-- [UserExpression::Execute] Execution of expression completed --
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution --
Materializer::Dematerialize (frame_sp = 0x1255b8358, process_address = 0x11d0f8640) about to dematerialize:
IRMemoryMap::ReadMemory (0x11d0f8640, 0x60000031c450, 0x8) came from [0x11d0f8640..0x11d0f864f)
0x11d0f8640: EntityResultVariable
Pointer:
0x11d0f8640: a0 ee b8 6f 01 00 00 00
Points to process memory:
IRMemoryMap::ReadMemory (0x11d0f8640, 0x6000003678c0, 0x8) came from [0x11d0f8640..0x11d0f864f)
LayoutRecordType on (ASTContext*)0x0000000134A71600 'scratch ASTContext' for (RecordDecl*)0x0000000134A7AF18 [name = '']
TypeSystemSwiftTypeRefForExpressions::TypeSystemSwiftTypeRefForExpressions()
returned project-wide scratch context
== [UserExpression::Evaluate] Execution completed normally with result ==
IRMemoryMap::Free (0x11ceec5f0) freed [0x11ceec5f0..0x11ceec6a7)
IRMemoryMap::Free (0x11d0f8600) freed [0x11d0f8600..0x11d0f8617)
IRMemoryMap::Free (0x11d0f8620) freed [0x11d0f8620..0x11d0f863f)
IRMemoryMap::Free (0x11d0f8640) freed [0x11d0f8640..0x11d0f864f)
returned project-wide scratch context
LayoutRecordType on (ASTContext*)0x0000000134A71600 'scratch ASTContext' for (RecordDecl*)0x0000000141277030 [name = '__lldb_dispatch_tsd_indexes_s']
== [UserExpression::Evaluate] Parsing expression
struct {
const char *issue_kind;
const char *message;
const char *filename;
unsigned line;
unsigned col;
char *memory_addr;
} t;
__ubsan_get_current_report_data(&t.issue_kind, &t.message, &t.filename, &t.line,
&t.col, &t.memory_addr);
t;
==
ClangUserExpression::ScanContext()
[CUE::SC] Null function
Parsing the following code:
#line 1 "<lldb wrapper prefix>"
#ifndef offsetof
#define offsetof(t, d) __builtin_offsetof(t, d)
#endif
#ifndef NULL
#define NULL (__null)
#endif
#ifndef Nil
#define Nil (__null)
#endif
#ifndef nil
#define nil (__null)
#endif
#ifndef YES
#define YES ((BOOL)1)
#endif
#ifndef NO
#define NO ((BOOL)0)
#endif
typedef __INT8_TYPE__ int8_t;
typedef __UINT8_TYPE__ uint8_t;
typedef __INT16_TYPE__ int16_t;
typedef __UINT16_TYPE__ uint16_t;
typedef __INT32_TYPE__ int32_t;
typedef __UINT32_TYPE__ uint32_t;
typedef __INT64_TYPE__ int64_t;
typedef __UINT64_TYPE__ uint64_t;
typedef __INTPTR_TYPE__ intptr_t;
typedef __UINTPTR_TYPE__ uintptr_t;
typedef __SIZE_TYPE__ size_t;
typedef __PTRDIFF_TYPE__ ptrdiff_t;
typedef unsigned short unichar;
extern "C"
{
int printf(const char * __restrict, ...);
}
typedef bool BOOL;
extern "C" {
void
__ubsan_get_current_report_data(const char **OutIssueKind,
const char **OutMessage, const char **OutFilename, unsigned *OutLine,
unsigned *OutCol, char **OutMemoryAddr);
}
void
$__lldb_expr(void *$__lldb_arg)
{
;
#line 1 "<user expression 1>"
struct {
const char *issue_kind;
const char *message;
const char *filename;
unsigned line;
unsigned col;
char *memory_addr;
} t;
__ubsan_get_current_report_data(&t.issue_kind, &t.message, &t.filename, &t.line,
&t.col, &t.memory_addr);
t;
;
#line 1 "<lldb wrapper suffix>"
}
Frame has language of type objective-c++
Using arm64-apple-macosx11.0.0 as the target triple
Using SIMD alignment: 0
Target datalayout string: 'e-m:o-i64:64-i128:128-n32:64-S128'
Target ABI: 'aapcs'
Target vector alignment: 128
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x0000000127CF2800 'Expression ASTContext for '<user expression 1>'' for '$__lldb_arg' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x0000000127CF2800 'Expression ASTContext for '<user expression 1>'' for '$__lldb_expr' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
ClangExpressionDeclMap::FindExternalVisibleDecls for 't' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x0000000127CF2800 'Expression ASTContext for '<user expression 1>'' for 't' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
AppleObjCDeclVendor::FindDecls ('t', false, 1, )
AOCTV::FT Couldn't find t in the ASTContext
== [FunctionCaller::ExecuteFunction] Executing function "__lldb_apple_objc_v2_get_dynamic_class_info3-caller" ==
-- [FunctionCaller::GetThreadPlanToCallFunction] Creating thread plan to call function "__lldb_apple_objc_v2_get_dynamic_class_info3-caller" --
ABIMacOSX_arm64::PrepareTrivialCall (tid = 0x247096, sp = 0x16fb8eef0, func_addr = 0x11ceec3a0, return_addr = 0x10026d6ec, arg1 = 0x11d0f80e0)
About to write arg1 (0x11d0f80e0) into x0
== [FunctionCaller::ExecuteFunction] Execution of "__lldb_apple_objc_v2_get_dynamic_class_info3-caller" completed normally ==
-- [FunctionCaller::FetchFunctionResults] Fetching function results for "__lldb_apple_objc_v2_get_dynamic_class_info3-caller"--
Discovered 2380 Objective-C classes
AOCTV::FT Couldn't find the isa
LayoutRecordType on (ASTContext*)0x0000000127CF2800 'Expression ASTContext for '<user expression 1>'' for (RecordDecl*)0x0000000127D300B8 [name = '']
Last statement is an lvalue with type: struct (unnamed struct at <user expression 1>:2:1)
Found function _Z12$__lldb_exprPv for $__lldb_expr
DoPrepareForExecution - Current expression language is objective-c++
Module as passed in to IRForTarget:
"; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.anon = type { ptr, ptr, ptr, i32, i32, ptr }
@"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global ptr null, align 8
@"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global i8 0, align 1
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @"_Z12$__lldb_exprPv"(ptr %"$__lldb_arg") #0 {
entry:
%"$__lldb_arg.addr" = alloca ptr, align 8, !clang.decl.ptr !12
%t = alloca %struct.anon, align 8, !clang.decl.ptr !13
store ptr %"$__lldb_arg", ptr %"$__lldb_arg.addr", align 8
%issue_kind = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 0
%message = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 1
%filename = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 2
%line = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 3
%col = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 4
%memory_addr = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 5
call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
%0 = load i8, ptr @"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", align 1
%guard.uninitialized = icmp eq i8 %0, 0
br i1 %guard.uninitialized, label %init.check, label %init.end, !prof !14
init.check: ; preds = %entry
store ptr %t, ptr @"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", align 8
store i8 1, ptr @"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", align 1
br label %init.end
init.end: ; preds = %init.check, %entry
ret void
}
; Function Attrs: convergent
declare void @__ubsan_get_current_report_data(ptr, ptr, ptr, ptr, ptr, ptr) #1
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #2 = { convergent "no-builtins" }
!clang.global.decl.ptrs = !{!0, !1, !2, !0}
!llvm.module.flags = !{!3, !4, !5, !6, !7, !8, !9, !10}
!llvm.ident = !{!11}
!0 = !{ptr @"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", i64 5181190856}
!1 = !{ptr @"_Z12$__lldb_exprPv", i64 4963106792}
!2 = !{ptr @__ubsan_get_current_report_data, i64 4963106304}
!3 = !{i32 1, !"Objective-C Version", i32 2}
!4 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!5 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!6 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!7 = !{i32 1, !"Objective-C Class Properties", i32 64}
!8 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!9 = !{i32 1, !"wchar_size", i32 4}
!10 = !{i32 7, !"frame-pointer", i32 2}
!11 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!12 = !{i64 4963106568}
!13 = !{i64 4963108040}
!14 = !{!"branch_weights", i32 1, i32 1048575}
"
Result name: "_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr"
Found result in the IR: "@"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global ptr null, align 8"
Found result decl: "static struct (unnamed struct at <user expression 1>:2:1) *$__lldb_expr_result_ptr&t"
Result decl type: "struct {
const char *issue_kind;
const char *message;
const char *filename;
unsigned int line;
unsigned int col;
char *memory_addr;
}"
Creating a new result global: "$RESULT_NAME" with size 40
Replacing "@"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global ptr null, align 8" with "@"$RESULT_NAME" = external global ptr"
[ClangASTImporter] DeportType called on ((unnamed struct at <user expression 1>:2:1)Type*)0x0000000127D30470 from (ASTContext*)0x0000000127CF2800 to (ASTContext*)0x0000000134A71600
[ClangASTImporter] Imported (CXXRecordDecl*)0x00000001412773B0, named (unnamed struct at <user expression 1>:2:1) (from (Decl*)0x0000000127D300B8), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000127CF2800
[ClangASTImporter] To is a TagDecl - attributes Lexical [complete->complete]
[ClangASTImporter] Imported (FieldDecl*)0x0000000141277548, named issue_kind (from (Decl*)0x0000000127D30200), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000127CF2800
FindExternalLexicalDecls on (ASTContext*)0x0000000134A71600 'scratch ASTContext' in '' (CXXRecordDecl*)0x00000001412773B0
FELD Original decl 0x0000000127CF2800 (Decl*)0x0000000127d300b8:
CXXRecordDecl 0x127d300b8 <<user expression 1>:2:1, line:9:1> line:2:1 struct definition
|-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable pod trivial literal
| |-DefaultConstructor exists trivial
| |-CopyConstructor simple trivial has_const_param implicit_has_const_param
| |-MoveConstructor exists simple trivial
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveAssignment exists simple trivial needs_implicit
| `-Destructor simple irrelevant trivial needs_implicit
|-FieldDecl 0x127d30200 <line:3:3, col:15> col:15 referenced issue_kind 'const char *'
|-FieldDecl 0x127d30268 <line:4:3, col:15> col:15 referenced message 'const char *'
|-FieldDecl 0x127d302d0 <line:5:3, col:15> col:15 referenced filename 'const char *'
|-FieldDecl 0x127d30338 <line:6:3, col:12> col:12 referenced line 'unsigned int'
|-FieldDecl 0x127d303a0 <line:7:3, col:12> col:12 referenced col 'unsigned int'
|-FieldDecl 0x127d30408 <line:8:3, col:9> col:9 referenced memory_addr 'char *'
|-CXXConstructorDecl 0x127d30548 <line:2:1> col:1 implicit used (unnamed struct at <user expression 1>:2:1) 'void () noexcept' inline default trivial
| `-CompoundStmt 0x127d30a38 <col:1>
|-CXXConstructorDecl 0x127d30688 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 1>:2:1) 'void (const (unnamed struct at <user expression 1>:2:1) &)' inline default trivial noexcept-unevaluated 0x127d30688
| `-ParmVarDecl 0x127d307a8 <col:1> col:1 'const (unnamed struct at <user expression 1>:2:1) &'
`-CXXConstructorDecl 0x127d30858 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 1>:2:1) 'void ((unnamed struct at <user expression 1>:2:1) &&)' inline default trivial noexcept-unevaluated 0x127d30858
`-ParmVarDecl 0x127d30978 <col:1> col:1 '(unnamed struct at <user expression 1>:2:1) &&'
CompleteTagDecl on (ASTContext*)Expression ASTContext for '<user expression 1>' Completing (TagDecl*)0x0000000127D300B8 named
CTD Before:
CXXRecordDecl 0x127d300b8 <<user expression 1>:2:1, line:9:1> line:2:1 struct definition
|-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable pod trivial literal
| |-DefaultConstructor exists trivial
| |-CopyConstructor simple trivial has_const_param implicit_has_const_param
| |-MoveConstructor exists simple trivial
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveAssignment exists simple trivial needs_implicit
| `-Destructor simple irrelevant trivial needs_implicit
|-FieldDecl 0x127d30200 <line:3:3, col:15> col:15 referenced issue_kind 'const char *'
|-FieldDecl 0x127d30268 <line:4:3, col:15> col:15 referenced message 'const char *'
|-FieldDecl 0x127d302d0 <line:5:3, col:15> col:15 referenced filename 'const char *'
|-FieldDecl 0x127d30338 <line:6:3, col:12> col:12 referenced line 'unsigned int'
|-FieldDecl 0x127d303a0 <line:7:3, col:12> col:12 referenced col 'unsigned int'
|-FieldDecl 0x127d30408 <line:8:3, col:9> col:9 referenced memory_addr 'char *'
|-CXXConstructorDecl 0x127d30548 <line:2:1> col:1 implicit used (unnamed struct at <user expression 1>:2:1) 'void () noexcept' inline default trivial
| `-CompoundStmt 0x127d30a38 <col:1>
|-CXXConstructorDecl 0x127d30688 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 1>:2:1) 'void (const (unnamed struct at <user expression 1>:2:1) &)' inline default trivial noexcept-unevaluated 0x127d30688
| `-ParmVarDecl 0x127d307a8 <col:1> col:1 'const (unnamed struct at <user expression 1>:2:1) &'
`-CXXConstructorDecl 0x127d30858 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 1>:2:1) 'void ((unnamed struct at <user expression 1>:2:1) &&)' inline default trivial noexcept-unevaluated 0x127d30858
`-ParmVarDecl 0x127d30978 <col:1> col:1 '(unnamed struct at <user expression 1>:2:1) &&'
[CTD] After:
CXXRecordDecl 0x127d300b8 <<user expression 1>:2:1, line:9:1> line:2:1 struct definition
|-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable pod trivial literal
| |-DefaultConstructor exists trivial
| |-CopyConstructor simple trivial has_const_param implicit_has_const_param
| |-MoveConstructor exists simple trivial
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveAssignment exists simple trivial needs_implicit
| `-Destructor simple irrelevant trivial needs_implicit
|-FieldDecl 0x127d30200 <line:3:3, col:15> col:15 referenced issue_kind 'const char *'
|-FieldDecl 0x127d30268 <line:4:3, col:15> col:15 referenced message 'const char *'
|-FieldDecl 0x127d302d0 <line:5:3, col:15> col:15 referenced filename 'const char *'
|-FieldDecl 0x127d30338 <line:6:3, col:12> col:12 referenced line 'unsigned int'
|-FieldDecl 0x127d303a0 <line:7:3, col:12> col:12 referenced col 'unsigned int'
|-FieldDecl 0x127d30408 <line:8:3, col:9> col:9 referenced memory_addr 'char *'
|-CXXConstructorDecl 0x127d30548 <line:2:1> col:1 implicit used (unnamed struct at <user expression 1>:2:1) 'void () noexcept' inline default trivial
| `-CompoundStmt 0x127d30a38 <col:1>
|-CXXConstructorDecl 0x127d30688 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 1>:2:1) 'void (const (unnamed struct at <user expression 1>:2:1) &)' inline default trivial noexcept-unevaluated 0x127d30688
| `-ParmVarDecl 0x127d307a8 <col:1> col:1 'const (unnamed struct at <user expression 1>:2:1) &'
`-CXXConstructorDecl 0x127d30858 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 1>:2:1) 'void ((unnamed struct at <user expression 1>:2:1) &&)' inline default trivial noexcept-unevaluated 0x127d30858
`-ParmVarDecl 0x127d30978 <col:1> col:1 '(unnamed struct at <user expression 1>:2:1) &&'
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x127d30200 <<user expression 1>:3:3, col:15> col:15 referenced issue_kind 'const char *'
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x127d30268 <<user expression 1>:4:3, col:15> col:15 referenced message 'const char *'
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x127d302d0 <<user expression 1>:5:3, col:15> col:15 referenced filename 'const char *'
[ClangASTImporter] Imported (FieldDecl*)0x0000000134D38078, named filename (from (Decl*)0x0000000127D302D0), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000127CF2800
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x127d30338 <<user expression 1>:6:3, col:12> col:12 referenced line 'unsigned int'
[ClangASTImporter] Imported (FieldDecl*)0x0000000134D380E8, named line (from (Decl*)0x0000000127D30338), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000127CF2800
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x127d303a0 <<user expression 1>:7:3, col:12> col:12 referenced col 'unsigned int'
[ClangASTImporter] Imported (FieldDecl*)0x0000000134D38158, named col (from (Decl*)0x0000000127D303A0), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000127CF2800
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x127d30408 <<user expression 1>:8:3, col:9> col:9 referenced memory_addr 'char *'
[ClangASTImporter] Imported (FieldDecl*)0x0000000134D381C8, named memory_addr (from (Decl*)0x0000000127D30408), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000127CF2800
FELD Adding [to CXXRecordDecl ] lexical CXXConstructorDecl CXXConstructorDecl 0x127d30548 <<user expression 1>:2:1> col:1 implicit used (unnamed struct at <user expression 1>:2:1) 'void () noexcept' inline default trivial
`-CompoundStmt 0x127d30a38 <col:1>
[ClangASTImporter] Imported (CXXConstructorDecl*)0x0000000134D38260, named (unnamed struct at <user expression 1>:2:1) (from (Decl*)0x0000000127D30548), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000127CF2800
FELD Adding [to CXXRecordDecl ] lexical CXXConstructorDecl CXXConstructorDecl 0x127d30688 <<user expression 1>:2:1> col:1 implicit constexpr (unnamed struct at <user expression 1>:2:1) 'void (const (unnamed struct at <user expression 1>:2:1) &)' inline default trivial noexcept-unevaluated 0x127d30688
`-ParmVarDecl 0x127d307a8 <col:1> col:1 'const (unnamed struct at <user expression 1>:2:1) &'
[ClangASTImporter] Imported (ParmVarDecl*)0x0000000134D383B0, named (from (Decl*)0x0000000127D307A8), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000127CF2800
[ClangASTImporter] Imported (CXXConstructorDecl*)0x0000000134D38420, named (unnamed struct at <user expression 1>:2:1) (from (Decl*)0x0000000127D30688), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000127CF2800
FELD Adding [to CXXRecordDecl ] lexical CXXConstructorDecl CXXConstructorDecl 0x127d30858 <<user expression 1>:2:1> col:1 implicit constexpr (unnamed struct at <user expression 1>:2:1) 'void ((unnamed struct at <user expression 1>:2:1) &&)' inline default trivial noexcept-unevaluated 0x127d30858
`-ParmVarDecl 0x127d30978 <col:1> col:1 '(unnamed struct at <user expression 1>:2:1) &&'
[ClangASTImporter] Imported (ParmVarDecl*)0x0000000134D385C0, named (from (Decl*)0x0000000127D30978), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000127CF2800
[ClangASTImporter] Imported (CXXConstructorDecl*)0x0000000134D38630, named (unnamed struct at <user expression 1>:2:1) (from (Decl*)0x0000000127D30858), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000127CF2800
[ClangASTImporter] Imported (FieldDecl*)0x0000000134D38008, named message (from (Decl*)0x0000000127D30268), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000127CF2800
MaybeHandleCallArguments( call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2)
MaybeHandleVariable ( %issue_kind = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 0)
MaybeHandleVariable ( %message = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 1)
MaybeHandleVariable ( %filename = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 2)
MaybeHandleVariable ( %line = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 3)
MaybeHandleVariable ( %col = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 4)
MaybeHandleVariable ( %memory_addr = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 5)
Examining _ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr, DeclForGlobalValue returns 0x0000000000000000
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000
Examining $RESULT_NAME, DeclForGlobalValue returns 0x0000000134D2B2C8
MaybeHandleVariable (@"$RESULT_NAME" = external global ptr)
Type of "$__lldb_expr_result_ptr" is [clang "struct (unnamed struct at <user expression 1>:2:1) **", llvm "ptr"] [size 8, align 8]
Adding value for (NamedDecl*)0x0000000134D2B2C8 [$__lldb_expr_result_ptr - $RESULT_NAME] to the structure
Already placed at 0x0
Placed at 0x0
Element arrangement:
Arg: "ptr %"$__lldb_arg""
"$RESULT_NAME" ("$__lldb_expr_result_ptr") placed at 0
Replacing [@"$RESULT_NAME" = external global ptr]
Total structure [align 8, size 8]
Saw function with body: _Z12$__lldb_exprPv
Unsupported instruction: call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
Instrumenting load/store instruction: store ptr %"$__lldb_arg", ptr %"$__lldb_arg.addr", align 8
Instrumenting load/store instruction: store ptr %t, ptr %1, align 8
Found call to __ubsan_get_current_report_data: call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
Module being sent to JIT:
; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.anon = type { ptr, ptr, ptr, i32, i32, ptr }
@"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global i8 0, align 1
@reloc_placeholder = internal global i8 0
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @"_Z12$__lldb_exprPv"(ptr %"$__lldb_arg") #0 {
entry:
%0 = getelementptr i8, ptr %"$__lldb_arg", i32 0
%1 = bitcast ptr %0 to ptr
%"$__lldb_arg.addr" = alloca ptr, align 8, !clang.decl.ptr !13
%t = alloca %struct.anon, align 8, !clang.decl.ptr !14
%2 = bitcast ptr %"$__lldb_arg.addr" to ptr
call void (ptr, ...) inttoptr (i64 4780377248 to ptr)(ptr %2)
store ptr %"$__lldb_arg", ptr %"$__lldb_arg.addr", align 8
%issue_kind = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 0
%message = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 1
%filename = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 2
%line = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 3
%col = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 4
%memory_addr = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 5
call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
%guard.uninitialized = icmp eq i8 0, 0
br i1 %guard.uninitialized, label %init.check, label %init.end, !prof !15
init.check: ; preds = %entry
%3 = bitcast ptr %1 to ptr
call void (ptr, ...) inttoptr (i64 4780377248 to ptr)(ptr %3)
store ptr %t, ptr %1, align 8
br label %init.end
init.end: ; preds = %init.check, %entry
ret void
}
; Function Attrs: convergent
declare void @__ubsan_get_current_report_data(ptr, ptr, ptr, ptr, ptr, ptr) #1
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #2 = { convergent "no-builtins" }
!clang.global.decl.ptrs = !{!0, !1, !2, !0, !3}
!llvm.module.flags = !{!4, !5, !6, !7, !8, !9, !10, !11}
!llvm.ident = !{!12}
!0 = distinct !{null, i64 5181190856}
!1 = !{ptr @"_Z12$__lldb_exprPv", i64 4963106792}
!2 = !{ptr @__ubsan_get_current_report_data, i64 4963106304}
!3 = distinct !{null, i64 5181190856}
!4 = !{i32 1, !"Objective-C Version", i32 2}
!5 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!6 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!7 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!8 = !{i32 1, !"Objective-C Class Properties", i32 64}
!9 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!10 = !{i32 1, !"wchar_size", i32 4}
!11 = !{i32 7, !"frame-pointer", i32 2}
!12 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!13 = !{i64 4963106568}
!14 = !{i64 4963108040}
!15 = !{!"branch_weights", i32 1, i32 1048575}
IRExecutionUnit::allocateCodeSection(Size=0xab, Alignment=8, SectionID=0) = 0x137ffc000
IRExecutionUnit::allocateDataSection(Size=0x10, Alignment=8, SectionID=1) = 0x1455f8000
IRExecutionUnit::allocateDataSection(Size=0x16, Alignment=8, SectionID=2) = 0x1455f8010
IRMemoryMap::Malloc (183, 0x8, 0x6, eAllocationPolicyProcessOnly) -> 0x11ceec5f0
IRMemoryMap::Malloc (23, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8600
IRMemoryMap::Malloc (31, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8620
IRExecutionUnit::getSymbolAddress(Name="___ubsan_get_current_report_data") = 1068992f8
IRMemoryMap::WriteMemory (0x11ceec5f0, 0x137ffc000, 0x171) went to [0x11ceec5f0..0x11ceec6a7)
IRMemoryMap::WriteMemory (0x11d0f8600, 0x1455f8000, 0x16) went to [0x11d0f8600..0x11d0f8617)
IRMemoryMap::WriteMemory (0x11d0f8620, 0x1455f8010, 0x22) went to [0x11d0f8620..0x11d0f863f)
IRExecutionUnit::GetRemoteAddressForLocal() found 0x137ffc000 in [0x137ffc000..0x137ffc0ab], and returned 0x11ceec5f0 from [0x11ceec5f0..0x11ceec69b].
Code can be run in the target.
Found function, has local address 0x137ffc000 and remote address 0x11ceec5f0
Function's code range is [0x11ceec5f0+0xab]
Function data has contents:
0x11ceec5f0: ff 43 01 d1 f4 4f 03 a9 fd 7b 04 a9 fd 03 01 91
0x11ceec600: f3 03 00 aa 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec610: a0 63 00 d1 00 01 3f d6 b3 83 1e f8 e8 03 00 91
0x11ceec620: 01 21 00 91 e8 03 00 91 02 41 00 91 e8 03 00 91
0x11ceec630: 03 61 00 91 e8 03 00 91 04 71 00 91 e8 03 00 91
0x11ceec640: 05 81 00 91 e0 03 00 91 08 00 00 90 08 41 43 f9
0x11ceec650: 00 01 3f d6 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec660: e0 03 13 aa 00 01 3f d6 e8 03 00 91 68 02 00 f9
0x11ceec670: fd 7b 44 a9 f4 4f 43 a9 ff 43 01 91 c0 03 5f d6
0x11ceec680: f8 92 89 06 01 00 00 00 00 00 00 00 00 00 00 00
0x11ceec690: 00 00 00 00 00 00 00 00 00 00 00
Function disassembly:
0x11ceec5f0: 0xd10143ff unknown sub sp, sp, #0x50
0x11ceec5f4: 0xa9034ff4 unknown stp x20, x19, [sp, #0x30]
0x11ceec5f8: 0xa9047bfd unknown stp x29, x30, [sp, #0x40]
0x11ceec5fc: 0x910103fd unknown add x29, sp, #0x40
0x11ceec600: 0xaa0003f3 unknown mov x19, x0
0x11ceec604: 0xd2989408 unknown mov x8, #0xc4a0
0x11ceec608: 0xf2a39dc8 unknown movk x8, #0x1cee, lsl #16
0x11ceec60c: 0xf2c00028 unknown movk x8, #0x1, lsl #32
0x11ceec610: 0xd10063a0 unknown sub x0, x29, #0x18
0x11ceec614: 0xd63f0100 unknown blr x8
0x11ceec618: 0xf81e83b3 unknown stur x19, [x29, #-0x18]
0x11ceec61c: 0x910003e8 unknown mov x8, sp
0x11ceec620: 0x91002101 unknown add x1, x8, #0x8
0x11ceec624: 0x910003e8 unknown mov x8, sp
0x11ceec628: 0x91004102 unknown add x2, x8, #0x10
0x11ceec62c: 0x910003e8 unknown mov x8, sp
0x11ceec630: 0x91006103 unknown add x3, x8, #0x18
0x11ceec634: 0x910003e8 unknown mov x8, sp
0x11ceec638: 0x91007104 unknown add x4, x8, #0x1c
0x11ceec63c: 0x910003e8 unknown mov x8, sp
0x11ceec640: 0x91008105 unknown add x5, x8, #0x20
0x11ceec644: 0x910003e0 unknown mov x0, sp
0x11ceec648: 0x90000008 unknown adrp x8, 0
0x11ceec64c: 0xf9434108 unknown ldr x8, [x8, #0x680]
0x11ceec650: 0xd63f0100 unknown blr x8
0x11ceec654: 0xd2989408 unknown mov x8, #0xc4a0
0x11ceec658: 0xf2a39dc8 unknown movk x8, #0x1cee, lsl #16
0x11ceec65c: 0xf2c00028 unknown movk x8, #0x1, lsl #32
0x11ceec660: 0xaa1303e0 unknown mov x0, x19
0x11ceec664: 0xd63f0100 unknown blr x8
0x11ceec668: 0x910003e8 unknown mov x8, sp
0x11ceec66c: 0xf9000268 unknown str x8, [x19]
0x11ceec670: 0xa9447bfd unknown ldp x29, x30, [sp, #0x40]
0x11ceec674: 0xa9434ff4 unknown ldp x20, x19, [sp, #0x30]
0x11ceec678: 0x910143ff unknown add sp, sp, #0x50
0x11ceec67c: 0xd65f03c0 unknown ret
0x11ceec680: 0x068992f8 unknown .long 0x068992f8 ; unknown opcode
0x11ceec684: 0x00000001 unknown udf #0x1
0x11ceec688: 0x00000000 unknown udf #0x0
0x11ceec68c: 0x00000000 unknown udf #0x0
0x11ceec690: 0x00000000 unknown udf #0x0
0x11ceec694: 0x00000000 unknown udf #0x0
Sections:
[0x137ffc000+0xab]->0x11ceec5f0 (alignment 8, section ID 0, name __text)
IRMemoryMap::ReadMemory (0x11ceec5f0, 0x60001351cb00, 0x171) came from [0x11ceec5f0..0x11ceec6a7)
0x11ceec5f0: ff 43 01 d1 f4 4f 03 a9 fd 7b 04 a9 fd 03 01 91
0x11ceec600: f3 03 00 aa 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec610: a0 63 00 d1 00 01 3f d6 b3 83 1e f8 e8 03 00 91
0x11ceec620: 01 21 00 91 e8 03 00 91 02 41 00 91 e8 03 00 91
0x11ceec630: 03 61 00 91 e8 03 00 91 04 71 00 91 e8 03 00 91
0x11ceec640: 05 81 00 91 e0 03 00 91 08 00 00 90 08 41 43 f9
0x11ceec650: 00 01 3f d6 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec660: e0 03 13 aa 00 01 3f d6 e8 03 00 91 68 02 00 f9
0x11ceec670: fd 7b 44 a9 f4 4f 43 a9 ff 43 01 91 c0 03 5f d6
0x11ceec680: f8 92 89 06 01 00 00 00 00 00 00 00 00 00 00 00
0x11ceec690: 00 00 00 00 00 00 00 00 00 00 00
[0x1455f8000+0x10]->0x11d0f8600 (alignment 8, section ID 1, name __bss)
IRMemoryMap::ReadMemory (0x11d0f8600, 0x60000031ba90, 0x16) came from [0x11d0f8600..0x11d0f8617)
0x11d0f8600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[0x1455f8010+0x16]->0x11d0f8620 (alignment 8, section ID 2, name __objc_imageinfo)
IRMemoryMap::ReadMemory (0x11d0f8620, 0x6000005b1f80, 0x22) came from [0x11d0f8620..0x11d0f863f)
0x11d0f8620: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00
0x11d0f8630: 00 00 00 00 00 00
Couldn't find llvm.global_ctors.
[ClangASTImporter] Forgetting destination (ASTContext*)0x0000000127CF2800
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x0000000127CF2800->(ASTContext*)0x0000000134A71600
== [UserExpression::Evaluate] Executing expression ==
IRMemoryMap::Malloc process_sp=0x1464ca600, process_sp->CanJIT()=true, process_sp->IsAlive()=true
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x11d0f8640
Materializer::Materialize (frame_sp = 0x1468e92f8, process_address = 0x11d0f8640) materialized:
IRMemoryMap::ReadMemory (0x11d0f8640, 0x60000031c6d0, 0x8) came from [0x11d0f8640..0x11d0f864f)
0x11d0f8640: EntityResultVariable
Pointer:
0x11d0f8640: a0 ee b8 6f 01 00 00 00
Points to process memory:
ABIMacOSX_arm64::PrepareTrivialCall (tid = 0x247096, sp = 0x16fb8eef0, func_addr = 0x11ceec5f0, return_addr = 0x10026d6ec, arg1 = 0x11d0f8640)
About to write arg1 (0x11d0f8640) into x0
-- [UserExpression::Execute] Execution of expression begins --
-- [UserExpression::Execute] Execution of expression completed --
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution --
Materializer::Dematerialize (frame_sp = 0x1255e85f8, process_address = 0x11d0f8640) about to dematerialize:
IRMemoryMap::ReadMemory (0x11d0f8640, 0x600000367370, 0x8) came from [0x11d0f8640..0x11d0f864f)
0x11d0f8640: EntityResultVariable
Pointer:
0x11d0f8640: a0 ee b8 6f 01 00 00 00
Points to process memory:
IRMemoryMap::ReadMemory (0x11d0f8640, 0x600000367370, 0x8) came from [0x11d0f8640..0x11d0f864f)
LayoutRecordType on (ASTContext*)0x0000000134A71600 'scratch ASTContext' for (RecordDecl*)0x00000001412773B0 [name = '']
returned project-wide scratch context
== [UserExpression::Evaluate] Execution completed normally with result ==
IRMemoryMap::Free (0x11ceec5f0) freed [0x11ceec5f0..0x11ceec6a7)
IRMemoryMap::Free (0x11d0f8600) freed [0x11d0f8600..0x11d0f8617)
IRMemoryMap::Free (0x11d0f8620) freed [0x11d0f8620..0x11d0f863f)
IRMemoryMap::Free (0x11d0f8640) freed [0x11d0f8640..0x11d0f864f)
== [UserExpression::Evaluate] Parsing expression
struct {
const char *issue_kind;
const char *message;
const char *filename;
unsigned line;
unsigned col;
char *memory_addr;
} t;
__ubsan_get_current_report_data(&t.issue_kind, &t.message, &t.filename, &t.line,
&t.col, &t.memory_addr);
t;
==
ClangUserExpression::ScanContext()
[CUE::SC] Null function
Parsing the following code:
#line 1 "<lldb wrapper prefix>"
#ifndef offsetof
#define offsetof(t, d) __builtin_offsetof(t, d)
#endif
#ifndef NULL
#define NULL (__null)
#endif
#ifndef Nil
#define Nil (__null)
#endif
#ifndef nil
#define nil (__null)
#endif
#ifndef YES
#define YES ((BOOL)1)
#endif
#ifndef NO
#define NO ((BOOL)0)
#endif
typedef __INT8_TYPE__ int8_t;
typedef __UINT8_TYPE__ uint8_t;
typedef __INT16_TYPE__ int16_t;
typedef __UINT16_TYPE__ uint16_t;
typedef __INT32_TYPE__ int32_t;
typedef __UINT32_TYPE__ uint32_t;
typedef __INT64_TYPE__ int64_t;
typedef __UINT64_TYPE__ uint64_t;
typedef __INTPTR_TYPE__ intptr_t;
typedef __UINTPTR_TYPE__ uintptr_t;
typedef __SIZE_TYPE__ size_t;
typedef __PTRDIFF_TYPE__ ptrdiff_t;
typedef unsigned short unichar;
extern "C"
{
int printf(const char * __restrict, ...);
}
typedef bool BOOL;
extern "C" {
void
__ubsan_get_current_report_data(const char **OutIssueKind,
const char **OutMessage, const char **OutFilename, unsigned *OutLine,
unsigned *OutCol, char **OutMemoryAddr);
}
void
$__lldb_expr(void *$__lldb_arg)
{
;
#line 1 "<user expression 2>"
struct {
const char *issue_kind;
const char *message;
const char *filename;
unsigned line;
unsigned col;
char *memory_addr;
} t;
__ubsan_get_current_report_data(&t.issue_kind, &t.message, &t.filename, &t.line,
&t.col, &t.memory_addr);
t;
;
#line 1 "<lldb wrapper suffix>"
}
Frame has language of type objective-c++
Using arm64-apple-macosx11.0.0 as the target triple
Using SIMD alignment: 0
Target datalayout string: 'e-m:o-i64:64-i128:128-n32:64-S128'
Target ABI: 'aapcs'
Target vector alignment: 128
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x0000000134D13000 'Expression ASTContext for '<user expression 2>'' for '$__lldb_arg' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x0000000134D13000 'Expression ASTContext for '<user expression 2>'' for '$__lldb_expr' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
ClangExpressionDeclMap::FindExternalVisibleDecls for 't' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x0000000134D13000 'Expression ASTContext for '<user expression 2>'' for 't' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
AppleObjCDeclVendor::FindDecls ('t', false, 1, )
AOCTV::FT Couldn't find t in the ASTContext
objc_debug_realized_class_generation_count changed from 4430 to 4956
== [FunctionCaller::ExecuteFunction] Executing function "__lldb_apple_objc_v2_get_dynamic_class_info3-caller" ==
-- [FunctionCaller::GetThreadPlanToCallFunction] Creating thread plan to call function "__lldb_apple_objc_v2_get_dynamic_class_info3-caller" --
ABIMacOSX_arm64::PrepareTrivialCall (tid = 0x247096, sp = 0x16fb8f230, func_addr = 0x11ceec3a0, return_addr = 0x10026d6ec, arg1 = 0x11d0f80e0)
About to write arg1 (0x11d0f80e0) into x0
== [FunctionCaller::ExecuteFunction] Execution of "__lldb_apple_objc_v2_get_dynamic_class_info3-caller" completed normally ==
-- [FunctionCaller::FetchFunctionResults] Fetching function results for "__lldb_apple_objc_v2_get_dynamic_class_info3-caller"--
Discovered 2665 Objective-C classes
AOCTV::FT Couldn't find the isa
LayoutRecordType on (ASTContext*)0x0000000134D13000 'Expression ASTContext for '<user expression 2>'' for (RecordDecl*)0x0000000134D364B8 [name = '']
Last statement is an lvalue with type: struct (unnamed struct at <user expression 2>:2:1)
Found function _Z12$__lldb_exprPv for $__lldb_expr
DoPrepareForExecution - Current expression language is objective-c++
Module as passed in to IRForTarget:
"; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.anon = type { ptr, ptr, ptr, i32, i32, ptr }
@"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global ptr null, align 8
@"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global i8 0, align 1
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @"_Z12$__lldb_exprPv"(ptr %"$__lldb_arg") #0 {
entry:
%"$__lldb_arg.addr" = alloca ptr, align 8, !clang.decl.ptr !12
%t = alloca %struct.anon, align 8, !clang.decl.ptr !13
store ptr %"$__lldb_arg", ptr %"$__lldb_arg.addr", align 8
%issue_kind = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 0
%message = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 1
%filename = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 2
%line = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 3
%col = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 4
%memory_addr = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 5
call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
%0 = load i8, ptr @"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", align 1
%guard.uninitialized = icmp eq i8 %0, 0
br i1 %guard.uninitialized, label %init.check, label %init.end, !prof !14
init.check: ; preds = %entry
store ptr %t, ptr @"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", align 8
store i8 1, ptr @"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", align 1
br label %init.end
init.end: ; preds = %init.check, %entry
ret void
}
; Function Attrs: convergent
declare void @__ubsan_get_current_report_data(ptr, ptr, ptr, ptr, ptr, ptr) #1
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #2 = { convergent "no-builtins" }
!clang.global.decl.ptrs = !{!0, !1, !2, !0}
!llvm.module.flags = !{!3, !4, !5, !6, !7, !8, !9, !10}
!llvm.ident = !{!11}
!0 = !{ptr @"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", i64 4962004168}
!1 = !{ptr @"_Z12$__lldb_exprPv", i64 5181236200}
!2 = !{ptr @__ubsan_get_current_report_data, i64 5181235712}
!3 = !{i32 1, !"Objective-C Version", i32 2}
!4 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!5 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!6 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!7 = !{i32 1, !"Objective-C Class Properties", i32 64}
!8 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!9 = !{i32 1, !"wchar_size", i32 4}
!10 = !{i32 7, !"frame-pointer", i32 2}
!11 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!12 = !{i64 5181235976}
!13 = !{i64 5181237448}
!14 = !{!"branch_weights", i32 1, i32 1048575}
"
Result name: "_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr"
Found result in the IR: "@"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global ptr null, align 8"
Found result decl: "static struct (unnamed struct at <user expression 2>:2:1) *$__lldb_expr_result_ptr&t"
Result decl type: "struct {
const char *issue_kind;
const char *message;
const char *filename;
unsigned int line;
unsigned int col;
char *memory_addr;
}"
Creating a new result global: "$RESULT_NAME" with size 40
Replacing "@"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global ptr null, align 8" with "@"$RESULT_NAME" = external global ptr"
[ClangASTImporter] DeportType called on ((unnamed struct at <user expression 2>:2:1)Type*)0x0000000134D36870 from (ASTContext*)0x0000000134D13000 to (ASTContext*)0x0000000134A71600
[ClangASTImporter] Imported (CXXRecordDecl*)0x0000000134D38830, named (unnamed struct at <user expression 2>:2:1) (from (Decl*)0x0000000134D364B8), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000134D13000
[ClangASTImporter] To is a TagDecl - attributes Lexical [complete->complete]
[ClangASTImporter] Imported (FieldDecl*)0x0000000134D389C8, named issue_kind (from (Decl*)0x0000000134D36600), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000134D13000
FindExternalLexicalDecls on (ASTContext*)0x0000000134A71600 'scratch ASTContext' in '' (CXXRecordDecl*)0x0000000134D38830
FELD Original decl 0x0000000134D13000 (Decl*)0x0000000134d364b8:
CXXRecordDecl 0x134d364b8 <<user expression 2>:2:1, line:9:1> line:2:1 struct definition
|-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable pod trivial literal
| |-DefaultConstructor exists trivial
| |-CopyConstructor simple trivial has_const_param implicit_has_const_param
| |-MoveConstructor exists simple trivial
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveAssignment exists simple trivial needs_implicit
| `-Destructor simple irrelevant trivial needs_implicit
|-FieldDecl 0x134d36600 <line:3:3, col:15> col:15 referenced issue_kind 'const char *'
|-FieldDecl 0x134d36668 <line:4:3, col:15> col:15 referenced message 'const char *'
|-FieldDecl 0x134d366d0 <line:5:3, col:15> col:15 referenced filename 'const char *'
|-FieldDecl 0x134d36738 <line:6:3, col:12> col:12 referenced line 'unsigned int'
|-FieldDecl 0x134d367a0 <line:7:3, col:12> col:12 referenced col 'unsigned int'
|-FieldDecl 0x134d36808 <line:8:3, col:9> col:9 referenced memory_addr 'char *'
|-CXXConstructorDecl 0x134d36948 <line:2:1> col:1 implicit used (unnamed struct at <user expression 2>:2:1) 'void () noexcept' inline default trivial
| `-CompoundStmt 0x134d36e38 <col:1>
|-CXXConstructorDecl 0x134d36a88 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 2>:2:1) 'void (const (unnamed struct at <user expression 2>:2:1) &)' inline default trivial noexcept-unevaluated 0x134d36a88
| `-ParmVarDecl 0x134d36ba8 <col:1> col:1 'const (unnamed struct at <user expression 2>:2:1) &'
`-CXXConstructorDecl 0x134d36c58 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 2>:2:1) 'void ((unnamed struct at <user expression 2>:2:1) &&)' inline default trivial noexcept-unevaluated 0x134d36c58
`-ParmVarDecl 0x134d36d78 <col:1> col:1 '(unnamed struct at <user expression 2>:2:1) &&'
CompleteTagDecl on (ASTContext*)Expression ASTContext for '<user expression 2>' Completing (TagDecl*)0x0000000134D364B8 named
CTD Before:
CXXRecordDecl 0x134d364b8 <<user expression 2>:2:1, line:9:1> line:2:1 struct definition
|-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable pod trivial literal
| |-DefaultConstructor exists trivial
| |-CopyConstructor simple trivial has_const_param implicit_has_const_param
| |-MoveConstructor exists simple trivial
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveAssignment exists simple trivial needs_implicit
| `-Destructor simple irrelevant trivial needs_implicit
|-FieldDecl 0x134d36600 <line:3:3, col:15> col:15 referenced issue_kind 'const char *'
|-FieldDecl 0x134d36668 <line:4:3, col:15> col:15 referenced message 'const char *'
|-FieldDecl 0x134d366d0 <line:5:3, col:15> col:15 referenced filename 'const char *'
|-FieldDecl 0x134d36738 <line:6:3, col:12> col:12 referenced line 'unsigned int'
|-FieldDecl 0x134d367a0 <line:7:3, col:12> col:12 referenced col 'unsigned int'
|-FieldDecl 0x134d36808 <line:8:3, col:9> col:9 referenced memory_addr 'char *'
|-CXXConstructorDecl 0x134d36948 <line:2:1> col:1 implicit used (unnamed struct at <user expression 2>:2:1) 'void () noexcept' inline default trivial
| `-CompoundStmt 0x134d36e38 <col:1>
|-CXXConstructorDecl 0x134d36a88 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 2>:2:1) 'void (const (unnamed struct at <user expression 2>:2:1) &)' inline default trivial noexcept-unevaluated 0x134d36a88
| `-ParmVarDecl 0x134d36ba8 <col:1> col:1 'const (unnamed struct at <user expression 2>:2:1) &'
`-CXXConstructorDecl 0x134d36c58 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 2>:2:1) 'void ((unnamed struct at <user expression 2>:2:1) &&)' inline default trivial noexcept-unevaluated 0x134d36c58
`-ParmVarDecl 0x134d36d78 <col:1> col:1 '(unnamed struct at <user expression 2>:2:1) &&'
[CTD] After:
CXXRecordDecl 0x134d364b8 <<user expression 2>:2:1, line:9:1> line:2:1 struct definition
|-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable pod trivial literal
| |-DefaultConstructor exists trivial
| |-CopyConstructor simple trivial has_const_param implicit_has_const_param
| |-MoveConstructor exists simple trivial
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveAssignment exists simple trivial needs_implicit
| `-Destructor simple irrelevant trivial needs_implicit
|-FieldDecl 0x134d36600 <line:3:3, col:15> col:15 referenced issue_kind 'const char *'
|-FieldDecl 0x134d36668 <line:4:3, col:15> col:15 referenced message 'const char *'
|-FieldDecl 0x134d366d0 <line:5:3, col:15> col:15 referenced filename 'const char *'
|-FieldDecl 0x134d36738 <line:6:3, col:12> col:12 referenced line 'unsigned int'
|-FieldDecl 0x134d367a0 <line:7:3, col:12> col:12 referenced col 'unsigned int'
|-FieldDecl 0x134d36808 <line:8:3, col:9> col:9 referenced memory_addr 'char *'
|-CXXConstructorDecl 0x134d36948 <line:2:1> col:1 implicit used (unnamed struct at <user expression 2>:2:1) 'void () noexcept' inline default trivial
| `-CompoundStmt 0x134d36e38 <col:1>
|-CXXConstructorDecl 0x134d36a88 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 2>:2:1) 'void (const (unnamed struct at <user expression 2>:2:1) &)' inline default trivial noexcept-unevaluated 0x134d36a88
| `-ParmVarDecl 0x134d36ba8 <col:1> col:1 'const (unnamed struct at <user expression 2>:2:1) &'
`-CXXConstructorDecl 0x134d36c58 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 2>:2:1) 'void ((unnamed struct at <user expression 2>:2:1) &&)' inline default trivial noexcept-unevaluated 0x134d36c58
`-ParmVarDecl 0x134d36d78 <col:1> col:1 '(unnamed struct at <user expression 2>:2:1) &&'
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x134d36600 <<user expression 2>:3:3, col:15> col:15 referenced issue_kind 'const char *'
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x134d36668 <<user expression 2>:4:3, col:15> col:15 referenced message 'const char *'
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x134d366d0 <<user expression 2>:5:3, col:15> col:15 referenced filename 'const char *'
[ClangASTImporter] Imported (FieldDecl*)0x0000000134D38AA8, named filename (from (Decl*)0x0000000134D366D0), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000134D13000
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x134d36738 <<user expression 2>:6:3, col:12> col:12 referenced line 'unsigned int'
[ClangASTImporter] Imported (FieldDecl*)0x0000000134D38B18, named line (from (Decl*)0x0000000134D36738), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000134D13000
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x134d367a0 <<user expression 2>:7:3, col:12> col:12 referenced col 'unsigned int'
[ClangASTImporter] Imported (FieldDecl*)0x0000000134D38B88, named col (from (Decl*)0x0000000134D367A0), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000134D13000
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x134d36808 <<user expression 2>:8:3, col:9> col:9 referenced memory_addr 'char *'
[ClangASTImporter] Imported (FieldDecl*)0x0000000134D38BF8, named memory_addr (from (Decl*)0x0000000134D36808), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000134D13000
FELD Adding [to CXXRecordDecl ] lexical CXXConstructorDecl CXXConstructorDecl 0x134d36948 <<user expression 2>:2:1> col:1 implicit used (unnamed struct at <user expression 2>:2:1) 'void () noexcept' inline default trivial
`-CompoundStmt 0x134d36e38 <col:1>
[ClangASTImporter] Imported (CXXConstructorDecl*)0x0000000134D38C90, named (unnamed struct at <user expression 2>:2:1) (from (Decl*)0x0000000134D36948), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000134D13000
FELD Adding [to CXXRecordDecl ] lexical CXXConstructorDecl CXXConstructorDecl 0x134d36a88 <<user expression 2>:2:1> col:1 implicit constexpr (unnamed struct at <user expression 2>:2:1) 'void (const (unnamed struct at <user expression 2>:2:1) &)' inline default trivial noexcept-unevaluated 0x134d36a88
`-ParmVarDecl 0x134d36ba8 <col:1> col:1 'const (unnamed struct at <user expression 2>:2:1) &'
[ClangASTImporter] Imported (ParmVarDecl*)0x0000000134D38DE0, named (from (Decl*)0x0000000134D36BA8), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000134D13000
[ClangASTImporter] Imported (CXXConstructorDecl*)0x0000000134D38E50, named (unnamed struct at <user expression 2>:2:1) (from (Decl*)0x0000000134D36A88), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000134D13000
FELD Adding [to CXXRecordDecl ] lexical CXXConstructorDecl CXXConstructorDecl 0x134d36c58 <<user expression 2>:2:1> col:1 implicit constexpr (unnamed struct at <user expression 2>:2:1) 'void ((unnamed struct at <user expression 2>:2:1) &&)' inline default trivial noexcept-unevaluated 0x134d36c58
`-ParmVarDecl 0x134d36d78 <col:1> col:1 '(unnamed struct at <user expression 2>:2:1) &&'
[ClangASTImporter] Imported (ParmVarDecl*)0x0000000127B56C08, named (from (Decl*)0x0000000134D36D78), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000134D13000
[ClangASTImporter] Imported (CXXConstructorDecl*)0x0000000127B56C78, named (unnamed struct at <user expression 2>:2:1) (from (Decl*)0x0000000134D36C58), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000134D13000
[ClangASTImporter] Imported (FieldDecl*)0x0000000134D38A38, named message (from (Decl*)0x0000000134D36668), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x0000000134D13000
MaybeHandleCallArguments( call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2)
MaybeHandleVariable ( %issue_kind = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 0)
MaybeHandleVariable ( %message = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 1)
MaybeHandleVariable ( %filename = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 2)
MaybeHandleVariable ( %line = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 3)
MaybeHandleVariable ( %col = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 4)
MaybeHandleVariable ( %memory_addr = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 5)
Examining _ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr, DeclForGlobalValue returns 0x0000000000000000
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000
Examining $RESULT_NAME, DeclForGlobalValue returns 0x0000000127C22CC8
MaybeHandleVariable (@"$RESULT_NAME" = external global ptr)
Type of "$__lldb_expr_result_ptr" is [clang "struct (unnamed struct at <user expression 2>:2:1) **", llvm "ptr"] [size 8, align 8]
Adding value for (NamedDecl*)0x0000000127C22CC8 [$__lldb_expr_result_ptr - $RESULT_NAME] to the structure
Already placed at 0x0
Placed at 0x0
Element arrangement:
Arg: "ptr %"$__lldb_arg""
"$RESULT_NAME" ("$__lldb_expr_result_ptr") placed at 0
Replacing [@"$RESULT_NAME" = external global ptr]
Total structure [align 8, size 8]
Saw function with body: _Z12$__lldb_exprPv
Unsupported instruction: call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
Instrumenting load/store instruction: store ptr %"$__lldb_arg", ptr %"$__lldb_arg.addr", align 8
Instrumenting load/store instruction: store ptr %t, ptr %1, align 8
Found call to __ubsan_get_current_report_data: call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
Module being sent to JIT:
; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.anon = type { ptr, ptr, ptr, i32, i32, ptr }
@"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global i8 0, align 1
@reloc_placeholder = internal global i8 0
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @"_Z12$__lldb_exprPv"(ptr %"$__lldb_arg") #0 {
entry:
%0 = getelementptr i8, ptr %"$__lldb_arg", i32 0
%1 = bitcast ptr %0 to ptr
%"$__lldb_arg.addr" = alloca ptr, align 8, !clang.decl.ptr !13
%t = alloca %struct.anon, align 8, !clang.decl.ptr !14
%2 = bitcast ptr %"$__lldb_arg.addr" to ptr
call void (ptr, ...) inttoptr (i64 4780377248 to ptr)(ptr %2)
store ptr %"$__lldb_arg", ptr %"$__lldb_arg.addr", align 8
%issue_kind = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 0
%message = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 1
%filename = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 2
%line = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 3
%col = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 4
%memory_addr = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 5
call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
%guard.uninitialized = icmp eq i8 0, 0
br i1 %guard.uninitialized, label %init.check, label %init.end, !prof !15
init.check: ; preds = %entry
%3 = bitcast ptr %1 to ptr
call void (ptr, ...) inttoptr (i64 4780377248 to ptr)(ptr %3)
store ptr %t, ptr %1, align 8
br label %init.end
init.end: ; preds = %init.check, %entry
ret void
}
; Function Attrs: convergent
declare void @__ubsan_get_current_report_data(ptr, ptr, ptr, ptr, ptr, ptr) #1
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #2 = { convergent "no-builtins" }
!clang.global.decl.ptrs = !{!0, !1, !2, !0, !3}
!llvm.module.flags = !{!4, !5, !6, !7, !8, !9, !10, !11}
!llvm.ident = !{!12}
!0 = distinct !{null, i64 4962004168}
!1 = !{ptr @"_Z12$__lldb_exprPv", i64 5181236200}
!2 = !{ptr @__ubsan_get_current_report_data, i64 5181235712}
!3 = distinct !{null, i64 4962004168}
!4 = !{i32 1, !"Objective-C Version", i32 2}
!5 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!6 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!7 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!8 = !{i32 1, !"Objective-C Class Properties", i32 64}
!9 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!10 = !{i32 1, !"wchar_size", i32 4}
!11 = !{i32 7, !"frame-pointer", i32 2}
!12 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!13 = !{i64 5181235976}
!14 = !{i64 5181237448}
!15 = !{!"branch_weights", i32 1, i32 1048575}
IRExecutionUnit::allocateCodeSection(Size=0xab, Alignment=8, SectionID=0) = 0x137ffc000
IRExecutionUnit::allocateDataSection(Size=0x10, Alignment=8, SectionID=1) = 0x1455f8000
IRExecutionUnit::allocateDataSection(Size=0x16, Alignment=8, SectionID=2) = 0x1455f8010
IRMemoryMap::Malloc (183, 0x8, 0x6, eAllocationPolicyProcessOnly) -> 0x11ceec5f0
IRMemoryMap::Malloc (23, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8600
IRMemoryMap::Malloc (31, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8620
IRExecutionUnit::getSymbolAddress(Name="___ubsan_get_current_report_data") = 1068992f8
IRMemoryMap::WriteMemory (0x11ceec5f0, 0x137ffc000, 0x171) went to [0x11ceec5f0..0x11ceec6a7)
IRMemoryMap::WriteMemory (0x11d0f8600, 0x1455f8000, 0x16) went to [0x11d0f8600..0x11d0f8617)
IRMemoryMap::WriteMemory (0x11d0f8620, 0x1455f8010, 0x22) went to [0x11d0f8620..0x11d0f863f)
IRExecutionUnit::GetRemoteAddressForLocal() found 0x137ffc000 in [0x137ffc000..0x137ffc0ab], and returned 0x11ceec5f0 from [0x11ceec5f0..0x11ceec69b].
Code can be run in the target.
Found function, has local address 0x137ffc000 and remote address 0x11ceec5f0
Function's code range is [0x11ceec5f0+0xab]
Function data has contents:
0x11ceec5f0: ff 43 01 d1 f4 4f 03 a9 fd 7b 04 a9 fd 03 01 91
0x11ceec600: f3 03 00 aa 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec610: a0 63 00 d1 00 01 3f d6 b3 83 1e f8 e8 03 00 91
0x11ceec620: 01 21 00 91 e8 03 00 91 02 41 00 91 e8 03 00 91
0x11ceec630: 03 61 00 91 e8 03 00 91 04 71 00 91 e8 03 00 91
0x11ceec640: 05 81 00 91 e0 03 00 91 08 00 00 90 08 41 43 f9
0x11ceec650: 00 01 3f d6 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec660: e0 03 13 aa 00 01 3f d6 e8 03 00 91 68 02 00 f9
0x11ceec670: fd 7b 44 a9 f4 4f 43 a9 ff 43 01 91 c0 03 5f d6
0x11ceec680: f8 92 89 06 01 00 00 00 00 00 00 00 00 00 00 00
0x11ceec690: 00 00 00 00 00 00 00 00 00 00 00
Function disassembly:
0x11ceec5f0: 0xd10143ff unknown sub sp, sp, #0x50
0x11ceec5f4: 0xa9034ff4 unknown stp x20, x19, [sp, #0x30]
0x11ceec5f8: 0xa9047bfd unknown stp x29, x30, [sp, #0x40]
0x11ceec5fc: 0x910103fd unknown add x29, sp, #0x40
0x11ceec600: 0xaa0003f3 unknown mov x19, x0
0x11ceec604: 0xd2989408 unknown mov x8, #0xc4a0
0x11ceec608: 0xf2a39dc8 unknown movk x8, #0x1cee, lsl #16
0x11ceec60c: 0xf2c00028 unknown movk x8, #0x1, lsl #32
0x11ceec610: 0xd10063a0 unknown sub x0, x29, #0x18
0x11ceec614: 0xd63f0100 unknown blr x8
0x11ceec618: 0xf81e83b3 unknown stur x19, [x29, #-0x18]
0x11ceec61c: 0x910003e8 unknown mov x8, sp
0x11ceec620: 0x91002101 unknown add x1, x8, #0x8
0x11ceec624: 0x910003e8 unknown mov x8, sp
0x11ceec628: 0x91004102 unknown add x2, x8, #0x10
0x11ceec62c: 0x910003e8 unknown mov x8, sp
0x11ceec630: 0x91006103 unknown add x3, x8, #0x18
0x11ceec634: 0x910003e8 unknown mov x8, sp
0x11ceec638: 0x91007104 unknown add x4, x8, #0x1c
0x11ceec63c: 0x910003e8 unknown mov x8, sp
0x11ceec640: 0x91008105 unknown add x5, x8, #0x20
0x11ceec644: 0x910003e0 unknown mov x0, sp
0x11ceec648: 0x90000008 unknown adrp x8, 0
0x11ceec64c: 0xf9434108 unknown ldr x8, [x8, #0x680]
0x11ceec650: 0xd63f0100 unknown blr x8
0x11ceec654: 0xd2989408 unknown mov x8, #0xc4a0
0x11ceec658: 0xf2a39dc8 unknown movk x8, #0x1cee, lsl #16
0x11ceec65c: 0xf2c00028 unknown movk x8, #0x1, lsl #32
0x11ceec660: 0xaa1303e0 unknown mov x0, x19
0x11ceec664: 0xd63f0100 unknown blr x8
0x11ceec668: 0x910003e8 unknown mov x8, sp
0x11ceec66c: 0xf9000268 unknown str x8, [x19]
0x11ceec670: 0xa9447bfd unknown ldp x29, x30, [sp, #0x40]
0x11ceec674: 0xa9434ff4 unknown ldp x20, x19, [sp, #0x30]
0x11ceec678: 0x910143ff unknown add sp, sp, #0x50
0x11ceec67c: 0xd65f03c0 unknown ret
0x11ceec680: 0x068992f8 unknown .long 0x068992f8 ; unknown opcode
0x11ceec684: 0x00000001 unknown udf #0x1
0x11ceec688: 0x00000000 unknown udf #0x0
0x11ceec68c: 0x00000000 unknown udf #0x0
0x11ceec690: 0x00000000 unknown udf #0x0
0x11ceec694: 0x00000000 unknown udf #0x0
Sections:
[0x137ffc000+0xab]->0x11ceec5f0 (alignment 8, section ID 0, name __text)
IRMemoryMap::ReadMemory (0x11ceec5f0, 0x6000135ec420, 0x171) came from [0x11ceec5f0..0x11ceec6a7)
0x11ceec5f0: ff 43 01 d1 f4 4f 03 a9 fd 7b 04 a9 fd 03 01 91
0x11ceec600: f3 03 00 aa 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec610: a0 63 00 d1 00 01 3f d6 b3 83 1e f8 e8 03 00 91
0x11ceec620: 01 21 00 91 e8 03 00 91 02 41 00 91 e8 03 00 91
0x11ceec630: 03 61 00 91 e8 03 00 91 04 71 00 91 e8 03 00 91
0x11ceec640: 05 81 00 91 e0 03 00 91 08 00 00 90 08 41 43 f9
0x11ceec650: 00 01 3f d6 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec660: e0 03 13 aa 00 01 3f d6 e8 03 00 91 68 02 00 f9
0x11ceec670: fd 7b 44 a9 f4 4f 43 a9 ff 43 01 91 c0 03 5f d6
0x11ceec680: f8 92 89 06 01 00 00 00 00 00 00 00 00 00 00 00
0x11ceec690: 00 00 00 00 00 00 00 00 00 00 00
[0x1455f8000+0x10]->0x11d0f8600 (alignment 8, section ID 1, name __bss)
IRMemoryMap::ReadMemory (0x11d0f8600, 0x60000031c590, 0x16) came from [0x11d0f8600..0x11d0f8617)
0x11d0f8600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[0x1455f8010+0x16]->0x11d0f8620 (alignment 8, section ID 2, name __objc_imageinfo)
IRMemoryMap::ReadMemory (0x11d0f8620, 0x6000005b0580, 0x22) came from [0x11d0f8620..0x11d0f863f)
0x11d0f8620: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00
0x11d0f8630: 00 00 00 00 00 00
Couldn't find llvm.global_ctors.
[ClangASTImporter] Forgetting destination (ASTContext*)0x0000000134D13000
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x0000000134D13000->(ASTContext*)0x0000000134A71600
== [UserExpression::Evaluate] Executing expression ==
IRMemoryMap::Malloc process_sp=0x1464ca600, process_sp->CanJIT()=true, process_sp->IsAlive()=true
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x11d0f8640
Materializer::Materialize (frame_sp = 0x12549a4b8, process_address = 0x11d0f8640) materialized:
IRMemoryMap::ReadMemory (0x11d0f8640, 0x60000031bbb0, 0x8) came from [0x11d0f8640..0x11d0f864f)
0x11d0f8640: EntityResultVariable
Pointer:
0x11d0f8640: a0 ee b8 6f 01 00 00 00
Points to process memory:
ABIMacOSX_arm64::PrepareTrivialCall (tid = 0x247096, sp = 0x16fb8f230, func_addr = 0x11ceec5f0, return_addr = 0x10026d6ec, arg1 = 0x11d0f8640)
About to write arg1 (0x11d0f8640) into x0
-- [UserExpression::Execute] Execution of expression begins --
-- [UserExpression::Execute] Execution of expression completed --
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution --
Materializer::Dematerialize (frame_sp = 0x12549b908, process_address = 0x11d0f8640) about to dematerialize:
IRMemoryMap::ReadMemory (0x11d0f8640, 0x6000003657f0, 0x8) came from [0x11d0f8640..0x11d0f864f)
0x11d0f8640: EntityResultVariable
Pointer:
0x11d0f8640: e0 f1 b8 6f 01 00 00 00
Points to process memory:
IRMemoryMap::ReadMemory (0x11d0f8640, 0x60000031bbb0, 0x8) came from [0x11d0f8640..0x11d0f864f)
LayoutRecordType on (ASTContext*)0x0000000134A71600 'scratch ASTContext' for (RecordDecl*)0x0000000134D38830 [name = '']
returned project-wide scratch context
== [UserExpression::Evaluate] Execution completed normally with result ==
IRMemoryMap::Free (0x11ceec5f0) freed [0x11ceec5f0..0x11ceec6a7)
IRMemoryMap::Free (0x11d0f8600) freed [0x11d0f8600..0x11d0f8617)
IRMemoryMap::Free (0x11d0f8620) freed [0x11d0f8620..0x11d0f863f)
IRMemoryMap::Free (0x11d0f8640) freed [0x11d0f8640..0x11d0f864f)
== [UserExpression::Evaluate] Parsing expression
struct {
const char *issue_kind;
const char *message;
const char *filename;
unsigned line;
unsigned col;
char *memory_addr;
} t;
__ubsan_get_current_report_data(&t.issue_kind, &t.message, &t.filename, &t.line,
&t.col, &t.memory_addr);
t;
==
ClangUserExpression::ScanContext()
[CUE::SC] Null function
Parsing the following code:
#line 1 "<lldb wrapper prefix>"
#ifndef offsetof
#define offsetof(t, d) __builtin_offsetof(t, d)
#endif
#ifndef NULL
#define NULL (__null)
#endif
#ifndef Nil
#define Nil (__null)
#endif
#ifndef nil
#define nil (__null)
#endif
#ifndef YES
#define YES ((BOOL)1)
#endif
#ifndef NO
#define NO ((BOOL)0)
#endif
typedef __INT8_TYPE__ int8_t;
typedef __UINT8_TYPE__ uint8_t;
typedef __INT16_TYPE__ int16_t;
typedef __UINT16_TYPE__ uint16_t;
typedef __INT32_TYPE__ int32_t;
typedef __UINT32_TYPE__ uint32_t;
typedef __INT64_TYPE__ int64_t;
typedef __UINT64_TYPE__ uint64_t;
typedef __INTPTR_TYPE__ intptr_t;
typedef __UINTPTR_TYPE__ uintptr_t;
typedef __SIZE_TYPE__ size_t;
typedef __PTRDIFF_TYPE__ ptrdiff_t;
typedef unsigned short unichar;
extern "C"
{
int printf(const char * __restrict, ...);
}
typedef bool BOOL;
extern "C" {
void
__ubsan_get_current_report_data(const char **OutIssueKind,
const char **OutMessage, const char **OutFilename, unsigned *OutLine,
unsigned *OutCol, char **OutMemoryAddr);
}
void
$__lldb_expr(void *$__lldb_arg)
{
;
#line 1 "<user expression 3>"
struct {
const char *issue_kind;
const char *message;
const char *filename;
unsigned line;
unsigned col;
char *memory_addr;
} t;
__ubsan_get_current_report_data(&t.issue_kind, &t.message, &t.filename, &t.line,
&t.col, &t.memory_addr);
t;
;
#line 1 "<lldb wrapper suffix>"
}
Frame has language of type objective-c++
Using arm64-apple-macosx11.0.0 as the target triple
Using SIMD alignment: 0
Target datalayout string: 'e-m:o-i64:64-i128:128-n32:64-S128'
Target ABI: 'aapcs'
Target vector alignment: 128
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_arg' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x00000001411BAC00 'Expression ASTContext for '<user expression 3>'' for '$__lldb_arg' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
ClangExpressionDeclMap::FindExternalVisibleDecls for '$__lldb_expr' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x00000001411BAC00 'Expression ASTContext for '<user expression 3>'' for '$__lldb_expr' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
ClangExpressionDeclMap::FindExternalVisibleDecls for 't' in a 'TranslationUnit'
CEDM::FEVD Searching the root namespace
ClangASTSource::FindExternalVisibleDecls on (ASTContext*)0x00000001411BAC00 'Expression ASTContext for '<user expression 3>'' for 't' in a 'TranslationUnit'
CAS::FEVD Searching the root namespace
AppleObjCDeclVendor::FindDecls ('t', false, 1, )
AOCTV::FT Couldn't find t in the ASTContext
== [FunctionCaller::ExecuteFunction] Executing function "__lldb_apple_objc_v2_get_dynamic_class_info3-caller" ==
-- [FunctionCaller::GetThreadPlanToCallFunction] Creating thread plan to call function "__lldb_apple_objc_v2_get_dynamic_class_info3-caller" --
ABIMacOSX_arm64::PrepareTrivialCall (tid = 0x247096, sp = 0x16fb8f230, func_addr = 0x11ceec3a0, return_addr = 0x10026d6ec, arg1 = 0x11d0f80e0)
About to write arg1 (0x11d0f80e0) into x0
== [FunctionCaller::ExecuteFunction] Execution of "__lldb_apple_objc_v2_get_dynamic_class_info3-caller" completed normally ==
-- [FunctionCaller::FetchFunctionResults] Fetching function results for "__lldb_apple_objc_v2_get_dynamic_class_info3-caller"--
Discovered 2665 Objective-C classes
AOCTV::FT Couldn't find the isa
LayoutRecordType on (ASTContext*)0x00000001411BAC00 'Expression ASTContext for '<user expression 3>'' for (RecordDecl*)0x00000001412D62B8 [name = '']
Last statement is an lvalue with type: struct (unnamed struct at <user expression 3>:2:1)
Found function _Z12$__lldb_exprPv for $__lldb_expr
DoPrepareForExecution - Current expression language is objective-c++
Module as passed in to IRForTarget:
"; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.anon = type { ptr, ptr, ptr, i32, i32, ptr }
@"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global ptr null, align 8
@"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global i8 0, align 1
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @"_Z12$__lldb_exprPv"(ptr %"$__lldb_arg") #0 {
entry:
%"$__lldb_arg.addr" = alloca ptr, align 8, !clang.decl.ptr !12
%t = alloca %struct.anon, align 8, !clang.decl.ptr !13
store ptr %"$__lldb_arg", ptr %"$__lldb_arg.addr", align 8
%issue_kind = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 0
%message = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 1
%filename = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 2
%line = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 3
%col = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 4
%memory_addr = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 5
call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
%0 = load i8, ptr @"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", align 1
%guard.uninitialized = icmp eq i8 %0, 0
br i1 %guard.uninitialized, label %init.check, label %init.end, !prof !14
init.check: ; preds = %entry
store ptr %t, ptr @"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", align 8
store i8 1, ptr @"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", align 1
br label %init.end
init.end: ; preds = %init.check, %entry
ret void
}
; Function Attrs: convergent
declare void @__ubsan_get_current_report_data(ptr, ptr, ptr, ptr, ptr, ptr) #1
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #2 = { convergent "no-builtins" }
!clang.global.decl.ptrs = !{!0, !1, !2, !0}
!llvm.module.flags = !{!3, !4, !5, !6, !7, !8, !9, !10}
!llvm.ident = !{!11}
!0 = !{ptr @"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr", i64 4961775816}
!1 = !{ptr @"_Z12$__lldb_exprPv", i64 5388460520}
!2 = !{ptr @__ubsan_get_current_report_data, i64 5388460032}
!3 = !{i32 1, !"Objective-C Version", i32 2}
!4 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!5 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!6 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!7 = !{i32 1, !"Objective-C Class Properties", i32 64}
!8 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!9 = !{i32 1, !"wchar_size", i32 4}
!10 = !{i32 7, !"frame-pointer", i32 2}
!11 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!12 = !{i64 5388460296}
!13 = !{i64 5388461768}
!14 = !{!"branch_weights", i32 1, i32 1048575}
"
Result name: "_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr"
Found result in the IR: "@"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global ptr null, align 8"
Found result decl: "static struct (unnamed struct at <user expression 3>:2:1) *$__lldb_expr_result_ptr&t"
Result decl type: "struct {
const char *issue_kind;
const char *message;
const char *filename;
unsigned int line;
unsigned int col;
char *memory_addr;
}"
Creating a new result global: "$RESULT_NAME" with size 40
Replacing "@"_ZZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global ptr null, align 8" with "@"$RESULT_NAME" = external global ptr"
[ClangASTImporter] DeportType called on ((unnamed struct at <user expression 3>:2:1)Type*)0x00000001412D6670 from (ASTContext*)0x00000001411BAC00 to (ASTContext*)0x0000000134A71600
[ClangASTImporter] Imported (CXXRecordDecl*)0x0000000127B56E70, named (unnamed struct at <user expression 3>:2:1) (from (Decl*)0x00000001412D62B8), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411BAC00
[ClangASTImporter] To is a TagDecl - attributes Lexical [complete->complete]
[ClangASTImporter] Imported (FieldDecl*)0x0000000127B57008, named issue_kind (from (Decl*)0x00000001412D6400), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411BAC00
FindExternalLexicalDecls on (ASTContext*)0x0000000134A71600 'scratch ASTContext' in '' (CXXRecordDecl*)0x0000000127B56E70
FELD Original decl 0x00000001411BAC00 (Decl*)0x00000001412d62b8:
CXXRecordDecl 0x1412d62b8 <<user expression 3>:2:1, line:9:1> line:2:1 struct definition
|-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable pod trivial literal
| |-DefaultConstructor exists trivial
| |-CopyConstructor simple trivial has_const_param implicit_has_const_param
| |-MoveConstructor exists simple trivial
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveAssignment exists simple trivial needs_implicit
| `-Destructor simple irrelevant trivial needs_implicit
|-FieldDecl 0x1412d6400 <line:3:3, col:15> col:15 referenced issue_kind 'const char *'
|-FieldDecl 0x1412d6468 <line:4:3, col:15> col:15 referenced message 'const char *'
|-FieldDecl 0x1412d64d0 <line:5:3, col:15> col:15 referenced filename 'const char *'
|-FieldDecl 0x1412d6538 <line:6:3, col:12> col:12 referenced line 'unsigned int'
|-FieldDecl 0x1412d65a0 <line:7:3, col:12> col:12 referenced col 'unsigned int'
|-FieldDecl 0x1412d6608 <line:8:3, col:9> col:9 referenced memory_addr 'char *'
|-CXXConstructorDecl 0x1412d6748 <line:2:1> col:1 implicit used (unnamed struct at <user expression 3>:2:1) 'void () noexcept' inline default trivial
| `-CompoundStmt 0x1412d6c38 <col:1>
|-CXXConstructorDecl 0x1412d6888 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 3>:2:1) 'void (const (unnamed struct at <user expression 3>:2:1) &)' inline default trivial noexcept-unevaluated 0x1412d6888
| `-ParmVarDecl 0x1412d69a8 <col:1> col:1 'const (unnamed struct at <user expression 3>:2:1) &'
`-CXXConstructorDecl 0x1412d6a58 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 3>:2:1) 'void ((unnamed struct at <user expression 3>:2:1) &&)' inline default trivial noexcept-unevaluated 0x1412d6a58
`-ParmVarDecl 0x1412d6b78 <col:1> col:1 '(unnamed struct at <user expression 3>:2:1) &&'
CompleteTagDecl on (ASTContext*)Expression ASTContext for '<user expression 3>' Completing (TagDecl*)0x00000001412D62B8 named
CTD Before:
CXXRecordDecl 0x1412d62b8 <<user expression 3>:2:1, line:9:1> line:2:1 struct definition
|-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable pod trivial literal
| |-DefaultConstructor exists trivial
| |-CopyConstructor simple trivial has_const_param implicit_has_const_param
| |-MoveConstructor exists simple trivial
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveAssignment exists simple trivial needs_implicit
| `-Destructor simple irrelevant trivial needs_implicit
|-FieldDecl 0x1412d6400 <line:3:3, col:15> col:15 referenced issue_kind 'const char *'
|-FieldDecl 0x1412d6468 <line:4:3, col:15> col:15 referenced message 'const char *'
|-FieldDecl 0x1412d64d0 <line:5:3, col:15> col:15 referenced filename 'const char *'
|-FieldDecl 0x1412d6538 <line:6:3, col:12> col:12 referenced line 'unsigned int'
|-FieldDecl 0x1412d65a0 <line:7:3, col:12> col:12 referenced col 'unsigned int'
|-FieldDecl 0x1412d6608 <line:8:3, col:9> col:9 referenced memory_addr 'char *'
|-CXXConstructorDecl 0x1412d6748 <line:2:1> col:1 implicit used (unnamed struct at <user expression 3>:2:1) 'void () noexcept' inline default trivial
| `-CompoundStmt 0x1412d6c38 <col:1>
|-CXXConstructorDecl 0x1412d6888 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 3>:2:1) 'void (const (unnamed struct at <user expression 3>:2:1) &)' inline default trivial noexcept-unevaluated 0x1412d6888
| `-ParmVarDecl 0x1412d69a8 <col:1> col:1 'const (unnamed struct at <user expression 3>:2:1) &'
`-CXXConstructorDecl 0x1412d6a58 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 3>:2:1) 'void ((unnamed struct at <user expression 3>:2:1) &&)' inline default trivial noexcept-unevaluated 0x1412d6a58
`-ParmVarDecl 0x1412d6b78 <col:1> col:1 '(unnamed struct at <user expression 3>:2:1) &&'
[CTD] After:
CXXRecordDecl 0x1412d62b8 <<user expression 3>:2:1, line:9:1> line:2:1 struct definition
|-DefinitionData pass_in_registers aggregate standard_layout trivially_copyable pod trivial literal
| |-DefaultConstructor exists trivial
| |-CopyConstructor simple trivial has_const_param implicit_has_const_param
| |-MoveConstructor exists simple trivial
| |-CopyAssignment simple trivial has_const_param needs_implicit implicit_has_const_param
| |-MoveAssignment exists simple trivial needs_implicit
| `-Destructor simple irrelevant trivial needs_implicit
|-FieldDecl 0x1412d6400 <line:3:3, col:15> col:15 referenced issue_kind 'const char *'
|-FieldDecl 0x1412d6468 <line:4:3, col:15> col:15 referenced message 'const char *'
|-FieldDecl 0x1412d64d0 <line:5:3, col:15> col:15 referenced filename 'const char *'
|-FieldDecl 0x1412d6538 <line:6:3, col:12> col:12 referenced line 'unsigned int'
|-FieldDecl 0x1412d65a0 <line:7:3, col:12> col:12 referenced col 'unsigned int'
|-FieldDecl 0x1412d6608 <line:8:3, col:9> col:9 referenced memory_addr 'char *'
|-CXXConstructorDecl 0x1412d6748 <line:2:1> col:1 implicit used (unnamed struct at <user expression 3>:2:1) 'void () noexcept' inline default trivial
| `-CompoundStmt 0x1412d6c38 <col:1>
|-CXXConstructorDecl 0x1412d6888 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 3>:2:1) 'void (const (unnamed struct at <user expression 3>:2:1) &)' inline default trivial noexcept-unevaluated 0x1412d6888
| `-ParmVarDecl 0x1412d69a8 <col:1> col:1 'const (unnamed struct at <user expression 3>:2:1) &'
`-CXXConstructorDecl 0x1412d6a58 <col:1> col:1 implicit constexpr (unnamed struct at <user expression 3>:2:1) 'void ((unnamed struct at <user expression 3>:2:1) &&)' inline default trivial noexcept-unevaluated 0x1412d6a58
`-ParmVarDecl 0x1412d6b78 <col:1> col:1 '(unnamed struct at <user expression 3>:2:1) &&'
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x1412d6400 <<user expression 3>:3:3, col:15> col:15 referenced issue_kind 'const char *'
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x1412d6468 <<user expression 3>:4:3, col:15> col:15 referenced message 'const char *'
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x1412d64d0 <<user expression 3>:5:3, col:15> col:15 referenced filename 'const char *'
[ClangASTImporter] Imported (FieldDecl*)0x0000000127B570E8, named filename (from (Decl*)0x00000001412D64D0), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411BAC00
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x1412d6538 <<user expression 3>:6:3, col:12> col:12 referenced line 'unsigned int'
[ClangASTImporter] Imported (FieldDecl*)0x0000000127B57158, named line (from (Decl*)0x00000001412D6538), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411BAC00
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x1412d65a0 <<user expression 3>:7:3, col:12> col:12 referenced col 'unsigned int'
[ClangASTImporter] Imported (FieldDecl*)0x0000000127B571C8, named col (from (Decl*)0x00000001412D65A0), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411BAC00
FELD Adding [to CXXRecordDecl ] lexical FieldDecl FieldDecl 0x1412d6608 <<user expression 3>:8:3, col:9> col:9 referenced memory_addr 'char *'
[ClangASTImporter] Imported (FieldDecl*)0x0000000127B57238, named memory_addr (from (Decl*)0x00000001412D6608), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411BAC00
FELD Adding [to CXXRecordDecl ] lexical CXXConstructorDecl CXXConstructorDecl 0x1412d6748 <<user expression 3>:2:1> col:1 implicit used (unnamed struct at <user expression 3>:2:1) 'void () noexcept' inline default trivial
`-CompoundStmt 0x1412d6c38 <col:1>
[ClangASTImporter] Imported (CXXConstructorDecl*)0x0000000127B572D0, named (unnamed struct at <user expression 3>:2:1) (from (Decl*)0x00000001412D6748), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411BAC00
FELD Adding [to CXXRecordDecl ] lexical CXXConstructorDecl CXXConstructorDecl 0x1412d6888 <<user expression 3>:2:1> col:1 implicit constexpr (unnamed struct at <user expression 3>:2:1) 'void (const (unnamed struct at <user expression 3>:2:1) &)' inline default trivial noexcept-unevaluated 0x1412d6888
`-ParmVarDecl 0x1412d69a8 <col:1> col:1 'const (unnamed struct at <user expression 3>:2:1) &'
[ClangASTImporter] Imported (ParmVarDecl*)0x0000000127B57420, named (from (Decl*)0x00000001412D69A8), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411BAC00
[ClangASTImporter] Imported (CXXConstructorDecl*)0x0000000127B57490, named (unnamed struct at <user expression 3>:2:1) (from (Decl*)0x00000001412D6888), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411BAC00
FELD Adding [to CXXRecordDecl ] lexical CXXConstructorDecl CXXConstructorDecl 0x1412d6a58 <<user expression 3>:2:1> col:1 implicit constexpr (unnamed struct at <user expression 3>:2:1) 'void ((unnamed struct at <user expression 3>:2:1) &&)' inline default trivial noexcept-unevaluated 0x1412d6a58
`-ParmVarDecl 0x1412d6b78 <col:1> col:1 '(unnamed struct at <user expression 3>:2:1) &&'
[ClangASTImporter] Imported (ParmVarDecl*)0x0000000127B57630, named (from (Decl*)0x00000001412D6B78), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411BAC00
[ClangASTImporter] Imported (CXXConstructorDecl*)0x0000000127B576A0, named (unnamed struct at <user expression 3>:2:1) (from (Decl*)0x00000001412D6A58), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411BAC00
[ClangASTImporter] Imported (FieldDecl*)0x0000000127B57078, named message (from (Decl*)0x00000001412D6468), metadata 18446744073709551615
[ClangASTImporter] Decl has no origin information in (ASTContext*)0x00000001411BAC00
MaybeHandleCallArguments( call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2)
MaybeHandleVariable ( %issue_kind = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 0)
MaybeHandleVariable ( %message = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 1)
MaybeHandleVariable ( %filename = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 2)
MaybeHandleVariable ( %line = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 3)
MaybeHandleVariable ( %col = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 4)
MaybeHandleVariable ( %memory_addr = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 5)
Examining _ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr, DeclForGlobalValue returns 0x0000000000000000
Examining reloc_placeholder, DeclForGlobalValue returns 0x0000000000000000
Examining $RESULT_NAME, DeclForGlobalValue returns 0x0000000127BEB0C8
MaybeHandleVariable (@"$RESULT_NAME" = external global ptr)
Type of "$__lldb_expr_result_ptr" is [clang "struct (unnamed struct at <user expression 3>:2:1) **", llvm "ptr"] [size 8, align 8]
Adding value for (NamedDecl*)0x0000000127BEB0C8 [$__lldb_expr_result_ptr - $RESULT_NAME] to the structure
Already placed at 0x0
Placed at 0x0
Element arrangement:
Arg: "ptr %"$__lldb_arg""
"$RESULT_NAME" ("$__lldb_expr_result_ptr") placed at 0
Replacing [@"$RESULT_NAME" = external global ptr]
Total structure [align 8, size 8]
Saw function with body: _Z12$__lldb_exprPv
Unsupported instruction: call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
Instrumenting load/store instruction: store ptr %"$__lldb_arg", ptr %"$__lldb_arg.addr", align 8
Instrumenting load/store instruction: store ptr %t, ptr %1, align 8
Found call to __ubsan_get_current_report_data: call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
Module being sent to JIT:
; ModuleID = '$__lldb_module'
source_filename = "$__lldb_module"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx11.0.0"
%struct.anon = type { ptr, ptr, ptr, i32, i32, ptr }
@"_ZGVZ12$__lldb_exprPvE23$__lldb_expr_result_ptr" = internal global i8 0, align 1
@reloc_placeholder = internal global i8 0
; Function Attrs: convergent mustprogress noinline nounwind optnone
define void @"_Z12$__lldb_exprPv"(ptr %"$__lldb_arg") #0 {
entry:
%0 = getelementptr i8, ptr %"$__lldb_arg", i32 0
%1 = bitcast ptr %0 to ptr
%"$__lldb_arg.addr" = alloca ptr, align 8, !clang.decl.ptr !13
%t = alloca %struct.anon, align 8, !clang.decl.ptr !14
%2 = bitcast ptr %"$__lldb_arg.addr" to ptr
call void (ptr, ...) inttoptr (i64 4780377248 to ptr)(ptr %2)
store ptr %"$__lldb_arg", ptr %"$__lldb_arg.addr", align 8
%issue_kind = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 0
%message = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 1
%filename = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 2
%line = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 3
%col = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 4
%memory_addr = getelementptr inbounds %struct.anon, ptr %t, i32 0, i32 5
call void @__ubsan_get_current_report_data(ptr %issue_kind, ptr %message, ptr %filename, ptr %line, ptr %col, ptr %memory_addr) #2
%guard.uninitialized = icmp eq i8 0, 0
br i1 %guard.uninitialized, label %init.check, label %init.end, !prof !15
init.check: ; preds = %entry
%3 = bitcast ptr %1 to ptr
call void (ptr, ...) inttoptr (i64 4780377248 to ptr)(ptr %3)
store ptr %t, ptr %1, align 8
br label %init.end
init.end: ; preds = %init.check, %entry
ret void
}
; Function Attrs: convergent
declare void @__ubsan_get_current_report_data(ptr, ptr, ptr, ptr, ptr, ptr) #1
attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #1 = { convergent "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" }
attributes #2 = { convergent "no-builtins" }
!clang.global.decl.ptrs = !{!0, !1, !2, !0, !3}
!llvm.module.flags = !{!4, !5, !6, !7, !8, !9, !10, !11}
!llvm.ident = !{!12}
!0 = distinct !{null, i64 4961775816}
!1 = !{ptr @"_Z12$__lldb_exprPv", i64 5388460520}
!2 = !{ptr @__ubsan_get_current_report_data, i64 5388460032}
!3 = distinct !{null, i64 4961775816}
!4 = !{i32 1, !"Objective-C Version", i32 2}
!5 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!6 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!7 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!8 = !{i32 1, !"Objective-C Class Properties", i32 64}
!9 = !{i32 1, !"Objective-C Enforce ClassRO Pointer Signing", i8 0}
!10 = !{i32 1, !"wchar_size", i32 4}
!11 = !{i32 7, !"frame-pointer", i32 2}
!12 = !{!"Apple clang version 15.0.0 (clang-1500.0.40.1)"}
!13 = !{i64 5388460296}
!14 = !{i64 5388461768}
!15 = !{!"branch_weights", i32 1, i32 1048575}
IRExecutionUnit::allocateCodeSection(Size=0xab, Alignment=8, SectionID=0) = 0x137ffc000
IRExecutionUnit::allocateDataSection(Size=0x10, Alignment=8, SectionID=1) = 0x1455f8000
IRExecutionUnit::allocateDataSection(Size=0x16, Alignment=8, SectionID=2) = 0x1455f8010
IRMemoryMap::Malloc (183, 0x8, 0x6, eAllocationPolicyProcessOnly) -> 0x11ceec5f0
IRMemoryMap::Malloc (23, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8600
IRMemoryMap::Malloc (31, 0x8, 0x3, eAllocationPolicyProcessOnly) -> 0x11d0f8620
IRExecutionUnit::getSymbolAddress(Name="___ubsan_get_current_report_data") = 1068992f8
IRMemoryMap::WriteMemory (0x11ceec5f0, 0x137ffc000, 0x171) went to [0x11ceec5f0..0x11ceec6a7)
IRMemoryMap::WriteMemory (0x11d0f8600, 0x1455f8000, 0x16) went to [0x11d0f8600..0x11d0f8617)
IRMemoryMap::WriteMemory (0x11d0f8620, 0x1455f8010, 0x22) went to [0x11d0f8620..0x11d0f863f)
IRExecutionUnit::GetRemoteAddressForLocal() found 0x137ffc000 in [0x137ffc000..0x137ffc0ab], and returned 0x11ceec5f0 from [0x11ceec5f0..0x11ceec69b].
Code can be run in the target.
Found function, has local address 0x137ffc000 and remote address 0x11ceec5f0
Function's code range is [0x11ceec5f0+0xab]
Function data has contents:
0x11ceec5f0: ff 43 01 d1 f4 4f 03 a9 fd 7b 04 a9 fd 03 01 91
0x11ceec600: f3 03 00 aa 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec610: a0 63 00 d1 00 01 3f d6 b3 83 1e f8 e8 03 00 91
0x11ceec620: 01 21 00 91 e8 03 00 91 02 41 00 91 e8 03 00 91
0x11ceec630: 03 61 00 91 e8 03 00 91 04 71 00 91 e8 03 00 91
0x11ceec640: 05 81 00 91 e0 03 00 91 08 00 00 90 08 41 43 f9
0x11ceec650: 00 01 3f d6 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec660: e0 03 13 aa 00 01 3f d6 e8 03 00 91 68 02 00 f9
0x11ceec670: fd 7b 44 a9 f4 4f 43 a9 ff 43 01 91 c0 03 5f d6
0x11ceec680: f8 92 89 06 01 00 00 00 00 00 00 00 00 00 00 00
0x11ceec690: 00 00 00 00 00 00 00 00 00 00 00
Function disassembly:
0x11ceec5f0: 0xd10143ff unknown sub sp, sp, #0x50
0x11ceec5f4: 0xa9034ff4 unknown stp x20, x19, [sp, #0x30]
0x11ceec5f8: 0xa9047bfd unknown stp x29, x30, [sp, #0x40]
0x11ceec5fc: 0x910103fd unknown add x29, sp, #0x40
0x11ceec600: 0xaa0003f3 unknown mov x19, x0
0x11ceec604: 0xd2989408 unknown mov x8, #0xc4a0
0x11ceec608: 0xf2a39dc8 unknown movk x8, #0x1cee, lsl #16
0x11ceec60c: 0xf2c00028 unknown movk x8, #0x1, lsl #32
0x11ceec610: 0xd10063a0 unknown sub x0, x29, #0x18
0x11ceec614: 0xd63f0100 unknown blr x8
0x11ceec618: 0xf81e83b3 unknown stur x19, [x29, #-0x18]
0x11ceec61c: 0x910003e8 unknown mov x8, sp
0x11ceec620: 0x91002101 unknown add x1, x8, #0x8
0x11ceec624: 0x910003e8 unknown mov x8, sp
0x11ceec628: 0x91004102 unknown add x2, x8, #0x10
0x11ceec62c: 0x910003e8 unknown mov x8, sp
0x11ceec630: 0x91006103 unknown add x3, x8, #0x18
0x11ceec634: 0x910003e8 unknown mov x8, sp
0x11ceec638: 0x91007104 unknown add x4, x8, #0x1c
0x11ceec63c: 0x910003e8 unknown mov x8, sp
0x11ceec640: 0x91008105 unknown add x5, x8, #0x20
0x11ceec644: 0x910003e0 unknown mov x0, sp
0x11ceec648: 0x90000008 unknown adrp x8, 0
0x11ceec64c: 0xf9434108 unknown ldr x8, [x8, #0x680]
0x11ceec650: 0xd63f0100 unknown blr x8
0x11ceec654: 0xd2989408 unknown mov x8, #0xc4a0
0x11ceec658: 0xf2a39dc8 unknown movk x8, #0x1cee, lsl #16
0x11ceec65c: 0xf2c00028 unknown movk x8, #0x1, lsl #32
0x11ceec660: 0xaa1303e0 unknown mov x0, x19
0x11ceec664: 0xd63f0100 unknown blr x8
0x11ceec668: 0x910003e8 unknown mov x8, sp
0x11ceec66c: 0xf9000268 unknown str x8, [x19]
0x11ceec670: 0xa9447bfd unknown ldp x29, x30, [sp, #0x40]
0x11ceec674: 0xa9434ff4 unknown ldp x20, x19, [sp, #0x30]
0x11ceec678: 0x910143ff unknown add sp, sp, #0x50
0x11ceec67c: 0xd65f03c0 unknown ret
0x11ceec680: 0x068992f8 unknown .long 0x068992f8 ; unknown opcode
0x11ceec684: 0x00000001 unknown udf #0x1
0x11ceec688: 0x00000000 unknown udf #0x0
0x11ceec68c: 0x00000000 unknown udf #0x0
0x11ceec690: 0x00000000 unknown udf #0x0
0x11ceec694: 0x00000000 unknown udf #0x0
Sections:
[0x137ffc000+0xab]->0x11ceec5f0 (alignment 8, section ID 0, name __text)
IRMemoryMap::ReadMemory (0x11ceec5f0, 0x60001351c2c0, 0x171) came from [0x11ceec5f0..0x11ceec6a7)
0x11ceec5f0: ff 43 01 d1 f4 4f 03 a9 fd 7b 04 a9 fd 03 01 91
0x11ceec600: f3 03 00 aa 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec610: a0 63 00 d1 00 01 3f d6 b3 83 1e f8 e8 03 00 91
0x11ceec620: 01 21 00 91 e8 03 00 91 02 41 00 91 e8 03 00 91
0x11ceec630: 03 61 00 91 e8 03 00 91 04 71 00 91 e8 03 00 91
0x11ceec640: 05 81 00 91 e0 03 00 91 08 00 00 90 08 41 43 f9
0x11ceec650: 00 01 3f d6 08 94 98 d2 c8 9d a3 f2 28 00 c0 f2
0x11ceec660: e0 03 13 aa 00 01 3f d6 e8 03 00 91 68 02 00 f9
0x11ceec670: fd 7b 44 a9 f4 4f 43 a9 ff 43 01 91 c0 03 5f d6
0x11ceec680: f8 92 89 06 01 00 00 00 00 00 00 00 00 00 00 00
0x11ceec690: 00 00 00 00 00 00 00 00 00 00 00
[0x1455f8000+0x10]->0x11d0f8600 (alignment 8, section ID 1, name __bss)
IRMemoryMap::ReadMemory (0x11d0f8600, 0x60000031be10, 0x16) came from [0x11d0f8600..0x11d0f8617)
0x11d0f8600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[0x1455f8010+0x16]->0x11d0f8620 (alignment 8, section ID 2, name __objc_imageinfo)
IRMemoryMap::ReadMemory (0x11d0f8620, 0x600000bfa4c0, 0x22) came from [0x11d0f8620..0x11d0f863f)
0x11d0f8620: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00
0x11d0f8630: 00 00 00 00 00 00
Couldn't find llvm.global_ctors.
[ClangASTImporter] Forgetting destination (ASTContext*)0x00000001411BAC00
[ClangASTImporter] Forgetting source->dest (ASTContext*)0x00000001411BAC00->(ASTContext*)0x0000000134A71600
== [UserExpression::Evaluate] Executing expression ==
IRMemoryMap::Malloc process_sp=0x1464ca600, process_sp->CanJIT()=true, process_sp->IsAlive()=true
IRMemoryMap::Malloc (15, 0x8, 0x3, eAllocationPolicyMirror) -> 0x11d0f8640
Materializer::Materialize (frame_sp = 0x125596338, process_address = 0x11d0f8640) materialized:
IRMemoryMap::ReadMemory (0x11d0f8640, 0x600000314cb0, 0x8) came from [0x11d0f8640..0x11d0f864f)
0x11d0f8640: EntityResultVariable
Pointer:
0x11d0f8640: e0 f1 b8 6f 01 00 00 00
Points to process memory:
ABIMacOSX_arm64::PrepareTrivialCall (tid = 0x247096, sp = 0x16fb8f230, func_addr = 0x11ceec5f0, return_addr = 0x10026d6ec, arg1 = 0x11d0f8640)
About to write arg1 (0x11d0f8640) into x0
-- [UserExpression::Execute] Execution of expression begins --
-- [UserExpression::Execute] Execution of expression completed --
-- [UserExpression::FinalizeJITExecution] Dematerializing after execution --
Materializer::Dematerialize (frame_sp = 0x136821ca8, process_address = 0x11d0f8640) about to dematerialize:
IRMemoryMap::ReadMemory (0x11d0f8640, 0x60000034c7d0, 0x8) came from [0x11d0f8640..0x11d0f864f)
0x11d0f8640: EntityResultVariable
Pointer:
0x11d0f8640: e0 f1 b8 6f 01 00 00 00
Points to process memory:
IRMemoryMap::ReadMemory (0x11d0f8640, 0x60000034c7d0, 0x8) came from [0x11d0f8640..0x11d0f864f)
LayoutRecordType on (ASTContext*)0x0000000134A71600 'scratch ASTContext' for (RecordDecl*)0x0000000127B56E70 [name = '']
returned project-wide scratch context
== [UserExpression::Evaluate] Execution completed normally with result ==
IRMemoryMap::Free (0x11ceec5f0) freed [0x11ceec5f0..0x11ceec6a7)
IRMemoryMap::Free (0x11d0f8600) freed [0x11d0f8600..0x11d0f8617)
IRMemoryMap::Free (0x11d0f8620) freed [0x11d0f8620..0x11d0f863f)
IRMemoryMap::Free (0x11d0f8640) freed [0x11d0f8640..0x11d0f864f)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment