Function at 0x1000145a
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x104
push ebx
push ebp
push esi
push edi
push 0x14
push 0x200
push 0x40
push 0x40
push str.temp_ctab
call fcn.10011ac0
mov esi, dword [esp + 0x130]
add esp, 0x14
mov ebx, dword [esp + 0x120]
mov ebp, eax
add ebx, esi
mov dword [esp + 0x30], ebp
xor edx, edx
mov dword [esp + 0xe4], ebx
mov edi, esi
cmp esi, ebx
jae 0x1000187d
nop dword [eax + eax]
mov al, byte [edi]
mov ecx, edi
movzx eax, al
inc edx
inc edi
mov dword [esp + 0xd4], edx
dec eax
mov dword [esp + 0x10], edi
sub ecx, esi
cmp eax, 0xfe
ja case.0x10001439.9
movzx eax, byte [eax + 0x10002920]
jmp dword [eax*4 + 0x100028fc]
lea eax, [esp + 0x10]
push eax
call fcn.10003d30
mov edi, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x1000186e
lea eax, [esp + 0x10]
push eax
call fcn.10003d30
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
call fcn.10003d30
mov edi, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x2c], eax
jmp 0x1000186e
lea eax, [esp + 0x10]
push eax
call fcn.10003d30
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
call fcn.10003d30
lea eax, [esp + 0x18]
push eax
call fcn.10003d30
mov edi, dword [esp + 0x1c]
add esp, 0xc
jmp 0x1000186e
lea eax, [esp + 0x10]
push eax
call fcn.10003d30
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
call fcn.10003d30
mov edi, dword [esp + 0x18]
add esp, 8
jmp 0x1000186e
lea eax, [esp + 0x10]
mov dword [esp + 0xf8], 0
xorps xmm0, xmm0
push eax
movups xmmword [esp + 0xec], xmm0
call fcn.10003d30
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
call fcn.10003d30
lea eax, [esp + 0x18]
push eax
call fcn.10003d30
mov esi, eax
lea eax, [esp + 0x1c]
push eax
call fcn.10003d30
lea eax, [esp + 0x20]
push eax
call fcn.10003d30
lea eax, [esp + 0x24]
push eax
call fcn.10003d30
lea eax, [esp + 0x28]
push eax
call fcn.10003d30
lea eax, [esp + 0x2c]
push eax
call fcn.10003d30
lea eax, [esp + 0x30]
mov dword [esp + 0x118], esi
push eax
call fcn.10003d30
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x118], eax
movzx eax, byte [ecx]
lea edi, [ecx + 2]
mov byte [esp + 0x68], al
movzx eax, byte [ecx + 1]
mov byte [esp + 0x69], al
push dword [esp + 0x68]
call fcn.1000e2b0
mov esi, eax
add esp, 0x28
test esi, esi
jle 0x100015c6
mov cl, byte [edi]
movzx eax, byte [edi + 1]
mov byte [esp + 0x40], cl
mov byte [esp + 0x41], al
push dword [esp + 0x40]
call fcn.1000e2b0
movzx eax, byte [edi + 2]
mov byte [esp + 0xe4], al
lea eax, [edi + 3]
push dword [esp + 0xe4]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
call fcn.10003df0
mov edi, dword [esp + 0x1c]
add esp, 0xc
sub esi, 1
jne 0x10001580
movzx eax, byte [edi]
mov byte [esp + 0x3c], al
movzx eax, byte [edi + 1]
add edi, 2
mov byte [esp + 0x3d], al
push dword [esp + 0x3c]
call fcn.1000e2b0
mov esi, eax
add esp, 4
test esi, esi
jle 0x10001640
nop word [eax + eax]
movzx eax, byte [edi + 1]
mov cl, byte [edi]
mov byte [esp + 0x19], al
movzx eax, byte [edi + 2]
mov byte [esp + 0x1a], al
movzx eax, byte [edi + 3]
mov byte [esp + 0x18], cl
mov byte [esp + 0x1b], al
push dword [esp + 0x18]
call fcn.1000e2a0
movzx eax, byte [edi + 4]
mov byte [esp + 0x24], al
lea eax, [edi + 5]
push dword [esp + 0x24]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
call fcn.10003df0
mov edi, dword [esp + 0x1c]
add esp, 0xc
sub esi, 1
jne 0x100015f0
movzx eax, byte [edi]
mov byte [esp + 0x38], al
movzx eax, byte [edi + 1]
add edi, 2
mov byte [esp + 0x39], al
push dword [esp + 0x38]
call fcn.1000e2b0
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
jle 0x10001760
nop word [eax + eax]
movzx eax, byte [edi + 1]
mov cl, byte [edi]
mov byte [esp + 0x1d], al
movzx eax, byte [edi + 2]
mov byte [esp + 0x1e], al
movzx eax, byte [edi + 3]
mov byte [esp + 0x1c], cl
mov byte [esp + 0x1f], al
push dword [esp + 0x1c]
call fcn.1000e2a0
mov ebp, dword [esp + 0xf0]
add esp, 4
mov ebx, dword [esp + 0xe8]
mov dword [esp + 0x28], eax
mov al, byte [edi + 4]
add edi, 5
lea ecx, [ebp + 1]
mov byte [esp + 0x27], al
mov dword [esp + 0xec], ecx
cmp ecx, ebx
jl 0x1000172d
lea eax, [ebx + 0xc]
mov dword [esp + 0xe8], eax
lea eax, [ebx*8 + 0x60]
push eax
call fcn.10016960
mov ecx, dword [esp + 0xec]
mov esi, eax
shl ecx, 3
push ecx
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0x10
test ebp, ebp
jne 0x10001700
mov dword [esp + 0xf0], esi
jmp 0x10001734
lea eax, [ebx*8]
push eax
push dword [esp + 0xf4]
push esi
call sub.VCRUNTIME140.dll_memcpy
push dword [esp + 0xfc]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 0x10
mov dword [esp + 0xf0], esi
jmp 0x10001734
mov esi, dword [esp + 0xf0]
sub dword [esp + 0x34], 1
mov eax, dword [esp + 0x28]
mov cl, byte [esp + 0x27]
mov dword [esi + ebp*8], eax
mov eax, dword [esp + 0xf0]
mov byte [eax + ebp*8 + 4], cl
jne 0x10001670
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0xe4]
lea eax, [esp + 0xe8]
push eax
push 4
lea eax, [esp + 0x1c]
push eax
push ebp
call fcn.10011660
mov esi, dword [esp + 0x12c]
add esp, 0x10
jmp 0x1000186e
lea eax, [esp + 0x10]
push eax
call fcn.10003d30
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
call fcn.10003d30
lea eax, [esp + 0x18]
push eax
call fcn.10003d30
mov dword [esp + 0x38], eax
lea eax, [esp + 0x1c]
push eax
call fcn.10003d30
mov edi, dword [esp + 0x20]
add esp, 0x10
add edi, eax
jmp 0x1000186e
lea eax, [esp + 0x10]
push eax
call fcn.10003d30
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
call fcn.10003d30
lea eax, [esp + 0x18]
push eax
call fcn.10003d30
mov esi, eax
lea eax, [esp + 0x1c]
push eax
call fcn.10003d30
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x2c], eax
lea edi, [ecx + esi*4]
mov esi, dword [esp + 0x11c]
jmp 0x1000186e
lea eax, [esp + 0x10]
push eax
call fcn.10003d30
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
call fcn.10003d30
lea eax, [esp + 0x18]
push eax
call fcn.10003d30
mov edx, dword [esp + 0x1c]
add esp, 0xc
movzx ecx, byte [edx]
mov edi, dword [ecx*4 + section..data]
imul edi, eax
inc edi
add edi, edx
jmp 0x1000186e
push str.UNKNOWN
push ecx
push edx
push str.H_d__d__s:_ERROR__n
call fcn.10002c50
push 0x223
push str.hprof_check.c
push str.unknown_heap_record_type
push 0
push 1
call fcn.10005090
add esp, 0x24
mov edx, dword [esp + 0xd4]
cmp edi, ebx
jb 0x10001410
cmp edi, ebx
je 0x1000189c
push 0x227
push str.hprof_check.c
push str.ppstartnbytes
push 0
push 1
call fcn.10005090
add esp, 0x14
mov ecx, dword [esp + 0x11c]
xor ebx, ebx
mov eax, dword [esp + 0xe4]
cmp ecx, eax
jae 0x100022c2
mov al, byte [esi]
mov edi, esi
movzx eax, al
inc ebx
inc esi
mov dword [esp + 0x1c], ebx
dec eax
mov dword [esp + 0x18], esi
sub edi, ecx
cmp eax, 0xfe
ja case.0x100018da.9
movzx eax, byte [eax + 0x10002a58]
jmp dword [eax*4 + 0x10002a20]
movzx eax, byte [esi]
mov byte [esp + 0xc0], al
movzx eax, byte [esi + 1]
mov byte [esp + 0xc1], al
movzx eax, byte [esi + 2]
mov byte [esp + 0xc2], al
movzx eax, byte [esi + 3]
add esi, 4
mov byte [esp + 0xc3], al
push dword [esp + 0xc0]
call fcn.1000e2a0
push eax
push str.HPROF_GC_ROOT_UNKNOWN
push edi
push ebx
push str.H_d__d__s:_id0x_x_n
mov dword [esp + 0x2c], eax
call fcn.10002c50
add esp, 0x18
jmp 0x100022ac
movzx eax, byte [esi]
mov byte [esp + 0xc4], al
movzx eax, byte [esi + 1]
mov byte [esp + 0xc5], al
movzx eax, byte [esi + 2]
mov byte [esp + 0xc6], al
movzx eax, byte [esi + 3]
mov byte [esp + 0xc7], al
push dword [esp + 0xc4]
call fcn.1000e2a0
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 4]
mov byte [esp + 0xcc], al
movzx eax, byte [esi + 5]
mov byte [esp + 0xcd], al
movzx eax, byte [esi + 6]
mov byte [esp + 0xce], al
movzx eax, byte [esi + 7]
add esi, 8
mov byte [esp + 0xcf], al
push dword [esp + 0xcc]
call fcn.1000e2a0
push eax
push dword [esp + 0x20]
mov dword [esp + 0x3c], eax
push str.HPROF_GC_ROOT_JNI_GLOBAL
push edi
push ebx
push str.H_d__d__s:_id0x_x__id20x_x_n
call fcn.10002c50
add esp, 0x20
jmp 0x100022ac
movzx eax, byte [esi]
mov byte [esp + 0xcc], al
movzx eax, byte [esi + 1]
mov byte [esp + 0xcd], al
movzx eax, byte [esi + 2]
mov byte [esp + 0xce], al
movzx eax, byte [esi + 3]
mov byte [esp + 0xcf], al
push dword [esp + 0xcc]
call fcn.1000e2a0
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 4]
mov byte [esp + 0xd4], al
movzx eax, byte [esi + 5]
mov byte [esp + 0xd5], al
movzx eax, byte [esi + 6]
mov byte [esp + 0xd6], al
movzx eax, byte [esi + 7]
mov byte [esp + 0xd7], al
push dword [esp + 0xd4]
call fcn.1000e2a0
mov esi, eax
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 8]
mov byte [esp + 0xe0], cl
movzx ecx, byte [eax + 9]
mov byte [esp + 0xe1], cl
movzx ecx, byte [eax + 0xa]
mov byte [esp + 0xe2], cl
lea ecx, [eax + 0xb]
movzx eax, byte [ecx]
mov byte [esp + 0xe3], al
lea eax, [ecx + 1]
push dword [esp + 0xe0]
mov dword [esp + 0x24], eax
call fcn.1000e2a0
push eax
push esi
push dword [esp + 0x28]
push str.HPROF_GC_ROOT_JNI_LOCAL
push edi
push ebx
push str.H_d__d__s:_id0x_x__thread_serial_num_u__fr0x_x_n
call fcn.10002c50
add esp, 0x28
mov esi, dword [esp + 0x18]
jmp 0x100022ac
movzx eax, byte [esi]
mov byte [esp + 0xdc], al
movzx eax, byte [esi + 1]
mov byte [esp + 0xdd], al
movzx eax, byte [esi + 2]
mov byte [esp + 0xde], al
movzx eax, byte [esi + 3]
mov byte [esp + 0xdf], al
push dword [esp + 0xdc]
call fcn.1000e2a0
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 4]
mov byte [esp + 0x4c], al
movzx eax, byte [esi + 5]
mov byte [esp + 0x4d], al
movzx eax, byte [esi + 6]
mov byte [esp + 0x4e], al
movzx eax, byte [esi + 7]
mov byte [esp + 0x4f], al
push dword [esp + 0x4c]
call fcn.1000e2a0
mov esi, eax
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 8]
mov byte [esp + 0x54], cl
movzx ecx, byte [eax + 9]
mov byte [esp + 0x55], cl
movzx ecx, byte [eax + 0xa]
mov byte [esp + 0x56], cl
lea ecx, [eax + 0xb]
movzx eax, byte [ecx]
mov byte [esp + 0x57], al
lea eax, [ecx + 1]
push dword [esp + 0x54]
mov dword [esp + 0x24], eax
call fcn.1000e2a0
push eax
push esi
push dword [esp + 0x28]
push str.HPROF_GC_ROOT_JAVA_FRAME
jmp 0x10001a96
movzx eax, byte [esi]
mov byte [esp + 0x50], al
movzx eax, byte [esi + 1]
mov byte [esp + 0x51], al
movzx eax, byte [esi + 2]
mov byte [esp + 0x52], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x53], al
push dword [esp + 0x50]
call fcn.1000e2a0
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 4]
mov byte [esp + 0x58], al
movzx eax, byte [esi + 5]
mov byte [esp + 0x59], al
movzx eax, byte [esi + 6]
mov byte [esp + 0x5a], al
movzx eax, byte [esi + 7]
add esi, 8
mov byte [esp + 0x5b], al
push dword [esp + 0x58]
call fcn.1000e2a0
push eax
push dword [esp + 0x20]
push str.HPROF_GC_ROOT_NATIVE_STACK
push edi
push ebx
push str.H_d__d__s:_id0x_x__thread_serial_num_u_n
call fcn.10002c50
add esp, 0x20
jmp 0x100022ac
movzx eax, byte [esi]
mov byte [esp + 0x58], al
movzx eax, byte [esi + 1]
mov byte [esp + 0x59], al
movzx eax, byte [esi + 2]
mov byte [esp + 0x5a], al
movzx eax, byte [esi + 3]
add esi, 4
mov byte [esp + 0x5b], al
push dword [esp + 0x58]
call fcn.1000e2a0
push eax
push str.HPROF_GC_ROOT_STICKY_CLASS
push edi
push ebx
push str.H_d__d__s:_id0x_x_n
mov dword [esp + 0x2c], eax
call fcn.10002c50
add esp, 0x18
jmp 0x100022ac
movzx eax, byte [esi]
mov byte [esp + 0x5c], al
movzx eax, byte [esi + 1]
mov byte [esp + 0x5d], al
movzx eax, byte [esi + 2]
mov byte [esp + 0x5e], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x5f], al
push dword [esp + 0x5c]
call fcn.1000e2a0
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 4]
mov byte [esp + 0x64], al
movzx eax, byte [esi + 5]
mov byte [esp + 0x65], al
movzx eax, byte [esi + 6]
mov byte [esp + 0x66], al
movzx eax, byte [esi + 7]
add esi, 8
mov byte [esp + 0x67], al
push dword [esp + 0x64]
call fcn.1000e2a0
push eax
push dword [esp + 0x20]
push str.HPROF_GC_ROOT_THREAD_BLOCK
push edi
push ebx
push str.H_d__d__s:_id0x_x__thread_serial_num_u_n
call fcn.10002c50
add esp, 0x20
jmp 0x100022ac
movzx eax, byte [esi]
mov byte [esp + 0x64], al
movzx eax, byte [esi + 1]
mov byte [esp + 0x65], al
movzx eax, byte [esi + 2]
mov byte [esp + 0x66], al
movzx eax, byte [esi + 3]
add esi, 4
mov byte [esp + 0x67], al
push dword [esp + 0x64]
call fcn.1000e2a0
push eax
push str.HPROF_GC_ROOT_MONITOR_USED
push edi
push ebx
push str.H_d__d__s:_id0x_x_n
mov dword [esp + 0x2c], eax
call fcn.10002c50
add esp, 0x18
jmp 0x100022ac
movzx eax, byte [esi]
mov byte [esp + 0x68], al
movzx eax, byte [esi + 1]
mov byte [esp + 0x69], al
movzx eax, byte [esi + 2]
mov byte [esp + 0x6a], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x6b], al
push dword [esp + 0x68]
call fcn.1000e2a0
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 4]
mov byte [esp + 0x70], al
movzx eax, byte [esi + 5]
mov byte [esp + 0x71], al
movzx eax, byte [esi + 6]
mov byte [esp + 0x72], al
movzx eax, byte [esi + 7]
mov byte [esp + 0x73], al
push dword [esp + 0x70]
call fcn.1000e2a0
movzx ecx, byte [esi + 8]
mov byte [esp + 0x78], cl
movzx ecx, byte [esi + 9]
mov byte [esp + 0x79], cl
movzx ecx, byte [esi + 0xa]
mov dword [esp + 0x30], eax
movzx eax, byte [esi + 0xb]
add esi, 0xc
mov byte [esp + 0x7a], cl
mov byte [esp + 0x7b], al
push dword [esp + 0x78]
call fcn.1000e2a0
mov ecx, dword [0x1001f83c]
add esp, 0xc
mov dword [esp + 0x20], eax
cmp eax, dword [ecx + 0x158]
jb 0x10001d7a
cmp eax, dword [ecx + 0x174]
jb 0x10001d99
push 0x265
push str.hprof_check.c
push str._trace_serial_num____gdata__trace_serial_number_start___trace_serial_num____gdata__trace_serial_number_counter
push 0
push 1
call fcn.10005090
mov eax, dword [esp + 0x34]
add esp, 0x14
push eax
push dword [esp + 0x2c]
push dword [esp + 0x1c]
push str.HPROF_GC_ROOT_THREAD_OBJ
push edi
push ebx
push str.H_d__d__s:_id0x_x__thread_serial_num_u__trace_serial_num_u_n
call fcn.10002c50
add esp, 0x1c
jmp 0x100022ac
movzx eax, byte [esi]
mov byte [esp + 0x74], al
movzx eax, byte [esi + 1]
mov byte [esp + 0x75], al
movzx eax, byte [esi + 2]
mov byte [esp + 0x76], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x77], al
push dword [esp + 0x74]
call fcn.1000e2a0
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 4]
mov byte [esp + 0x7c], al
movzx eax, byte [esi + 5]
mov byte [esp + 0x7d], al
movzx eax, byte [esi + 6]
mov byte [esp + 0x7e], al
movzx eax, byte [esi + 7]
mov byte [esp + 0x7f], al
push dword [esp + 0x7c]
call fcn.1000e2a0
mov ebp, eax
add esp, 8
mov eax, dword [0x1001f83c]
cmp ebp, dword [eax + 0x158]
jb 0x10001e2a
cmp ebp, dword [eax + 0x174]
jb 0x10001e45
push 0x26e
push str.hprof_check.c
push str._trace_serial_num____gdata__trace_serial_number_start___trace_serial_num____gdata__trace_serial_number_counter
push 0
push 1
call fcn.10005090
add esp, 0x14
push ebp
push dword [esp + 0x18]
push str.HPROF_GC_CLASS_DUMP
push edi
push ebx
push str.H_d__d__s:_id0x_x__trace_serial_num_u_n
call fcn.10002c50
movzx eax, byte [esi + 8]
mov byte [esp + 0x94], al
movzx eax, byte [esi + 9]
mov byte [esp + 0x95], al
movzx eax, byte [esi + 0xa]
mov byte [esp + 0x96], al
movzx eax, byte [esi + 0xb]
mov byte [esp + 0x97], al
push dword [esp + 0x94]
call fcn.1000e2a0
movzx ecx, byte [esi + 0xc]
mov byte [esp + 0x9c], cl
movzx ecx, byte [esi + 0xd]
mov byte [esp + 0x9d], cl
movzx ecx, byte [esi + 0xe]
mov dword [esp + 0x3c], eax
movzx eax, byte [esi + 0xf]
mov byte [esp + 0x9e], cl
mov byte [esp + 0x9f], al
push dword [esp + 0x9c]
call fcn.1000e2a0
movzx ecx, byte [esi + 0x10]
mov ebp, eax
movzx eax, byte [esi + 0x13]
mov byte [esp + 0xa4], cl
movzx ecx, byte [esi + 0x11]
mov byte [esp + 0xa5], cl
movzx ecx, byte [esi + 0x12]
mov byte [esp + 0xa6], cl
mov byte [esp + 0xa7], al
push dword [esp + 0xa4]
call fcn.1000e2a0
movzx ecx, byte [esi + 0x14]
mov ebx, eax
movzx eax, byte [esi + 0x17]
mov byte [esp + 0xac], cl
movzx ecx, byte [esi + 0x15]
mov byte [esp + 0xad], cl
movzx ecx, byte [esi + 0x16]
mov byte [esp + 0xae], cl
mov byte [esp + 0xaf], al
push dword [esp + 0xac]
call fcn.1000e2a0
movzx ecx, byte [esi + 0x18]
mov edi, eax
movzx eax, byte [esi + 0x1b]
mov byte [esp + 0xb4], cl
movzx ecx, byte [esi + 0x19]
mov byte [esp + 0xb5], cl
movzx ecx, byte [esi + 0x1a]
mov byte [esp + 0xb6], cl
mov byte [esp + 0xb7], al
push dword [esp + 0xb4]
call fcn.1000e2a0
mov esi, eax
mov eax, dword [esp + 0x44]
movzx ecx, byte [eax + 0x1c]
mov byte [esp + 0xbc], cl
movzx ecx, byte [eax + 0x1d]
mov byte [esp + 0xbd], cl
movzx ecx, byte [eax + 0x1e]
movzx eax, byte [eax + 0x1f]
mov byte [esp + 0xbe], cl
mov byte [esp + 0xbf], al
push dword [esp + 0xbc]
call fcn.1000e2a0
push eax
push esi
push edi
push ebx
push ebp
push dword [esp + 0x64]
push str.__su0x_x__ld0x_x__si0x_x__pr0x_x__re10x_x__re20x_x_n
call fcn.10002c50
mov ebx, dword [esp + 0x64]
add esp, 0x4c
movzx eax, byte [ebx + 0x20]
mov byte [esp + 0x94], al
movzx eax, byte [ebx + 0x21]
mov byte [esp + 0x95], al
movzx eax, byte [ebx + 0x22]
mov byte [esp + 0x96], al
movzx eax, byte [ebx + 0x23]
mov byte [esp + 0x97], al
push dword [esp + 0x94]
call fcn.1000e2a0
push eax
push str.__instance_size_d_n
call fcn.10002c50
movzx eax, byte [ebx + 0x24]
lea esi, [ebx + 0x26]
mov byte [esp + 0x108], al
movzx eax, byte [ebx + 0x25]
mov byte [esp + 0x109], al
push dword [esp + 0x108]
call fcn.1000e2b0
add esp, 0x10
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], 0
test eax, eax
jle 0x100020df
mov cl, byte [esi]
mov al, byte [esi + 1]
mov byte [esp + 0x100], cl
mov byte [esp + 0x101], al
push dword [esp + 0x100]
call fcn.1000e2b0
mov bl, byte [esi + 2]
lea ecx, [esi + 3]
mov ebp, eax
mov byte [esp + 0x108], bl
push dword [esp + 0x108]
lea eax, [esp + 0x18]
mov dword [esp + 0x18], ecx
push eax
call fcn.10003df0
mov edi, eax
mov esi, edx
movzx eax, bl
mov ebx, dword [esp + 0x24]
push eax
push ebp
push ebx
push str.__constant_pool__d:_cpi_d__ty_d__val
call fcn.10002c50
push 1
push esi
push edi
push dword [esp + 0x12c]
call fcn.10002cd0
push 0x10019634
call fcn.10002c50
mov esi, dword [esp + 0x40]
inc ebx
add esp, 0x30
mov dword [esp + 0x18], ebx
cmp ebx, dword [esp + 0x20]
jl 0x10002054
movzx eax, byte [esi]
mov byte [esp + 0x108], al
movzx eax, byte [esi + 1]
add esi, 2
mov byte [esp + 0x109], al
push dword [esp + 0x108]
call fcn.1000e2b0
mov ebx, eax
push ebx
push str.__static_field_count_d_n
mov dword [esp + 0x2c], ebx
call fcn.10002c50
add esp, 0xc
mov dword [esp + 0x18], 0
test ebx, ebx
jle 0x100021f2
nop word [eax + eax]
movzx eax, byte [esi]
mov byte [esp + 0x98], al
movzx eax, byte [esi + 1]
mov byte [esp + 0x99], al
movzx eax, byte [esi + 2]
mov byte [esp + 0x9a], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x9b], al
push dword [esp + 0x98]
call fcn.1000e2a0
mov ebx, eax
lea ecx, [esi + 5]
mov al, byte [esi + 4]
mov byte [esp + 0x110], al
mov ebp, dword [esp + 0x110]
mov byte [esp + 0x2b], al
lea eax, [esp + 0x14]
push ebp
push eax
mov dword [esp + 0x1c], ecx
call fcn.10003df0
push dword [esp + 0x24]
mov edi, eax
mov esi, edx
push str.__static_field__d:
call fcn.10002c50
push ebx
push 0x10019668
push dword [esp + 0x134]
call fcn.10002b70
movzx eax, byte [esp + 0x47]
push eax
push str.__ty_d__val
call fcn.10002c50
push 1
push esi
push edi
push ebp
call fcn.10002cd0
push 0x10019634
call fcn.10002c50
mov eax, dword [esp + 0x54]
add esp, 0x3c
mov esi, dword [esp + 0x10]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x20]
jl 0x10002130
movzx eax, byte [esi]
mov byte [esp + 0xd4], al
movzx eax, byte [esi + 1]
add esi, 2
mov byte [esp + 0xd5], al
push dword [esp + 0xd4]
call fcn.1000e2b0
mov ebx, eax
push ebx
push str.__instance_field_count_d_n
mov dword [esp + 0x2c], ebx
call fcn.10002c50
add esp, 0xc
xor ebp, ebp
test ebx, ebx
jle case.default.0x10002816
movzx eax, byte [esi]
mov byte [esp + 0x9c], al
movzx eax, byte [esi + 1]
mov byte [esp + 0x9d], al
movzx eax, byte [esi + 2]
mov byte [esp + 0x9e], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x9f], al
push dword [esp + 0x9c]
call fcn.1000e2a0
mov bl, byte [esi + 4]
mov edi, eax
push ebp
push str.__instance_field__d:
add esi, 5
call fcn.10002c50
push edi
push 0x10019668
push dword [esp + 0x12c]
call fcn.10002b70
movzx eax, bl
push eax
push str.__ty_d_n
call fcn.10002c50
inc ebp
add esp, 0x20
cmp ebp, dword [esp + 0x20]
jl 0x10002230
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x11c]
cmp esi, eax
jb 0x100018b4
cmp esi, eax
je 0x100022e1
push 0x336
push str.hprof_check.c
push str.ppstartnbytes
push 0
push 1
call fcn.10005090
add esp, 0x14
push 0
push 0x10003d00
push ebp
call fcn.10011510
add esp, 0xc
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x104
ret
movzx eax, byte [esi]
mov byte [esp + 0xa0], al
movzx eax, byte [esi + 1]
mov byte [esp + 0xa1], al
movzx eax, byte [esi + 2]
mov byte [esp + 0xa2], al
movzx eax, byte [esi + 3]
mov byte [esp + 0xa3], al
push dword [esp + 0xa0]
call fcn.1000e2a0
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 4]
mov byte [esp + 0xa8], al
movzx eax, byte [esi + 5]
mov byte [esp + 0xa9], al
movzx eax, byte [esi + 6]
mov byte [esp + 0xaa], al
movzx eax, byte [esi + 7]
mov byte [esp + 0xab], al
push dword [esp + 0xa8]
call fcn.1000e2a0
mov ecx, dword [0x1001f83c]
add esp, 8
mov dword [esp + 0x20], eax
cmp eax, dword [ecx + 0x158]
jb 0x1000238e
cmp eax, dword [ecx + 0x174]
jb 0x100023a9
push 0x2b1
push str.hprof_check.c
push str._trace_serial_num____gdata__trace_serial_number_start___trace_serial_num____gdata__trace_serial_number_counter
push 0
push 1
call fcn.10005090
add esp, 0x14
movzx eax, byte [esi + 8]
mov byte [esp + 0xa8], al
movzx eax, byte [esi + 9]
mov byte [esp + 0xa9], al
movzx eax, byte [esi + 0xa]
mov byte [esp + 0xaa], al
movzx eax, byte [esi + 0xb]
mov byte [esp + 0xab], al
push dword [esp + 0xa8]
call fcn.1000e2a0
mov dword [esp + 0x30], eax
movzx eax, byte [esi + 0xc]
mov byte [esp + 0xb0], al
movzx eax, byte [esi + 0xd]
mov byte [esp + 0xb1], al
movzx eax, byte [esi + 0xe]
mov byte [esp + 0xb2], al
movzx eax, byte [esi + 0xf]
mov byte [esp + 0xb3], al
lea eax, [esi + 0x10]
push dword [esp + 0xb0]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
call fcn.1000e2a0
mov esi, eax
push esi
push dword [esp + 0x38]
push dword [esp + 0x30]
push dword [esp + 0x28]
push str.HPROF_GC_INSTANCE_DUMP
push edi
push ebx
push str.H_d__d__s:_id0x_x__trace_serial_num_u__cid0x_x__nbytes_d_n
call fcn.10002c50
add esp, 0x28
test esi, esi
jle 0x10001aa5
push 4
lea eax, [esp + 0x30]
push eax
push ebp
call fcn.10011720
push eax
push ebp
call fcn.10011990
add esp, 0x14
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], 0
nop word [eax + eax]
xor ebx, ebx
cmp dword [eax + 4], ebx
jle 0x1000250c
nop dword [eax + eax]
mov eax, dword [eax + 8]
mov cl, byte [eax + ebx*8 + 4]
mov ebp, dword [eax + ebx*8]
lea eax, [esp + 0x10]
mov byte [esp + 0x44], cl
push dword [esp + 0x44]
push eax
call fcn.10003df0
push dword [esp + 0x20]
mov edi, eax
mov esi, edx
push str.__field__d:
call fcn.10002c50
push ebp
push 0x10019668
push dword [esp + 0x130]
call fcn.10002b70
movzx eax, byte [esp + 0x60]
push eax
push str.__ty_d__val
call fcn.10002c50
push 1
push esi
push edi
push dword [esp + 0x74]
call fcn.10002cd0
push 0x10019634
call fcn.10002c50
mov eax, dword [esp + 0x60]
inc ebx
inc dword [esp + 0x50]
add esp, 0x38
cmp ebx, dword [eax + 4]
jl 0x10002490
mov ebp, dword [esp + 0x30]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x100028c1
push 4
lea eax, [esp + 0x30]
push eax
push ebp
call fcn.10011720
push eax
push ebp
call fcn.10011990
add esp, 0x14
mov dword [esp + 0x28], eax
test eax, eax
jne 0x10002480
mov esi, dword [esp + 0x10]
jmp 0x100022a8
movzx eax, byte [esi]
mov byte [esp + 0xb0], al
movzx eax, byte [esi + 1]
mov byte [esp + 0xb1], al
movzx eax, byte [esi + 2]
mov byte [esp + 0xb2], al
movzx eax, byte [esi + 3]
mov byte [esp + 0xb3], al
push dword [esp + 0xb0]
call fcn.1000e2a0
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 4]
mov byte [esp + 0xb8], al
movzx eax, byte [esi + 5]
mov byte [esp + 0xb9], al
movzx eax, byte [esi + 6]
mov byte [esp + 0xba], al
movzx eax, byte [esi + 7]
mov byte [esp + 0xbb], al
push dword [esp + 0xb8]
call fcn.1000e2a0
mov ecx, dword [0x1001f83c]
add esp, 8
mov dword [esp + 0x20], eax
cmp eax, dword [ecx + 0x158]
jb 0x100025d7
cmp eax, dword [ecx + 0x174]
jb 0x100025f2
push 0x2e9
push str.hprof_check.c
push str._trace_serial_num____gdata__trace_serial_number_start___trace_serial_num____gdata__trace_serial_number_counter
push 0
push 1
call fcn.10005090
add esp, 0x14
movzx eax, byte [esi + 8]
mov byte [esp + 0xb8], al
movzx eax, byte [esi + 9]
mov byte [esp + 0xb9], al
movzx eax, byte [esi + 0xa]
mov byte [esp + 0xba], al
movzx eax, byte [esi + 0xb]
mov byte [esp + 0xbb], al
push dword [esp + 0xb8]
call fcn.1000e2a0
movzx ecx, byte [esi + 0xc]
mov ebx, eax
movzx eax, byte [esi + 0xf]
mov byte [esp + 0xc0], cl
movzx ecx, byte [esi + 0xd]
mov byte [esp + 0xc1], cl
movzx ecx, byte [esi + 0xe]
add esi, 0x10
mov byte [esp + 0xc2], cl
mov byte [esp + 0xc3], al
push dword [esp + 0xc0]
call fcn.1000e2a0
push eax
push ebx
push dword [esp + 0x30]
mov dword [esp + 0x40], eax
push dword [esp + 0x28]
push str.HPROF_GC_OBJ_ARRAY_DUMP
push edi
push dword [esp + 0x3c]
push str.H_d__d__s:_id0x_x__trace_serial_num_u__nelems_d__eid0x_x_n
call fcn.10002c50
add esp, 0x28
xor edi, edi
test ebx, ebx
jle 0x100022a8
nop word [eax + eax]
movzx eax, byte [esi]
mov byte [esp + 0x34], al
movzx eax, byte [esi + 1]
mov byte [esp + 0x35], al
movzx eax, byte [esi + 2]
mov byte [esp + 0x36], al
movzx eax, byte [esi + 3]
add esi, 4
mov byte [esp + 0x37], al
push dword [esp + 0x34]
call fcn.1000e2a0
push eax
push edi
push str.____d_:_id0x_x_n
call fcn.10002c50
inc edi
add esp, 0x10
cmp edi, ebx
jl 0x100026a0
jmp 0x100022a8
movzx eax, byte [esi]
mov byte [esp + 0x38], al
movzx eax, byte [esi + 1]
mov byte [esp + 0x39], al
movzx eax, byte [esi + 2]
mov byte [esp + 0x3a], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x3b], al
push dword [esp + 0x38]
call fcn.1000e2a0
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 4]
mov byte [esp + 0x40], al
movzx eax, byte [esi + 5]
mov byte [esp + 0x41], al
movzx eax, byte [esi + 6]
mov byte [esp + 0x42], al
movzx eax, byte [esi + 7]
mov byte [esp + 0x43], al
push dword [esp + 0x40]
call fcn.1000e2a0
mov ecx, dword [0x1001f83c]
add esp, 8
mov dword [esp + 0x28], eax
cmp eax, dword [ecx + 0x158]
jb 0x10002756
cmp eax, dword [ecx + 0x174]
jb 0x10002771
push 0x2f8
push str.hprof_check.c
push str._trace_serial_num____gdata__trace_serial_number_start___trace_serial_num____gdata__trace_serial_number_counter
push 0
push 1
call fcn.10005090
add esp, 0x14
movzx eax, byte [esi + 8]
mov byte [esp + 0x40], al
movzx eax, byte [esi + 9]
mov byte [esp + 0x41], al
movzx eax, byte [esi + 0xa]
mov byte [esp + 0x42], al
movzx eax, byte [esi + 0xb]
mov byte [esp + 0x43], al
push dword [esp + 0x40]
call fcn.1000e2a0
mov cl, byte [esi + 0xc]
mov ebx, eax
movzx eax, cl
add esi, 0xd
push eax
push ebx
push dword [esp + 0x34]
mov dword [esp + 0x30], ebx
push dword [esp + 0x24]
mov byte [esp + 0xf4], cl
push str.HPROF_GC_PRIM_ARRAY_DUMP
push edi
push dword [esp + 0x38]
mov dword [esp + 0x30], esi
push str.H_d__d__s:_id0x_x__trace_serial_num_u__nelems_d__ty_d_n
mov dword [esp + 0x134], eax
call fcn.10002c50
add esp, 0x24
test ebx, ebx
jle 0x100022a8
mov eax, dword [esp + 0x110]
mov ecx, 0x1001979c
add eax, 0xfffffffc
mov dword [esp + 0x18], ecx
xor edi, edi
mov dword [esp + 0x28], 1
mov ebp, 8
cmp eax, 7
ja case.default.0x10002816
movzx eax, byte [eax + 0x10002b60]
jmp dword [eax*4 + 0x10002b58]
mov ecx, 0x10019270
mov dword [esp + 0x28], edi
mov ebp, 0x48
mov dword [esp + 0x18], ecx
push ecx
push str.__val_s
call fcn.10002c50
xor ebx, ebx
add esp, 8
cmp dword [esp + 0x20], ebx
jle case.default.0x10002816
mov esi, dword [esp + 0xe0]
test ebx, ebx
jle 0x10002869
test edi, edi
jne 0x10002869
push dword [esp + 0x18]
push str.___s
call fcn.10002c50
add esp, 8
lea eax, [esp + 0x10]
push esi
push eax
call fcn.10003df0
push dword [esp + 0x30]
push edx
push eax
push esi
call fcn.10002cd0
lea esi, [edi + 1]
add esp, 0x18
cmp esi, ebp
jl 0x10002897
push 0x100197b4
call fcn.10002c50
add esp, 4
xor edi, edi
cmp esi, ebp
cmovl edi, esi
mov esi, dword [esp + 0xe0]
inc ebx
cmp ebx, dword [esp + 0x20]
jl 0x10002850
test edi, edi
je 0x100028c1
push dword [esp + 0x18]
push 0x100197b8
call fcn.10002c50
add esp, 8
mov esi, dword [esp + 0x10]
jmp case.default.0x10002816
push str.UNKNOWN
push edi
push ebx
push str.H_d__d__s:_ERROR__n
call fcn.10002c50
push 0x332
push str.hprof_check.c
push str.unknown_heap_record_type
push 0
push 1
call fcn.10005090
add esp, 0x24
jmp 0x100022ac