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

Disassembly:
sub esp, 0xf0
push ebx
push esi
mov esi, dword [esp + 0xfc]
push edi
push str._nCHECK_TAGS:_starting_n
call fcn.6d401500
push 4
push 0x200
push 0x40
push 0x40
push str.temp_utf8_map
call fcn.6d4122a0
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x11c]
add eax, esi
add esp, 0x18
mov dword [esp + 0x2c], 0
mov dword [esp + 0xe8], eax
cmp esi, eax
jae 0x6d404984
push ebp
jmp 0x6d403800
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov ebp, dword [esp + 0x30]
mov byte [esp + 0xd0], dl
movzx edx, byte [esi + 4]
mov dword [esp + 0x18], ecx
movzx ecx, byte [esi + 3]
mov byte [esp + 0xd1], al
mov byte [esp + 0xd2], cl
mov byte [esp + 0xd3], dl
mov eax, dword [esp + 0xd0]
inc ebp
mov ebx, esi
sub ebx, dword [esp + 0x104]
push eax
mov dword [esp + 0x34], ebp
call fcn.6d40ed90
movzx ecx, byte [esi + 5]
movzx edx, byte [esi + 6]
movzx eax, byte [esi + 7]
mov byte [esp + 0xb8], cl
movzx ecx, byte [esi + 8]
mov byte [esp + 0xb9], dl
mov byte [esp + 0xba], al
mov byte [esp + 0xbb], cl
mov edx, dword [esp + 0xb8]
push edx
add esi, 9
call fcn.6d40ed90
mov edi, eax
mov eax, dword [esp + 0x20]
dec eax
add esp, 8
cmp eax, 0x2b
ja case.0x6d4038a8.8
movzx eax, byte [eax + 0x6d404a60]
jmp dword [eax*4 + 0x6d404a24]
cmp edi, 4
jae 0x6d4038cf
push 0x373
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.size__int_sizeof_HprofId_
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
movzx ecx, byte [esi]
mov dl, byte [esi + 1]
mov al, byte [esi + 2]
mov byte [esp + 0xc4], cl
movzx ecx, byte [esi + 3]
mov byte [esp + 0xc5], dl
mov byte [esp + 0xc6], al
mov byte [esp + 0xc7], cl
mov edx, dword [esp + 0xc4]
push edx
add esi, 4
call fcn.6d40ed90
push eax
push edi
push str.HPROF_UTF8
push ebx
push ebp
push str._d__d:__s__sz_d__name_id0x_x___
mov dword [esp + 0x3c], eax
call fcn.6d401500
add edi, 0xfffffffc
mov eax, edi
call fcn.6d401490
push 0x6d4192b4
call fcn.6d401500
lea eax, [edi + 1]
push eax
call fcn.6d415ad0
push edi
push esi
push eax
mov dword [esp + 0x114], eax
call dword [sym.imp.msvcr100.dll_strncpy]
mov ecx, dword [esp + 0x114]
lea edx, [esp + 0x114]
push edx
push 4
lea eax, [esp + 0x58]
mov byte [ecx + edi], 0
mov ecx, dword [esp + 0x60]
push eax
push ecx
call fcn.6d412600
add esp, 0x40
jmp 0x6d404953
cmp edi, 0x10
je 0x6d403998
push 0x382
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.size242_int_sizeof_HprofId_
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
movzx edx, byte [esi]
mov al, byte [esi + 1]
mov cl, byte [esi + 2]
mov byte [esp + 0x98], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x99], al
mov byte [esp + 0x9a], cl
mov byte [esp + 0x9b], dl
mov eax, dword [esp + 0x98]
push eax
call fcn.6d40ed90
mov ecx, dword [0x6d41e7f8]
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, dword [ecx + 0x150]
jb 0x6d4039ed
mov edx, eax
cmp edx, dword [ecx + 0x16c]
jb 0x6d403a08
push 0x384
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str._class_serial_num____gdata__class_serial_number_start___class_serial_num____gdata__class_serial_number_counter
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 5]
movzx edx, byte [esi + 6]
mov byte [esp + 0x40], al
movzx eax, byte [esi + 7]
mov byte [esp + 0x41], cl
mov byte [esp + 0x42], dl
mov byte [esp + 0x43], al
mov ecx, dword [esp + 0x40]
push ecx
call fcn.6d40ed90
mov dword [esp + 0x24], eax
movzx edx, byte [esi + 8]
movzx eax, byte [esi + 9]
movzx ecx, byte [esi + 0xa]
mov byte [esp + 0xd8], dl
movzx edx, byte [esi + 0xb]
mov byte [esp + 0xd9], al
mov byte [esp + 0xda], cl
mov byte [esp + 0xdb], dl
mov eax, dword [esp + 0xd8]
push eax
call fcn.6d40ed90
mov ecx, dword [0x6d41e7f8]
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, dword [ecx + 0x158]
jb 0x6d403a8e
mov edx, eax
cmp edx, dword [ecx + 0x174]
jb 0x6d403aa9
push 0x387
push str..._.._.._src_share_demo_jvmti_hprof_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.6d405ce0
add esp, 0x14
movzx eax, byte [esi + 0xc]
mov cl, byte [esi + 0xd]
mov dl, byte [esi + 0xe]
mov byte [esp + 0x48], al
movzx eax, byte [esi + 0xf]
mov byte [esp + 0x49], cl
mov byte [esp + 0x4a], dl
mov byte [esp + 0x4b], al
mov ecx, dword [esp + 0x48]
push ecx
add esi, 0x10
call fcn.6d40ed90
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x28]
push edx
push eax
push ecx
push edi
push str.HPROF_LOAD_CLASS
push ebx
push ebp
push str._d__d:__s__sz_d__class_serial_num_u__id0x_x__trace_serial_num_u__name_id0x_x_n
call fcn.6d401500
add esp, 0x28
jmp 0x6d404955
cmp edi, 4
je 0x6d403b1e
push 0x38f
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.size4
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
movzx edx, byte [esi]
mov al, byte [esi + 1]
mov cl, byte [esi + 2]
mov byte [esp + 0xa0], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0xa1], al
mov byte [esp + 0xa2], cl
mov byte [esp + 0xa3], dl
mov eax, dword [esp + 0xa0]
push eax
add esi, 4
call fcn.6d40ed90
mov ecx, dword [0x6d41e7f8]
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, dword [ecx + 0x150]
jb 0x6d403b76
mov edx, eax
cmp edx, dword [ecx + 0x16c]
jb 0x6d403b91
push 0x391
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str._class_serial_num____gdata__class_serial_number_start___class_serial_num____gdata__class_serial_number_counter
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
mov eax, dword [esp + 0x10]
push eax
push edi
push str.HPROF_UNLOAD_CLASS
push ebx
push ebp
push str._d__d:__s__sz_d__class_serial_num_u_n
call fcn.6d401500
add esp, 0x18
jmp 0x6d404955
cmp edi, 0x18
je 0x6d403bd0
push 0x396
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.size244_int_sizeof_HprofId_
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
movzx eax, 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.6d40ed90
mov dword [esp + 0x24], eax
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 5]
movzx edx, byte [esi + 6]
mov byte [esp + 0xd0], al
movzx eax, byte [esi + 7]
mov byte [esp + 0xd1], cl
mov byte [esp + 0xd2], dl
mov byte [esp + 0xd3], al
mov ecx, dword [esp + 0xd0]
push ecx
call fcn.6d40ed90
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 0xa]
mov dword [esp + 0x24], eax
movzx eax, byte [esi + 9]
mov byte [esp + 0x60], dl
movzx edx, byte [esi + 0xb]
mov byte [esp + 0x61], al
mov byte [esp + 0x62], cl
mov byte [esp + 0x63], dl
mov eax, dword [esp + 0x60]
push eax
call fcn.6d40ed90
movzx ecx, byte [esi + 0xc]
movzx edx, byte [esi + 0xd]
mov byte [esp + 0xb4], cl
movzx ecx, byte [esi + 0xf]
mov dword [esp + 0x38], eax
movzx eax, byte [esi + 0xe]
mov byte [esp + 0xb5], dl
mov byte [esp + 0xb6], al
mov byte [esp + 0xb7], cl
mov edx, dword [esp + 0xb4]
push edx
call fcn.6d40ed90
movzx ecx, byte [esi + 0x11]
movzx edx, byte [esi + 0x12]
mov dword [esp + 0x24], eax
movzx eax, byte [esi + 0x10]
mov byte [esp + 0x70], al
movzx eax, byte [esi + 0x13]
mov byte [esp + 0x71], cl
mov byte [esp + 0x72], dl
mov byte [esp + 0x73], al
mov ecx, dword [esp + 0x70]
push ecx
call fcn.6d40ed90
mov ecx, dword [0x6d41e7f8]
add esp, 0x14
mov dword [esp + 0x10], eax
cmp eax, dword [ecx + 0x150]
jb 0x6d403cee
mov edx, eax
cmp edx, dword [ecx + 0x16c]
jb 0x6d403d09
push 0x39c
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str._class_serial_num____gdata__class_serial_number_start___class_serial_num____gdata__class_serial_number_counter
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
movzx eax, byte [esi + 0x14]
mov cl, byte [esi + 0x15]
mov dl, byte [esi + 0x16]
mov byte [esp + 0xbc], al
movzx eax, byte [esi + 0x17]
mov byte [esp + 0xbd], cl
mov byte [esp + 0xbe], dl
mov byte [esp + 0xbf], al
mov ecx, dword [esp + 0xbc]
push ecx
add esi, 0x18
call fcn.6d40ed90
push edi
push str.HPROF_FRAME
push ebx
push ebp
push str._d__d:__s__sz_d_
mov dword [esp + 0x30], eax
call fcn.6d401500
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
push edx
mov edi, 0x6d419448
call fcn.6d401790
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push eax
push ecx
push str._name_id0x_x__sig_id0x_x__source_id0x_x__class_serial_num_u__lineno_d_n
call fcn.6d401500
add esp, 0x34
jmp 0x6d404955
cmp edi, 0xc
jae 0x6d403db7
push 0x3a5
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.size_34
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
movzx edx, byte [esi]
mov al, byte [esi + 1]
mov cl, byte [esi + 2]
mov byte [esp + 0x68], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x69], al
mov byte [esp + 0x6a], cl
mov byte [esp + 0x6b], dl
mov eax, dword [esp + 0x68]
push eax
call fcn.6d40ed90
mov ecx, dword [0x6d41e7f8]
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, dword [ecx + 0x158]
jb 0x6d403dfd
mov edx, eax
cmp edx, dword [ecx + 0x174]
jb 0x6d403e18
push 0x3a7
push str..._.._.._src_share_demo_jvmti_hprof_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.6d405ce0
add esp, 0x14
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 5]
movzx edx, byte [esi + 6]
mov byte [esp + 0xb0], al
movzx eax, byte [esi + 7]
mov byte [esp + 0xb1], cl
mov byte [esp + 0xb2], dl
mov byte [esp + 0xb3], al
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.6d40ed90
movzx edx, byte [esi + 8]
movzx ecx, byte [esi + 0xa]
mov dword [esp + 0x14], eax
movzx eax, byte [esi + 9]
mov byte [esp + 0x74], dl
movzx edx, byte [esi + 0xb]
mov byte [esp + 0x75], al
mov byte [esp + 0x76], cl
mov byte [esp + 0x77], dl
mov eax, dword [esp + 0x74]
push eax
add esi, 0xc
call fcn.6d40ed90
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
push edi
push str.HPROF_TRACE
push ebx
push ebp
push str._d__d:__s__sz_d__trace_serial_num_u__thread_serial_num_u__nelems_d__
mov dword [esp + 0x40], eax
call fcn.6d401500
add esp, 0x28
cmp dword [esp + 0x18], 0
jle 0x6d403efb
mov edi, dword [esp + 0x18]
movzx eax, byte [esi]
mov cl, byte [esi + 1]
mov dl, byte [esi + 2]
mov byte [esp + 0xc8], al
movzx eax, byte [esi + 3]
mov byte [esp + 0xc9], cl
mov byte [esp + 0xca], dl
mov byte [esp + 0xcb], al
mov ecx, dword [esp + 0xc8]
push ecx
add esi, 4
call fcn.6d40ed90
push eax
push str.0x_x_
call fcn.6d401500
add esp, 0xc
dec edi
jne 0x6d403eb1
push 0x6d419ca8
call fcn.6d401500
add esp, 4
jmp 0x6d404955
cmp edi, 0x22
jae 0x6d403f2d
push 0x3b4
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.size_24428
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
mov byte [esp + 0xe8], dl
mov byte [esp + 0xe9], al
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.6d40ed80
movzx edx, byte [esi + 2]
movzx ecx, byte [esi + 4]
mov dword [esp + 0x1c], eax
movzx eax, byte [esi + 3]
mov byte [esp + 0x7c], dl
movzx edx, byte [esi + 5]
mov byte [esp + 0x7d], al
mov byte [esp + 0x7e], cl
mov byte [esp + 0x7f], dl
mov eax, dword [esp + 0x7c]
push eax
call fcn.6d40ed90
movzx ecx, byte [esi + 6]
movzx edx, byte [esi + 7]
mov byte [esp + 0xc0], cl
movzx ecx, byte [esi + 9]
mov dword [esp + 0x104], eax
movzx eax, byte [esi + 8]
mov byte [esp + 0xc1], dl
mov byte [esp + 0xc2], al
mov byte [esp + 0xc3], cl
mov edx, dword [esp + 0xc0]
push edx
call fcn.6d40ed90
movzx ecx, byte [esi + 0xb]
movzx edx, byte [esi + 0xc]
mov dword [esp + 0x20], eax
movzx eax, byte [esi + 0xa]
mov byte [esp + 0x8c], al
movzx eax, byte [esi + 0xd]
mov byte [esp + 0x8d], cl
mov byte [esp + 0x8e], dl
mov byte [esp + 0x8f], al
mov ecx, dword [esp + 0x8c]
add esi, 0xe
push ecx
mov dword [esp + 0x20], esi
call fcn.6d40ed90
lea esi, [esp + 0x20]
mov dword [esp + 0x2c], eax
call fcn.6d401190
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], edx
call fcn.6d401190
mov esi, dword [esp + 0x20]
movzx ecx, byte [esi + 2]
mov dword [esp + 0x108], edx
movzx edx, byte [esi]
mov dword [esp + 0x104], eax
movzx eax, byte [esi + 1]
mov byte [esp + 0x44], dl
movzx edx, byte [esi + 3]
mov byte [esp + 0x45], al
mov byte [esp + 0x46], cl
mov byte [esp + 0x47], dl
mov eax, dword [esp + 0x44]
push eax
add esi, 4
call fcn.6d40ed90
mov ecx, dword [esp + 0x108]
add esp, 0x14
mov ebp, eax
mov eax, dword [esp + 0xf8]
push ebp
push ecx
push eax
mov edx, eax
mov eax, dword [esp + 0xe8]
push eax
mov eax, dword [esp + 0xf0]
mov ecx, eax
sar edx, 0x1f
sar ecx, 0x1f
push eax
mov edx, dword [esp + 0x30]
fld dword [esp + 0x110]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x48]
push eax
sub esp, 8
fstp qword [esp]
push ecx
push edi
push str.HPROF_ALLOC_SITES
push ebx
push edx
push str._d__d:__s__sz_d__flags0x_x__cutoff_g__nblive_d__nilive_d__tbytes__d__d___tinsts__d__d___num_elements_d_n
call fcn.6d401500
add esp, 0x3c
xor edi, edi
test ebp, ebp
jle 0x6d404955
mov edi, edi
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
mov dl, byte [esi + 2]
mov byte [esp + 0x88], cl
movzx ecx, byte [esi + 4]
mov byte [esp + 0x27], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x89], dl
mov byte [esp + 0x8a], al
mov byte [esp + 0x8b], cl
mov edx, dword [esp + 0x88]
push edx
call fcn.6d40ed90
mov ecx, dword [0x6d41e7f8]
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, dword [ecx + 0x150]
jb 0x6d40412c
cmp eax, dword [ecx + 0x16c]
jb 0x6d404147
push 0x3c8
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str._class_serial_num____gdata__class_serial_number_start___class_serial_num____gdata__class_serial_number_counter
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
movzx eax, byte [esi + 5]
mov cl, byte [esi + 6]
mov dl, byte [esi + 7]
mov byte [esp + 0xd8], al
movzx eax, byte [esi + 8]
mov byte [esp + 0xd9], cl
mov byte [esp + 0xda], dl
mov byte [esp + 0xdb], al
mov ecx, dword [esp + 0xd8]
push ecx
call fcn.6d40ed90
mov ecx, dword [0x6d41e7f8]
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, dword [ecx + 0x158]
jb 0x6d40419b
cmp eax, dword [ecx + 0x174]
jb 0x6d4041b6
push 0x3ca
push str..._.._.._src_share_demo_jvmti_hprof_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.6d405ce0
add esp, 0x14
movzx edx, byte [esi + 9]
movzx eax, byte [esi + 0xa]
movzx ecx, byte [esi + 0xb]
mov byte [esp + 0x90], dl
movzx edx, byte [esi + 0xc]
mov byte [esp + 0x91], al
mov byte [esp + 0x92], cl
mov byte [esp + 0x93], dl
mov eax, dword [esp + 0x90]
push eax
call fcn.6d40ed90
movzx ecx, byte [esi + 0xd]
movzx edx, byte [esi + 0xe]
mov byte [esp + 0xc4], cl
movzx ecx, byte [esi + 0x10]
mov ebx, eax
movzx eax, byte [esi + 0xf]
mov byte [esp + 0xc5], dl
mov byte [esp + 0xc6], al
mov byte [esp + 0xc7], cl
mov edx, dword [esp + 0xc4]
push edx
call fcn.6d40ed90
movzx ecx, byte [esi + 0x12]
movzx edx, byte [esi + 0x13]
mov dword [esp + 0x24], eax
movzx eax, byte [esi + 0x11]
mov byte [esp + 0x40], al
movzx eax, byte [esi + 0x14]
mov byte [esp + 0x41], cl
mov byte [esp + 0x42], dl
mov byte [esp + 0x43], al
mov ecx, dword [esp + 0x40]
push ecx
call fcn.6d40ed90
movzx edx, byte [esi + 0x15]
movzx ecx, byte [esi + 0x17]
mov dword [esp + 0xe8], eax
movzx eax, byte [esi + 0x16]
mov byte [esp + 0x48], dl
movzx edx, byte [esi + 0x18]
mov byte [esp + 0x49], al
mov byte [esp + 0x4a], cl
mov byte [esp + 0x4b], dl
mov eax, dword [esp + 0x48]
push eax
mov dword [esp + 0xf0], 0
add esi, 0x19
call fcn.6d40ed90
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
movzx edx, byte [esp + 0x43]
push ebx
push eax
push ecx
push edx
push edi
push str._t__d:_ty_d__class_serial_num_u__trace_serial_num_u__nblive_d__nilive_d__tbytes_d__tinsts_d_n
mov dword [esp + 0x12c], 0
call fcn.6d401500
inc edi
add esp, 0x34
cmp edi, ebp
jl 0x6d4040d0
jmp 0x6d404955
cmp edi, 0x18
je 0x6d4042fd
push 0x3d7
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.size2428
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
mov byte [esp + 0x44], al
movzx eax, byte [esi + 3]
mov byte [esp + 0x45], cl
mov byte [esp + 0x46], dl
mov byte [esp + 0x47], al
mov ecx, dword [esp + 0x44]
push ecx
call fcn.6d40ed90
movzx edx, byte [esi + 4]
movzx ecx, byte [esi + 6]
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 5]
mov byte [esp + 0x50], dl
movzx edx, byte [esi + 7]
mov byte [esp + 0x51], al
mov byte [esp + 0x52], cl
mov byte [esp + 0x53], dl
mov eax, dword [esp + 0x50]
add esi, 8
push eax
mov dword [esp + 0x18], esi
call fcn.6d40ed90
lea esi, [esp + 0x18]
mov dword [esp + 0x24], eax
call fcn.6d401190
mov dword [esp + 0xe4], eax
mov ebp, edx
call fcn.6d401190
push eax
push edx
mov ecx, edx
mov edx, dword [esp + 0xec]
push edx
mov edx, dword [esp + 0x28]
push ebp
sar ecx, 0x1f
mov ecx, dword [esp + 0x34]
push ecx
push edx
push edi
push str.HPROF_HEAP_SUMMARY
mov eax, ebp
sar eax, 0x1f
mov eax, dword [esp + 0x58]
push ebx
push eax
push str._d__d:__s__sz_d__nblive_d__nilive_d__tbytes__d__d___tinsts__d__d__n
call fcn.6d401500
mov esi, dword [esp + 0x44]
add esp, 0x34
jmp 0x6d404955
cmp edi, 0x18
je 0x6d4043d7
push 0x3e5
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.size244_int_sizeof_HprofId_
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
movzx ecx, byte [esi]
mov dl, byte [esi + 1]
mov al, byte [esi + 2]
mov byte [esp + 0x54], cl
movzx ecx, byte [esi + 3]
mov byte [esp + 0x55], dl
mov byte [esp + 0x56], al
mov byte [esp + 0x57], cl
mov edx, dword [esp + 0x54]
push edx
call fcn.6d40ed90
mov ecx, dword [0x6d41e7f8]
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, dword [ecx + 0x154]
jb 0x6d40441b
cmp eax, dword [ecx + 0x170]
jb 0x6d404436
push 0x3e7
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str._thread_serial_num____gdata__thread_serial_number_start___thread_serial_num____gdata__thread_serial_number_counter
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
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
call fcn.6d40ed90
mov dword [esp + 0x24], eax
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 9]
movzx edx, byte [esi + 0xa]
mov byte [esp + 0x68], al
movzx eax, byte [esi + 0xb]
mov byte [esp + 0x69], cl
mov byte [esp + 0x6a], dl
mov byte [esp + 0x6b], al
mov ecx, dword [esp + 0x68]
push ecx
call fcn.6d40ed90
mov ecx, dword [0x6d41e7f8]
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, dword [ecx + 0x158]
jb 0x6d4044ad
mov edx, eax
cmp edx, dword [ecx + 0x174]
jb 0x6d4044c8
push 0x3ea
push str..._.._.._src_share_demo_jvmti_hprof_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.6d405ce0
add esp, 0x14
movzx eax, byte [esi + 0xc]
movzx ecx, byte [esi + 0xd]
movzx edx, byte [esi + 0xe]
mov byte [esp + 0x6c], al
movzx eax, byte [esi + 0xf]
mov byte [esp + 0x6d], cl
mov byte [esp + 0x6e], dl
mov byte [esp + 0x6f], al
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.6d40ed90
movzx edx, byte [esi + 0x10]
movzx ecx, byte [esi + 0x12]
mov dword [esp + 0x20], eax
movzx eax, byte [esi + 0x11]
mov byte [esp + 0x78], dl
movzx edx, byte [esi + 0x13]
mov byte [esp + 0x79], al
mov byte [esp + 0x7a], cl
mov byte [esp + 0x7b], dl
mov eax, dword [esp + 0x78]
push eax
call fcn.6d40ed90
movzx ecx, byte [esi + 0x14]
movzx edx, byte [esi + 0x15]
mov byte [esp + 0x84], cl
movzx ecx, byte [esi + 0x17]
mov dword [esp + 0x20], eax
movzx eax, byte [esi + 0x16]
mov byte [esp + 0x85], dl
mov byte [esp + 0x86], al
mov byte [esp + 0x87], cl
mov edx, dword [esp + 0x84]
push edx
add esi, 0x18
call fcn.6d40ed90
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x20]
push eax
push ecx
push edx
push edi
push str.HPROF_START_THREAD
push ebx
push ebp
push str._d__d:__s__sz_d__thread_serial_num_u__id0x_x__trace_serial_num_u_
call fcn.6d401500
mov eax, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x58]
mov edi, 0x6d419a5c
call fcn.6d401790
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
push str._trace_serial_num_u__nm0x_x__gr0x_x__gn0x_x_n
call fcn.6d401500
add esp, 0x44
jmp 0x6d404955
cmp edi, 4
je 0x6d4045de
push 0x3f8
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.size4
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
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
add esi, 4
call fcn.6d40ed90
mov ecx, dword [0x6d41e7f8]
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, dword [ecx + 0x154]
jb 0x6d404636
mov edx, eax
cmp edx, dword [ecx + 0x170]
jb 0x6d404651
push 0x3fa
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str._thread_serial_num____gdata__thread_serial_number_start___thread_serial_num____gdata__thread_serial_number_counter
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
mov eax, dword [esp + 0x10]
push eax
push edi
push str.HPROF_END_THREAD
push ebx
push ebp
push str._d__d:__s__sz_d__thread_serial_num_u_n
call fcn.6d401500
add esp, 0x18
jmp 0x6d404955
push edi
push str.HPROF_HEAP_DUMP
push ebx
push ebp
push str._d__d:_BEGIN:__s__sz_d_n
call fcn.6d401500
mov ecx, dword [esp + 0x3c]
push edi
push esi
push ecx
call fcn.6d401830
push eax
push edi
push str.HPROF_HEAP_DUMP
push ebx
push ebp
push str._d__d:_END:__s__sz_d__nheap_recs_d_n
call fcn.6d401500
add esp, 0x38
jmp 0x6d404953
push edi
push str.HPROF_HEAP_DUMP_SEGMENT
push ebx
push ebp
push str._d__d:_BEGIN_SEGMENT:__s__sz_d_n
call fcn.6d401500
mov edx, dword [esp + 0x3c]
push edi
push esi
push edx
call fcn.6d401830
push eax
push edi
push str.HPROF_HEAP_DUMP_SEGMENT
push ebx
push ebp
push str._d__d:_END_SEGMENT:__s__sz_d__nheap_recs_d_n
call fcn.6d401500
add esp, 0x38
jmp 0x6d404953
push edi
push str.HPROF_HEAP_DUMP_END
push ebx
push ebp
push str._d__d:_SEGMENT_END:__s__sz_d_n
call fcn.6d401500
add esp, 0x14
jmp 0x6d404955
cmp edi, 8
jae 0x6d40471c
push 0x413
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.size_24
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
movzx edx, 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
call fcn.6d40ed90
movzx edx, byte [esi + 4]
movzx ecx, byte [esi + 6]
mov dword [esp + 0x30], eax
movzx eax, byte [esi + 5]
mov byte [esp + 0x98], dl
movzx edx, byte [esi + 7]
mov byte [esp + 0x99], al
mov byte [esp + 0x9a], cl
mov byte [esp + 0x9b], dl
mov eax, dword [esp + 0x98]
push eax
add esi, 8
call fcn.6d40ed90
mov ecx, dword [esp + 0x34]
push eax
push ecx
push edi
push str.HPROF_CPU_SAMPLES
push ebx
push ebp
push str._d__d:__s__sz_d__total_samples_d__trace_count_d_n
mov dword [esp + 0x3c], eax
call fcn.6d401500
add esp, 0x24
cmp dword [esp + 0x18], 0
jle 0x6d404955
mov ebp, dword [esp + 0x18]
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.6d40ed90
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
mov byte [esp + 0xa8], cl
movzx ecx, byte [esi + 7]
mov ebx, eax
movzx eax, byte [esi + 6]
mov byte [esp + 0xa9], dl
mov byte [esp + 0xaa], al
mov byte [esp + 0xab], cl
mov edx, dword [esp + 0xa8]
push edx
add esi, 8
call fcn.6d40ed90
mov edi, eax
mov eax, dword [0x6d41e7f8]
add esp, 8
cmp edi, dword [eax + 0x158]
jb 0x6d404852
cmp edi, dword [eax + 0x174]
jb 0x6d40486d
push 0x41d
push str..._.._.._src_share_demo_jvmti_hprof_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.6d405ce0
add esp, 0x14
push ebx
push edi
push str._t__d:_samples_d__trace_serial_num_u_n
call fcn.6d401500
add esp, 0xc
dec ebp
jne 0x6d4047c2
jmp 0x6d404955
cmp edi, 6
je 0x6d4048a8
push 0x423
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.size42
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
movzx eax, byte [esi]
movzx edx, byte [esi + 2]
mov cl, byte [esi + 1]
mov byte [esp + 0xac], al
movzx eax, byte [esi + 3]
mov byte [esp + 0xad], cl
mov byte [esp + 0xae], dl
mov byte [esp + 0xaf], al
mov ecx, dword [esp + 0xac]
push ecx
call fcn.6d40ed90
movzx edx, byte [esi + 4]
mov dword [esp + 0x1c], eax
movzx eax, byte [esi + 5]
mov byte [esp + 0xf4], dl
mov byte [esp + 0xf5], al
mov ecx, dword [esp + 0xf4]
push ecx
add esi, 6
call fcn.6d40ed80
mov edx, dword [esp + 0x20]
push eax
push edx
push edi
push str.HPROF_CONTROL_SETTINGS
push ebx
push ebp
push str._d__d:__s__sz_d__flags0x_x__depth_d_n
call fcn.6d401500
add esp, 0x24
jmp 0x6d404955
push edi
push str.UNKNOWN
push ebx
push ebp
push str._d__d:__s__sz_d_n
call fcn.6d401500
push 0x42d
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.unknown_record_type
push 0
push 1
call fcn.6d405ce0
add esp, 0x28
add esi, edi
mov edi, dword [esp + 0xec]
cmp esi, edi
jbe 0x6d40497d
push 0x431
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.p__pstartnbytes_
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
cmp esi, edi
jb 0x6d403800
pop ebp
mov eax, dword [0x6d41e7f8]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x6d4049df
mov ebx, dword [eax + 0x144]
test ebx, ebx
je 0x6d4049df
mov eax, dword [eax + 0x140]
push ebx
push eax
push ecx
call sub.msvcr100.dll__write
mov edi, eax
add esp, 0xc
test edi, edi
js 0x6d4049b8
cmp edi, ebx
je 0x6d4049cf
call dword [sym.imp.msvcr100.dll__errno]
mov eax, dword [eax]
push eax
push edi
mov ebx, str.write
call fcn.6d401210
add esp, 8
mov ecx, dword [0x6d41e7f8]
mov dword [ecx + 0x144], 0
cmp esi, dword [esp + 0xe8]
pop edi
pop esi
pop ebx
je 0x6d404a06
push 0x434
push str..._.._.._src_share_demo_jvmti_hprof_hprof_check.c
push str.p_pstartnbytes_
push 0
push 1
call fcn.6d405ce0
add esp, 0x14
mov edx, dword [esp + 0x18]
push 0
push 0x6d403780
push edx
call fcn.6d412540
mov eax, dword [esp + 0x2c]
add esp, 0xfc
ret