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

Disassembly:
sub esp, 0x10c
push ebx
mov ebx, dword [esp + 0x118]
push ebp
push esi
push edi
push 0x14
push 0x200
push 0x40
push 0x40
push str.temp_ctab
call fcn.10012500
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x13c]
lea edi, [ebx + eax]
add esp, 0x14
xor ebp, ebp
mov esi, ebx
mov dword [esp + 0xdc], edi
cmp ebx, edi
jae 0x10002355
lea ecx, [ecx]
mov cl, byte [esi]
movzx ecx, cl
mov eax, esi
inc ebp
dec ecx
sub eax, ebx
inc esi
mov dword [esp + 0xd8], ebp
cmp ecx, 0xfe
ja case.0x10001896.9
movzx ecx, byte [ecx + 0x10003520]
jmp dword [ecx*4 + 0x100034e8]
movzx edx, byte [esi]
mov al, byte [esi + 1]
mov cl, byte [esi + 2]
mov byte [esp + 0x14], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x15], al
mov byte [esp + 0x16], cl
mov byte [esp + 0x17], dl
mov eax, dword [esp + 0x14]
push eax
add esi, 4
call fcn.1000ef90
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x1000234d
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov byte [esp + 0x1c], cl
movzx ecx, byte [esi + 3]
mov byte [esp + 0x1d], dl
mov byte [esp + 0x1e], al
mov byte [esp + 0x1f], cl
mov edx, dword [esp + 0x1c]
push edx
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 5]
movzx edx, byte [esi + 6]
mov byte [esp + 0x8c], al
movzx eax, byte [esi + 7]
mov byte [esp + 0x8d], cl
mov byte [esp + 0x8e], dl
mov byte [esp + 0x8f], al
mov ecx, dword [esp + 0x8c]
push ecx
add esi, 8
call fcn.1000ef90
add esp, 8
mov dword [esp + 0xbc], eax
jmp 0x1000234d
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov byte [esp + 0x30], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x31], al
mov byte [esp + 0x32], cl
mov byte [esp + 0x33], dl
mov eax, dword [esp + 0x30]
push eax
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
mov byte [esp + 0x9c], cl
movzx ecx, byte [esi + 7]
mov byte [esp + 0x9d], dl
mov byte [esp + 0x9e], al
mov byte [esp + 0x9f], cl
mov edx, dword [esp + 0x9c]
push edx
call fcn.1000ef90
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 9]
movzx edx, byte [esi + 0xa]
mov byte [esp + 0x40], al
movzx eax, byte [esi + 0xb]
mov byte [esp + 0x41], cl
mov byte [esp + 0x42], dl
mov byte [esp + 0x43], al
mov ecx, dword [esp + 0x40]
push ecx
add esi, 0xc
call fcn.1000ef90
add esp, 0xc
jmp 0x1000234d
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov byte [esp + 0xb0], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0xb1], al
mov byte [esp + 0xb2], cl
mov byte [esp + 0xb3], dl
mov eax, dword [esp + 0xb0]
push eax
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
mov byte [esp + 0x44], cl
movzx ecx, byte [esi + 7]
mov byte [esp + 0x45], dl
mov byte [esp + 0x46], al
mov byte [esp + 0x47], cl
mov edx, dword [esp + 0x44]
push edx
call fcn.1000ef90
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 9]
movzx edx, byte [esi + 0xa]
mov byte [esp + 0xa8], al
movzx eax, byte [esi + 0xb]
mov byte [esp + 0xa9], cl
mov byte [esp + 0xaa], dl
mov byte [esp + 0xab], al
mov ecx, dword [esp + 0xa8]
push ecx
add esi, 0xc
call fcn.1000ef90
add esp, 0xc
jmp 0x1000234d
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov byte [esp + 0x48], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x49], al
mov byte [esp + 0x4a], cl
mov byte [esp + 0x4b], dl
mov eax, dword [esp + 0x48]
push eax
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
mov byte [esp + 0xc4], cl
movzx ecx, byte [esi + 7]
mov byte [esp + 0xc5], dl
mov byte [esp + 0xc6], al
mov byte [esp + 0xc7], cl
mov edx, dword [esp + 0xc4]
push edx
add esi, 8
call fcn.1000ef90
add esp, 8
jmp 0x1000234d
movzx eax, byte [esi]
mov cl, byte [esi + 1]
mov dl, byte [esi + 2]
mov byte [esp + 0x50], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x51], cl
mov byte [esp + 0x52], dl
mov byte [esp + 0x53], al
mov ecx, dword [esp + 0x50]
push ecx
add esi, 4
call fcn.1000ef90
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x1000234d
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov byte [esp + 0x84], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x85], al
mov byte [esp + 0x86], cl
mov byte [esp + 0x87], dl
mov eax, dword [esp + 0x84]
push eax
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
mov byte [esp + 0x5c], cl
movzx ecx, byte [esi + 7]
mov byte [esp + 0x5d], dl
mov byte [esp + 0x5e], al
mov byte [esp + 0x5f], cl
mov edx, dword [esp + 0x5c]
push edx
add esi, 8
call fcn.1000ef90
add esp, 8
jmp 0x1000234d
movzx eax, byte [esi]
mov cl, byte [esi + 1]
mov dl, byte [esi + 2]
mov byte [esp + 0x8c], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x8d], cl
mov byte [esp + 0x8e], dl
mov byte [esp + 0x8f], al
mov ecx, dword [esp + 0x8c]
push ecx
add esi, 4
call fcn.1000ef90
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x1000234d
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov byte [esp + 0x60], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x61], al
mov byte [esp + 0x62], cl
mov byte [esp + 0x63], dl
mov eax, dword [esp + 0x60]
push eax
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
mov byte [esp + 0x98], cl
movzx ecx, byte [esi + 7]
mov byte [esp + 0x99], dl
mov byte [esp + 0x9a], al
mov byte [esp + 0x9b], cl
mov edx, dword [esp + 0x98]
push edx
call fcn.1000ef90
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 9]
movzx edx, byte [esi + 0xa]
mov byte [esp + 0x70], al
movzx eax, byte [esi + 0xb]
mov byte [esp + 0x71], cl
mov byte [esp + 0x72], dl
mov byte [esp + 0x73], al
mov ecx, dword [esp + 0x70]
push ecx
add esi, 0xc
call fcn.1000ef90
add esp, 0xc
jmp 0x1000234d
xor eax, eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov byte [esp + 0x9c], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x9d], al
mov byte [esp + 0x9e], cl
mov byte [esp + 0x9f], dl
mov eax, dword [esp + 0x9c]
push eax
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
mov byte [esp + 0x74], cl
movzx ecx, byte [esi + 7]
mov byte [esp + 0x75], dl
mov byte [esp + 0x76], al
mov byte [esp + 0x77], cl
mov edx, dword [esp + 0x74]
push edx
call fcn.1000ef90
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 9]
movzx edx, byte [esi + 0xa]
mov byte [esp + 0xac], al
movzx eax, byte [esi + 0xb]
mov byte [esp + 0xad], cl
mov byte [esp + 0xae], dl
mov byte [esp + 0xaf], al
mov ecx, dword [esp + 0xac]
push ecx
call fcn.1000ef90
movzx edx, byte [esi + 0xc]
movzx ecx, byte [esi + 0xe]
mov edi, eax
movzx eax, byte [esi + 0xd]
mov byte [esp + 0x84], dl
movzx edx, byte [esi + 0xf]
mov byte [esp + 0x85], al
mov byte [esp + 0x86], cl
mov byte [esp + 0x87], dl
mov eax, dword [esp + 0x84]
push eax
call fcn.1000ef90
movzx ecx, byte [esi + 0x10]
movzx edx, byte [esi + 0x11]
movzx eax, byte [esi + 0x12]
mov byte [esp + 0xbc], cl
movzx ecx, byte [esi + 0x13]
mov byte [esp + 0xbd], dl
mov byte [esp + 0xbe], al
mov byte [esp + 0xbf], cl
mov edx, dword [esp + 0xbc]
push edx
call fcn.1000ef90
movzx eax, byte [esi + 0x14]
movzx ecx, byte [esi + 0x15]
movzx edx, byte [esi + 0x16]
mov byte [esp + 0x94], al
movzx eax, byte [esi + 0x17]
mov byte [esp + 0x95], cl
mov byte [esp + 0x96], dl
mov byte [esp + 0x97], al
mov ecx, dword [esp + 0x94]
push ecx
call fcn.1000ef90
movzx edx, byte [esi + 0x18]
movzx eax, byte [esi + 0x19]
movzx ecx, byte [esi + 0x1a]
mov byte [esp + 0xcc], dl
movzx edx, byte [esi + 0x1b]
mov byte [esp + 0xcd], al
mov byte [esp + 0xce], cl
mov byte [esp + 0xcf], dl
mov eax, dword [esp + 0xcc]
push eax
call fcn.1000ef90
movzx ecx, byte [esi + 0x1c]
movzx edx, byte [esi + 0x1d]
movzx eax, byte [esi + 0x1e]
mov byte [esp + 0x44], cl
movzx ecx, byte [esi + 0x1f]
mov byte [esp + 0x45], dl
mov byte [esp + 0x46], al
mov byte [esp + 0x47], cl
mov edx, dword [esp + 0x44]
push edx
call fcn.1000ef90
mov dword [esp + 0x110], edi
movzx eax, byte [esi + 0x20]
movzx ecx, byte [esi + 0x21]
movzx edx, byte [esi + 0x22]
mov byte [esp + 0xc8], al
movzx eax, byte [esi + 0x23]
mov byte [esp + 0xc9], cl
mov byte [esp + 0xca], dl
mov byte [esp + 0xcb], al
mov ecx, dword [esp + 0xc8]
push ecx
call fcn.1000ef90
mov dword [esp + 0x110], eax
movzx edx, byte [esi + 0x24]
movzx eax, byte [esi + 0x25]
mov byte [esp + 0xe8], dl
mov byte [esp + 0xe9], al
mov ecx, dword [esp + 0xe8]
push ecx
add esi, 0x26
call fcn.1000ef80
add esp, 0x28
test eax, eax
jle 0x10001f0f
mov edi, eax
mov dl, byte [esi]
mov al, byte [esi + 1]
mov byte [esp + 0xcc], dl
mov byte [esp + 0xcd], al
mov ecx, dword [esp + 0xcc]
push ecx
call fcn.1000ef80
mov cl, byte [esi + 2]
add esi, 3
add esp, 4
lea eax, [esp + 0x18]
mov dword [esp + 0x18], esi
call fcn.10001380
dec edi
mov esi, dword [esp + 0x18]
jne 0x10001ed2
mov dl, byte [esi]
mov al, byte [esi + 1]
mov byte [esp + 0xd0], dl
mov byte [esp + 0xd1], al
mov ecx, dword [esp + 0xd0]
push ecx
add esi, 2
call fcn.1000ef80
add esp, 4
test eax, eax
jle 0x10001f94
mov edi, eax
jmp 0x10001f40
movzx edx, byte [esi]
movzx ecx, byte [esi + 2]
mov al, byte [esi + 1]
mov byte [esp + 0x90], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x91], al
mov byte [esp + 0x92], cl
mov byte [esp + 0x93], dl
mov eax, dword [esp + 0x90]
push eax
call fcn.1000ef90
mov cl, byte [esi + 4]
add esi, 5
add esp, 4
lea eax, [esp + 0x18]
mov dword [esp + 0x18], esi
call fcn.10001380
dec edi
mov esi, dword [esp + 0x18]
jne 0x10001f40
mov cl, byte [esi]
mov dl, byte [esi + 1]
mov byte [esp + 0xc8], cl
mov byte [esp + 0xc9], dl
mov eax, dword [esp + 0xc8]
push eax
add esi, 2
call fcn.1000ef80
add esp, 4
test eax, eax
jle 0x100020b8
mov dword [esp + 0x18], eax
movzx ecx, byte [esi]
movzx eax, byte [esi + 2]
mov dl, byte [esi + 1]
mov byte [esp + 0xb8], cl
movzx ecx, byte [esi + 3]
mov byte [esp + 0xb9], dl
mov byte [esp + 0xba], al
mov byte [esp + 0xbb], cl
mov edx, dword [esp + 0xb8]
push edx
call fcn.1000ef90
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x28], eax
movzx eax, byte [esi + 4]
mov byte [esp + 0x27], al
mov eax, dword [esp + 0xe4]
mov edi, ecx
inc ecx
add esp, 4
add esi, 5
mov dword [esp + 0xe4], ecx
cmp ecx, eax
jl 0x10002091
mov ebx, eax
add eax, 0xc
lea ecx, [eax*8]
push ecx
mov dword [esp + 0xe4], eax
call fcn.10015d30
mov edx, dword [esp + 0xe4]
mov ebp, eax
lea eax, [edx*8]
push eax
push 0
push ebp
call sub.msvcr100.dll_memset
add esp, 0x10
test edi, edi
je 0x1000208a
mov edx, dword [esp + 0xe8]
lea ecx, [ebx*8]
push ecx
push edx
push ebp
call sub.msvcr100.dll_memcpy
mov eax, dword [esp + 0xf4]
push eax
call sub.msvcr100.dll_free
add esp, 0x10
mov dword [esp + 0xe8], ebp
dec dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xe8]
mov dword [edx + edi*8], ecx
mov eax, dword [esp + 0xe8]
mov cl, byte [esp + 0x23]
mov byte [eax + edi*8 + 4], cl
jne 0x10001fc6
mov ecx, dword [esp + 0xd4]
lea edx, [esp + 0xe0]
push edx
push 4
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.10012860
mov ebx, dword [esp + 0x134]
mov ebp, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
add esp, 0x10
jmp 0x1000234d
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov byte [esp + 0x2c], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x2d], al
mov byte [esp + 0x2e], cl
mov byte [esp + 0x2f], dl
mov eax, dword [esp + 0x2c]
push eax
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
mov byte [esp + 0x38], cl
movzx ecx, byte [esi + 7]
mov byte [esp + 0x39], dl
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], cl
mov edx, dword [esp + 0x38]
push edx
call fcn.1000ef90
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 9]
movzx edx, byte [esi + 0xa]
mov byte [esp + 0x44], al
movzx eax, byte [esi + 0xb]
mov byte [esp + 0x45], cl
mov byte [esp + 0x46], dl
mov byte [esp + 0x47], al
mov ecx, dword [esp + 0x44]
push ecx
call fcn.1000ef90
mov dword [esp + 0xc8], eax
movzx edx, byte [esi + 0xc]
movzx eax, byte [esi + 0xd]
movzx ecx, byte [esi + 0xe]
mov byte [esp + 0x50], dl
movzx edx, byte [esi + 0xf]
mov byte [esp + 0x51], al
mov byte [esp + 0x52], cl
mov byte [esp + 0x53], dl
mov eax, dword [esp + 0x50]
push eax
add esi, 0x10
call fcn.1000ef90
add esp, 0x10
add esi, eax
jmp 0x1000234d
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov byte [esp + 0x4c], cl
movzx ecx, byte [esi + 3]
mov byte [esp + 0x4d], dl
mov byte [esp + 0x4e], al
mov byte [esp + 0x4f], cl
mov edx, dword [esp + 0x4c]
push edx
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 5]
movzx edx, byte [esi + 6]
mov byte [esp + 0x58], al
movzx eax, byte [esi + 7]
mov byte [esp + 0x59], cl
mov byte [esp + 0x5a], dl
mov byte [esp + 0x5b], al
mov ecx, dword [esp + 0x58]
push ecx
call fcn.1000ef90
movzx edx, byte [esi + 8]
movzx eax, byte [esi + 9]
movzx ecx, byte [esi + 0xa]
mov byte [esp + 0x64], dl
movzx edx, byte [esi + 0xb]
mov byte [esp + 0x65], al
mov byte [esp + 0x66], cl
mov byte [esp + 0x67], dl
mov eax, dword [esp + 0x64]
push eax
call fcn.1000ef90
movzx ecx, byte [esi + 0xc]
movzx edx, byte [esi + 0xd]
mov byte [esp + 0x70], cl
movzx ecx, byte [esi + 0xf]
mov edi, eax
movzx eax, byte [esi + 0xe]
mov byte [esp + 0x71], dl
mov byte [esp + 0x72], al
mov byte [esp + 0x73], cl
mov edx, dword [esp + 0x70]
push edx
call fcn.1000ef90
lea esi, [esi + edi*4 + 0x10]
mov edi, dword [esp + 0xec]
add esp, 0x10
mov dword [esp + 0xbc], eax
jmp 0x1000234d
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
mov byte [esp + 0x6c], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x6d], cl
mov byte [esp + 0x6e], dl
mov byte [esp + 0x6f], al
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx edx, byte [esi + 4]
movzx eax, byte [esi + 5]
movzx ecx, byte [esi + 6]
mov byte [esp + 0x78], dl
movzx edx, byte [esi + 7]
mov byte [esp + 0x79], al
mov byte [esp + 0x7a], cl
mov byte [esp + 0x7b], dl
mov eax, dword [esp + 0x78]
push eax
call fcn.1000ef90
movzx ecx, byte [esi + 8]
movzx edx, byte [esi + 9]
movzx eax, byte [esi + 0xa]
mov byte [esp + 0x84], cl
movzx ecx, byte [esi + 0xb]
mov byte [esp + 0x85], dl
mov byte [esp + 0x86], al
mov byte [esp + 0x87], cl
mov edx, dword [esp + 0x84]
push edx
call fcn.1000ef90
mov cl, byte [esi + 0xc]
movzx ecx, cl
mov edx, dword [ecx*4 + section..data]
imul edx, eax
add esi, 0xd
add esp, 0xc
add esi, edx
jmp 0x1000234d
push str.UNKNOWN
push eax
push ebp
push str.H_d__d__s:_ERROR__n
call fcn.100014f0
push 0x223
push str.hprof_check.c
push str.unknown_heap_record_type
push 0
push 1
call fcn.10005d70
add esp, 0x24
cmp esi, edi
jb 0x10001870
cmp esi, edi
je 0x10002374
push 0x227
push str.hprof_check.c
push str.ppstartnbytes
push 0
push 1
call fcn.10005d70
add esp, 0x14
xor ebp, ebp
mov esi, ebx
cmp ebx, edi
jae 0x100030d2
jmp 0x10002389
mov ebx, dword [esp + 0x124]
mov al, byte [esi]
movzx eax, al
mov edi, esi
inc ebp
dec eax
sub edi, ebx
inc esi
mov dword [esp + 0xd8], ebp
cmp eax, 0xfe
ja case.0x100023ae.9
movzx eax, byte [eax + 0x10003658]
jmp dword [eax*4 + 0x10003620]
movzx ecx, byte [esi]
mov dl, byte [esi + 1]
mov al, byte [esi + 2]
mov byte [esp + 0x7c], cl
movzx ecx, byte [esi + 3]
mov byte [esp + 0x7d], dl
mov byte [esp + 0x7e], al
mov byte [esp + 0x7f], cl
mov edx, dword [esp + 0x7c]
push edx
add esi, 4
call fcn.1000ef90
push eax
push str.HPROF_GC_ROOT_UNKNOWN
push edi
push ebp
push str.H_d__d__s:_id0x_x_n
mov dword [esp + 0x28], eax
call fcn.100014f0
add esp, 0x18
jmp case.default.0x100033f2
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
mov byte [esp + 0x74], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x75], cl
mov byte [esp + 0x76], dl
mov byte [esp + 0x77], al
mov ecx, dword [esp + 0x74]
push ecx
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx edx, byte [esi + 4]
movzx eax, byte [esi + 5]
movzx ecx, byte [esi + 6]
mov byte [esp + 0x70], dl
movzx edx, byte [esi + 7]
mov byte [esp + 0x71], al
mov byte [esp + 0x72], cl
mov byte [esp + 0x73], dl
mov eax, dword [esp + 0x70]
push eax
add esi, 8
call fcn.1000ef90
mov ecx, dword [esp + 0x18]
push eax
push ecx
push str.HPROF_GC_ROOT_JNI_GLOBAL
push edi
push ebp
push str.H_d__d__s:_id0x_x__id20x_x_n
mov dword [esp + 0xdc], eax
call fcn.100014f0
add esp, 0x20
jmp case.default.0x100033f2
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov byte [esp + 0x64], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x65], al
mov byte [esp + 0x66], cl
mov byte [esp + 0x67], dl
mov eax, dword [esp + 0x64]
push eax
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
mov byte [esp + 0x60], cl
movzx ecx, byte [esi + 7]
mov byte [esp + 0x61], dl
mov byte [esp + 0x62], al
mov byte [esp + 0x63], cl
mov edx, dword [esp + 0x60]
push edx
call fcn.1000ef90
movzx ecx, byte [esi + 9]
movzx edx, byte [esi + 0xa]
mov ebx, eax
movzx eax, byte [esi + 8]
mov byte [esp + 0x5c], al
movzx eax, byte [esi + 0xb]
mov byte [esp + 0x5d], cl
mov byte [esp + 0x5e], dl
mov byte [esp + 0x5f], al
mov ecx, dword [esp + 0x5c]
push ecx
add esi, 0xc
call fcn.1000ef90
mov edx, dword [esp + 0x1c]
push eax
push ebx
push edx
push str.HPROF_GC_ROOT_JNI_LOCAL
push edi
push ebp
push str.H_d__d__s:_id0x_x__thread_serial_num_u__fr0x_x_n
call fcn.100014f0
add esp, 0x28
jmp case.default.0x100033f2
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
mov byte [esp + 0x4c], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x4d], cl
mov byte [esp + 0x4e], dl
mov byte [esp + 0x4f], al
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx edx, byte [esi + 4]
movzx eax, byte [esi + 5]
movzx ecx, byte [esi + 6]
mov byte [esp + 0x48], dl
movzx edx, byte [esi + 7]
mov byte [esp + 0x49], al
mov byte [esp + 0x4a], cl
mov byte [esp + 0x4b], dl
mov eax, dword [esp + 0x48]
push eax
call fcn.1000ef90
movzx ecx, byte [esi + 8]
movzx edx, byte [esi + 9]
mov byte [esp + 0x44], cl
movzx ecx, byte [esi + 0xb]
mov ebx, eax
movzx eax, byte [esi + 0xa]
mov byte [esp + 0x45], dl
mov byte [esp + 0x46], al
mov byte [esp + 0x47], cl
mov edx, dword [esp + 0x44]
push edx
add esi, 0xc
call fcn.1000ef90
push eax
mov eax, dword [esp + 0x20]
push ebx
push eax
push str.HPROF_GC_ROOT_JAVA_FRAME
push edi
push ebp
push str.H_d__d__s:_id0x_x__thread_serial_num_u__fr0x_x_n
call fcn.100014f0
add esp, 0x28
jmp case.default.0x100033f2
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov byte [esp + 0x34], cl
movzx ecx, byte [esi + 3]
mov byte [esp + 0x35], dl
mov byte [esp + 0x36], al
mov byte [esp + 0x37], cl
mov edx, dword [esp + 0x34]
push edx
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 5]
movzx edx, byte [esi + 6]
mov byte [esp + 0x30], al
movzx eax, byte [esi + 7]
mov byte [esp + 0x31], cl
mov byte [esp + 0x32], dl
mov byte [esp + 0x33], al
mov ecx, dword [esp + 0x30]
push ecx
add esi, 8
call fcn.1000ef90
mov edx, dword [esp + 0x18]
push eax
push edx
push str.HPROF_GC_ROOT_NATIVE_STACK
push edi
push ebp
push str.H_d__d__s:_id0x_x__thread_serial_num_u_n
call fcn.100014f0
add esp, 0x20
jmp case.default.0x100033f2
movzx eax, byte [esi]
mov cl, byte [esi + 1]
mov dl, byte [esi + 2]
mov byte [esp + 0xb8], al
movzx eax, byte [esi + 3]
mov byte [esp + 0xb9], cl
mov byte [esp + 0xba], dl
mov byte [esp + 0xbb], al
mov ecx, dword [esp + 0xb8]
push ecx
add esi, 4
call fcn.1000ef90
push eax
push str.HPROF_GC_ROOT_STICKY_CLASS
push edi
push ebp
push str.H_d__d__s:_id0x_x_n
mov dword [esp + 0x28], eax
call fcn.100014f0
add esp, 0x18
jmp case.default.0x100033f2
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov byte [esp + 0x90], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x91], al
mov byte [esp + 0x92], cl
mov byte [esp + 0x93], dl
mov eax, dword [esp + 0x90]
push eax
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
mov byte [esp + 0xac], cl
movzx ecx, byte [esi + 7]
mov byte [esp + 0xad], dl
mov byte [esp + 0xae], al
mov byte [esp + 0xaf], cl
mov edx, dword [esp + 0xac]
push edx
add esi, 8
call fcn.1000ef90
push eax
mov eax, dword [esp + 0x1c]
push eax
push str.HPROF_GC_ROOT_THREAD_BLOCK
push edi
push ebp
push str.H_d__d__s:_id0x_x__thread_serial_num_u_n
call fcn.100014f0
add esp, 0x20
jmp case.default.0x100033f2
movzx ecx, byte [esi]
mov dl, byte [esi + 1]
mov al, byte [esi + 2]
mov byte [esp + 0x28], cl
movzx ecx, byte [esi + 3]
mov byte [esp + 0x29], dl
mov byte [esp + 0x2a], al
mov byte [esp + 0x2b], cl
mov edx, dword [esp + 0x28]
push edx
add esi, 4
call fcn.1000ef90
push eax
push str.HPROF_GC_ROOT_MONITOR_USED
push edi
push ebp
push str.H_d__d__s:_id0x_x_n
mov dword [esp + 0x28], eax
call fcn.100014f0
add esp, 0x18
jmp case.default.0x100033f2
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
mov byte [esp + 0xb4], al
movzx eax, byte [esi + 3]
mov byte [esp + 0xb5], cl
mov byte [esp + 0xb6], dl
mov byte [esp + 0xb7], al
mov ecx, dword [esp + 0xb4]
push ecx
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx edx, byte [esi + 4]
movzx eax, byte [esi + 5]
movzx ecx, byte [esi + 6]
mov byte [esp + 0x84], dl
movzx edx, byte [esi + 7]
mov byte [esp + 0x85], al
mov byte [esp + 0x86], cl
mov byte [esp + 0x87], dl
mov eax, dword [esp + 0x84]
push eax
call fcn.1000ef90
movzx ecx, byte [esi + 8]
movzx edx, byte [esi + 9]
mov byte [esp + 0xb4], cl
movzx ecx, byte [esi + 0xb]
mov dword [esp + 0x2c], eax
movzx eax, byte [esi + 0xa]
mov byte [esp + 0xb5], dl
mov byte [esp + 0xb6], al
mov byte [esp + 0xb7], cl
mov edx, dword [esp + 0xb4]
push edx
add esi, 0xc
call fcn.1000ef90
mov ebx, eax
mov eax, dword [0x1001e7f8]
add esp, 0xc
cmp ebx, dword [eax + 0x158]
jb 0x10002847
cmp ebx, dword [eax + 0x174]
jb 0x10002862
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.10005d70
add esp, 0x14
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
push ebx
push eax
push ecx
push str.HPROF_GC_ROOT_THREAD_OBJ
push edi
push ebp
push str.H_d__d__s:_id0x_x__thread_serial_num_u__trace_serial_num_u_n
call fcn.100014f0
add esp, 0x1c
jmp case.default.0x100033f2
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov byte [esp + 0x78], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x79], al
mov byte [esp + 0x7a], cl
mov byte [esp + 0x7b], dl
mov eax, dword [esp + 0x78]
push eax
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
mov byte [esp + 0xa8], cl
movzx ecx, byte [esi + 7]
mov byte [esp + 0xa9], dl
mov byte [esp + 0xaa], al
mov byte [esp + 0xab], cl
mov edx, dword [esp + 0xa8]
push edx
call fcn.1000ef90
mov ebx, eax
mov eax, dword [0x1001e7f8]
add esp, 8
cmp ebx, dword [eax + 0x158]
jb 0x10002906
cmp ebx, dword [eax + 0x174]
jb 0x10002921
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.10005d70
add esp, 0x14
mov eax, dword [esp + 0x10]
push ebx
push eax
push str.HPROF_GC_CLASS_DUMP
push edi
push ebp
push str.H_d__d__s:_id0x_x__trace_serial_num_u_n
call fcn.100014f0
movzx ecx, byte [esi + 8]
movzx edx, byte [esi + 9]
movzx eax, byte [esi + 0xa]
mov byte [esp + 0x88], cl
movzx ecx, byte [esi + 0xb]
mov byte [esp + 0x89], dl
mov byte [esp + 0x8a], al
mov byte [esp + 0x8b], cl
mov edx, dword [esp + 0x88]
push edx
call fcn.1000ef90
movzx ecx, byte [esi + 0xd]
movzx edx, byte [esi + 0xe]
mov edi, eax
movzx eax, byte [esi + 0xc]
mov byte [esp + 0xb8], al
movzx eax, byte [esi + 0xf]
mov byte [esp + 0xb9], cl
mov byte [esp + 0xba], dl
mov byte [esp + 0xbb], al
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.1000ef90
movzx edx, byte [esi + 0x10]
movzx ecx, byte [esi + 0x12]
mov ebx, eax
movzx eax, byte [esi + 0x11]
mov byte [esp + 0x88], dl
movzx edx, byte [esi + 0x13]
mov byte [esp + 0x89], al
mov byte [esp + 0x8a], cl
mov byte [esp + 0x8b], dl
mov eax, dword [esp + 0x88]
push eax
call fcn.1000ef90
movzx ecx, byte [esi + 0x14]
movzx edx, byte [esi + 0x15]
mov byte [esp + 0xb8], cl
movzx ecx, byte [esi + 0x17]
mov ebp, eax
movzx eax, byte [esi + 0x16]
mov byte [esp + 0xb9], dl
mov byte [esp + 0xba], al
mov byte [esp + 0xbb], cl
mov edx, dword [esp + 0xb8]
push edx
call fcn.1000ef90
movzx ecx, byte [esi + 0x19]
movzx edx, byte [esi + 0x1a]
mov dword [esp + 0xec], eax
movzx eax, byte [esi + 0x18]
mov byte [esp + 0x88], al
movzx eax, byte [esi + 0x1b]
mov byte [esp + 0x89], cl
mov byte [esp + 0x8a], dl
mov byte [esp + 0x8b], al
mov ecx, dword [esp + 0x88]
push ecx
call fcn.1000ef90
movzx edx, byte [esi + 0x1c]
movzx ecx, byte [esi + 0x1e]
mov dword [esp + 0x50], eax
movzx eax, byte [esi + 0x1d]
mov byte [esp + 0xb8], dl
movzx edx, byte [esi + 0x1f]
mov byte [esp + 0xb9], al
mov byte [esp + 0xba], cl
mov byte [esp + 0xbb], dl
mov eax, dword [esp + 0xb8]
push eax
call fcn.1000ef90
mov ecx, dword [esp + 0x54]
push eax
mov edx, dword [esp + 0xf8]
push ecx
push edx
push ebp
push ebx
push edi
push str.__su0x_x__ld0x_x__si0x_x__pr0x_x__re10x_x__re20x_x_n
call fcn.100014f0
movzx eax, byte [esi + 0x20]
movzx ecx, byte [esi + 0x21]
movzx edx, byte [esi + 0x22]
mov byte [esp + 0xa4], al
movzx eax, byte [esi + 0x23]
mov byte [esp + 0xa5], cl
mov byte [esp + 0xa6], dl
mov byte [esp + 0xa7], al
mov ecx, dword [esp + 0xa4]
add esp, 0x4c
push ecx
call fcn.1000ef90
push eax
push str.__instance_size_d_n
call fcn.100014f0
movzx edx, byte [esi + 0x24]
movzx eax, byte [esi + 0x25]
mov byte [esp + 0x108], dl
mov byte [esp + 0x109], al
mov ecx, dword [esp + 0x108]
push ecx
add esi, 0x26
call fcn.1000ef80
mov ebp, eax
add esp, 0x10
xor edi, edi
test ebp, ebp
jle 0x10002bbe
jmp 0x10002b40
mov dl, byte [esi]
mov al, byte [esi + 1]
mov byte [esp + 0xf8], dl
mov byte [esp + 0xf9], al
mov ecx, dword [esp + 0xf8]
push ecx
call fcn.1000ef80
mov bl, byte [esi + 2]
mov dword [esp + 0x28], eax
add esi, 3
mov cl, bl
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
call fcn.10001380
mov dword [esp + 0x11c], edx
movzx edx, bl
push edx
mov esi, eax
mov eax, dword [esp + 0x2c]
push eax
push edi
push str.__constant_pool__d:_cpi_d__ty_d__val
call fcn.100014f0
mov ecx, dword [esp + 0x12c]
push 1
push ecx
push esi
mov al, bl
call fcn.10001570
push 0x10019468
call fcn.100014f0
mov esi, dword [esp + 0x3c]
inc edi
add esp, 0x24
cmp edi, ebp
jl 0x10002b40
mov dl, byte [esi]
mov al, byte [esi + 1]
mov byte [esp + 0xf4], dl
mov byte [esp + 0xf5], al
mov ecx, dword [esp + 0xf4]
push ecx
add esi, 2
call fcn.1000ef80
mov edi, eax
push edi
push str.__static_field_count_d_n
mov dword [esp + 0x28], edi
call fcn.100014f0
add esp, 0xc
xor ebp, ebp
test edi, edi
jle 0x10002d07
nop
movzx edx, byte [esi]
mov al, byte [esi + 1]
mov cl, byte [esi + 2]
mov byte [esp + 0x84], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x85], al
mov byte [esp + 0x86], cl
mov byte [esp + 0x87], dl
mov eax, dword [esp + 0x84]
push eax
call fcn.1000ef90
mov bl, byte [esi + 4]
mov edi, eax
add esi, 5
mov cl, bl
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
call fcn.10001380
push ebp
push str.__static_field__d:
mov esi, eax
mov dword [esp + 0x11c], edx
call fcn.100014f0
add esp, 0xc
mov dword [esp + 0x14], edi
test edi, edi
jne 0x10002c6f
push edi
jmp 0x10002c8f
mov edi, dword [esp + 0x120]
push 4
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.100128f0
add esp, 0xc
test eax, eax
jne 0x10002ca3
mov edx, dword [esp + 0x14]
push edx
push 0x10019434
push str._s0x_x
call fcn.100014f0
add esp, 0xc
jmp 0x10002ccb
push eax
push edi
call fcn.10012a30
mov edi, eax
mov eax, dword [esp + 0x1c]
push eax
push 0x10019434
push str._s0x_x__
call fcn.100014f0
mov ecx, dword [edi]
push ecx
call fcn.100016f0
add esp, 0x18
movzx edx, bl
push edx
push str.__ty_d__val
call fcn.100014f0
mov eax, dword [esp + 0x118]
push 1
push eax
push esi
mov al, bl
call fcn.10001570
push 0x10019468
call fcn.100014f0
mov esi, dword [esp + 0x30]
inc ebp
add esp, 0x18
cmp ebp, dword [esp + 0x1c]
jl 0x10002c00
mov cl, byte [esi]
mov dl, byte [esi + 1]
mov byte [esp + 0x100], cl
mov byte [esp + 0x101], dl
mov eax, dword [esp + 0x100]
push eax
add esi, 2
call fcn.1000ef80
mov edi, eax
push edi
push str.__instance_field_count_d_n
mov dword [esp + 0x28], edi
call fcn.100014f0
add esp, 0xc
xor ebp, ebp
test edi, edi
jle case.default.0x100033f2
jmp 0x10002d50
movzx ecx, byte [esi]
mov dl, byte [esi + 1]
mov al, byte [esi + 2]
mov byte [esp + 0x50], cl
movzx ecx, byte [esi + 3]
mov byte [esp + 0x51], dl
mov byte [esp + 0x52], al
mov byte [esp + 0x53], cl
mov edx, dword [esp + 0x50]
push edx
call fcn.1000ef90
mov bl, byte [esi + 4]
push ebp
push str.__instance_field__d:
mov edi, eax
add esi, 5
call fcn.100014f0
add esp, 0xc
mov dword [esp + 0x14], edi
test edi, edi
jne 0x10002d98
push edi
jmp 0x10002db8
mov ecx, dword [esp + 0x120]
push 4
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.100128f0
add esp, 0xc
test eax, eax
jne 0x10002dcc
mov edx, dword [esp + 0x14]
push edx
push 0x10019434
push str._s0x_x
call fcn.100014f0
add esp, 0xc
jmp 0x10002dfb
push eax
mov eax, dword [esp + 0x124]
push eax
call fcn.10012a30
mov ecx, dword [esp + 0x1c]
push ecx
push 0x10019434
push str._s0x_x__
mov edi, eax
call fcn.100014f0
mov edx, dword [edi]
push edx
call fcn.100016f0
add esp, 0x18
movzx eax, bl
push eax
push str.__ty_d_n
call fcn.100014f0
inc ebp
add esp, 8
cmp ebp, dword [esp + 0x1c]
jl 0x10002d50
jmp case.default.0x100033f2
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov byte [esp + 0xc0], cl
movzx ecx, byte [esi + 3]
mov byte [esp + 0xc1], dl
mov byte [esp + 0xc2], al
mov byte [esp + 0xc3], cl
mov edx, dword [esp + 0xc0]
push edx
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 5]
movzx edx, byte [esi + 6]
mov byte [esp + 0x4c], al
movzx eax, byte [esi + 7]
mov byte [esp + 0x4d], cl
mov byte [esp + 0x4e], dl
mov byte [esp + 0x4f], al
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.1000ef90
mov ecx, dword [0x1001e7f8]
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, dword [ecx + 0x158]
jb 0x10002e9f
cmp eax, dword [ecx + 0x174]
jb 0x10002eba
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.10005d70
add esp, 0x14
movzx edx, byte [esi + 8]
movzx eax, byte [esi + 9]
movzx ecx, byte [esi + 0xa]
mov byte [esp + 0xa0], dl
movzx edx, byte [esi + 0xb]
mov byte [esp + 0xa1], al
mov byte [esp + 0xa2], cl
mov byte [esp + 0xa3], dl
mov eax, dword [esp + 0xa0]
push eax
call fcn.1000ef90
mov dword [esp + 0xc0], eax
movzx ecx, byte [esi + 0xc]
movzx edx, byte [esi + 0xd]
movzx eax, byte [esi + 0xe]
mov byte [esp + 0x44], cl
movzx ecx, byte [esi + 0xf]
mov byte [esp + 0x45], dl
mov byte [esp + 0x46], al
mov byte [esp + 0x47], cl
mov edx, dword [esp + 0x44]
add esi, 0x10
push edx
mov dword [esp + 0x20], esi
call fcn.1000ef90
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, eax
mov eax, dword [esp + 0xc4]
push ebx
push eax
push ecx
push edx
push str.HPROF_GC_INSTANCE_DUMP
push edi
push ebp
push str.H_d__d__s:_id0x_x__trace_serial_num_u__cid0x_x__nbytes_d_n
call fcn.100014f0
add esp, 0x28
test ebx, ebx
jle case.default.0x100033f2
mov esi, dword [esp + 0xd4]
push 4
lea eax, [esp + 0xc0]
push eax
push esi
call fcn.100128f0
push eax
push esi
call fcn.10012a30
add esp, 0x14
mov ebp, eax
mov dword [esp + 0x1c], 0
jmp 0x10002f90
xor edi, edi
cmp dword [ebp + 4], edi
jle 0x10003081
jmp 0x10002fa0
mov ecx, dword [ebp + 8]
mov bl, byte [ecx + edi*8 + 4]
mov esi, dword [ecx + edi*8]
lea eax, [ecx + edi*8]
mov cl, bl
lea eax, [esp + 0x18]
call fcn.10001380
mov dword [esp + 0x108], edx
mov edx, dword [esp + 0x1c]
push edx
push str.__field__d:
mov dword [esp + 0x10c], eax
call fcn.100014f0
add esp, 8
mov dword [esp + 0x14], esi
test esi, esi
jne 0x10002fe3
push esi
jmp 0x10003003
mov esi, dword [esp + 0x120]
push 4
lea eax, [esp + 0x18]
push eax
push esi
call fcn.100128f0
add esp, 0xc
test eax, eax
jne 0x10003017
mov ecx, dword [esp + 0x14]
push ecx
push 0x10019434
push str._s0x_x
call fcn.100014f0
add esp, 0xc
jmp 0x1000303f
push eax
push esi
call fcn.10012a30
mov edx, dword [esp + 0x1c]
push edx
push 0x10019434
push str._s0x_x__
mov esi, eax
call fcn.100014f0
mov eax, dword [esi]
push eax
call fcn.100016f0
add esp, 0x18
movzx ecx, bl
push ecx
push str.__ty_d__val
call fcn.100014f0
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x10c]
push 1
push edx
push eax
mov al, bl
call fcn.10001570
push 0x10019468
call fcn.100014f0
inc dword [esp + 0x34]
inc edi
add esp, 0x18
cmp edi, dword [ebp + 4]
jl 0x10002fa0
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0xbc], ebp
test ebp, ebp
je 0x100030ba
mov esi, dword [esp + 0xd4]
push 4
lea ecx, [esp + 0xc0]
push ecx
push esi
call fcn.100128f0
push eax
push esi
call fcn.10012a30
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x10002f90
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0xd8]
cmp esi, dword [esp + 0xdc]
jb 0x10002382
cmp esi, dword [esp + 0xdc]
je 0x100030f6
push 0x336
push str.hprof_check.c
push str.ppstartnbytes
push 0
push 1
call fcn.10005d70
add esp, 0x14
mov edx, dword [esp + 0xd4]
push 0
push 0x100017f0
push edx
call fcn.100127a0
add esp, 0xc
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x10c
ret
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov byte [esp + 0xb0], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0xb1], al
mov byte [esp + 0xb2], cl
mov byte [esp + 0xb3], dl
mov eax, dword [esp + 0xb0]
push eax
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
mov byte [esp + 0x3c], cl
movzx ecx, byte [esi + 7]
mov byte [esp + 0x3d], dl
mov byte [esp + 0x3e], al
mov byte [esp + 0x3f], cl
mov edx, dword [esp + 0x3c]
push edx
call fcn.1000ef90
mov ecx, dword [0x1001e7f8]
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, dword [ecx + 0x158]
jb 0x1000319d
cmp eax, dword [ecx + 0x174]
jb 0x100031b8
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.10005d70
add esp, 0x14
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 9]
movzx edx, byte [esi + 0xa]
mov byte [esp + 0x98], al
movzx eax, byte [esi + 0xb]
mov byte [esp + 0x99], cl
mov byte [esp + 0x9a], dl
mov byte [esp + 0x9b], al
mov ecx, dword [esp + 0x98]
push ecx
call fcn.1000ef90
movzx edx, byte [esi + 0xc]
movzx ecx, byte [esi + 0xe]
mov ebx, eax
movzx eax, byte [esi + 0xd]
mov byte [esp + 0x34], dl
movzx edx, byte [esi + 0xf]
mov byte [esp + 0x35], al
mov byte [esp + 0x36], cl
mov byte [esp + 0x37], dl
mov eax, dword [esp + 0x34]
push eax
add esi, 0x10
call fcn.1000ef90
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push eax
push ebx
push ecx
push edx
push str.HPROF_GC_OBJ_ARRAY_DUMP
push edi
push ebp
push str.H_d__d__s:_id0x_x__trace_serial_num_u__nelems_d__eid0x_x_n
mov dword [esp + 0xe4], eax
call fcn.100014f0
add esp, 0x28
xor edi, edi
test ebx, ebx
jle case.default.0x100033f2
movzx eax, byte [esi]
mov cl, byte [esi + 1]
mov dl, byte [esi + 2]
mov byte [esp + 0x88], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x89], cl
mov byte [esp + 0x8a], dl
mov byte [esp + 0x8b], al
mov ecx, dword [esp + 0x88]
push ecx
add esi, 4
call fcn.1000ef90
push eax
push edi
push str.____d_:_id0x_x_n
call fcn.100014f0
inc edi
add esp, 0x10
cmp edi, ebx
jl 0x10003251
jmp case.default.0x100033f2
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov byte [esp + 0xc8], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0xc9], al
mov byte [esp + 0xca], cl
mov byte [esp + 0xcb], dl
mov eax, dword [esp + 0xc8]
push eax
call fcn.1000ef90
mov dword [esp + 0x14], eax
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
mov byte [esp + 0xd4], cl
movzx ecx, byte [esi + 7]
mov byte [esp + 0xd5], dl
mov byte [esp + 0xd6], al
mov byte [esp + 0xd7], cl
mov edx, dword [esp + 0xd4]
push edx
call fcn.1000ef90
mov ecx, dword [0x1001e7f8]
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, dword [ecx + 0x158]
jb 0x10003335
cmp eax, dword [ecx + 0x174]
jb 0x10003350
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.10005d70
add esp, 0x14
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 9]
mov dl, byte [esi + 0xa]
mov byte [esp + 0xcc], al
movzx eax, byte [esi + 0xb]
mov byte [esp + 0xcd], cl
mov byte [esp + 0xce], dl
mov byte [esp + 0xcf], al
mov ecx, dword [esp + 0xcc]
push ecx
call fcn.1000ef90
mov cl, byte [esi + 0xc]
mov edx, dword [esp + 0x18]
movzx ebx, cl
push ebx
push eax
push edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
push eax
push str.HPROF_GC_PRIM_ARRAY_DUMP
push edi
push ebp
add esi, 0xd
push str.H_d__d__s:_id0x_x__trace_serial_num_u__nelems_d__ty_d_n
mov byte [esp + 0x47], cl
mov dword [esp + 0x3c], esi
call fcn.100014f0
add esp, 0x24
cmp dword [esp + 0x1c], 0
jle case.default.0x100033f2
add ebx, 0xfffffffc
xor edi, edi
mov dword [esp + 0x14], 0x100192b5
mov ebp, 1
mov dword [esp + 0x24], 8
cmp ebx, 7
ja case.default.0x100033f2
movzx ecx, byte [ebx + 0x10003760]
jmp dword [ecx*4 + 0x10003758]
xor ebp, ebp
mov dword [esp + 0x24], 0x48
mov dword [esp + 0x14], 0x1001927c
mov edx, dword [esp + 0x14]
push edx
push str.__val_s
call fcn.100014f0
add esp, 8
mov dword [esp + 0xc4], edi
cmp dword [esp + 0x1c], edi
jle case.default.0x100033f2
mov edi, edi
cmp dword [esp + 0xc4], 0
jle 0x10003450
test edi, edi
jne 0x10003450
mov eax, dword [esp + 0x14]
push eax
push str.___s
call fcn.100014f0
add esp, 8
mov bl, byte [esp + 0x23]
mov cl, bl
lea eax, [esp + 0x18]
call fcn.10001380
push ebp
push edx
push eax
mov al, bl
call fcn.10001570
inc edi
add esp, 0xc
cmp edi, dword [esp + 0x24]
jl 0x10003482
push 0x100192a0
call fcn.100014f0
add esp, 4
xor edi, edi
mov eax, dword [esp + 0xc4]
inc eax
mov dword [esp + 0xc4], eax
cmp eax, dword [esp + 0x1c]
jl 0x10003430
test edi, edi
je 0x100030ba
mov ecx, dword [esp + 0x14]
push ecx
push 0x1001929c
call fcn.100014f0
add esp, 8
jmp 0x100030ba
push str.UNKNOWN
push edi
push ebp
push str.H_d__d__s:_ERROR__n
call fcn.100014f0
push 0x332
push str.hprof_check.c
push str.unknown_heap_record_type
push 0
push 1
call fcn.10005d70
add esp, 0x24
jmp case.default.0x100033f2