Function at 0x420740
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x168
mov ebp, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, ecx
sub edx, eax
xor edi, edi
cmp edx, 2
jae 0x41d6e9
mov eax, edi
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [eax], 0x67
jne 0x41d70a
cmp byte [eax + 1], 0x73
jne 0x41d70a
add eax, 2
mov dword [ebp], eax
mov edx, ecx
sub edx, eax
mov byte [esp + 0x1b], 1
cmp edx, 2
jb case.0x41d71a.58
jmp 0x41d70f
mov byte [esp + 0x1b], 0
movsx esi, byte [eax]
add esi, 0xffffffcf
cmp esi, 0x43
ja case.0x41d71a.58
jmp dword [esi*4 + 0x4341ec]
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4200a0
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x41e980
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.0041c5b0
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb2
cmp ecx, 0x2c
ja case.0x41d71a.58
jmp dword [ecx*4 + 0x434808]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x148], 0x4353e1
mov dword [esp + 0x14c], 0x4353e3
movsd xmm0, qword [esp + 0x148]
jmp 0x41e7b8
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9d
cmp ecx, 0x13
ja case.0x41d71a.58
jmp dword [ecx*4 + 0x4347b8]
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00419230
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0x14], eax
test eax, eax
je 0x41e8d1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.0041faf0
jmp 0x41e8ca
movsx ecx, byte [eax + 1]
add ecx, 0xffffffaa
cmp ecx, 0x20
ja case.0x41d71a.58
jmp dword [ecx*4 + 0x434734]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x118], 0x435415
mov dword [esp + 0x11c], 0x435417
movsd xmm0, qword [esp + 0x118]
jmp 0x41e7b8
movsx ecx, byte [eax + 1]
cmp ecx, 0x4f
je 0x41dd32
cmp ecx, 0x71
je 0x41dd5c
cmp ecx, 0x6f
jne case.0x41d71a.58
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x110], 0x435418
mov dword [esp + 0x114], 0x435419
movsd xmm0, qword [esp + 0x110]
jmp 0x41e7b8
movzx ecx, byte [eax + 1]
cmp cl, 0x70
jne 0x41dc08
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.0041f270
movsx ecx, byte [eax + 1]
cmp ecx, 0x74
je 0x41dc33
cmp ecx, 0x65
jne case.0x41d71a.58
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xf8], 0x435420
mov dword [esp + 0xfc], 0x435422
movsd xmm0, qword [esp + 0xf8]
jmp 0x41e7b8
movsx edx, byte [eax + 1]
cmp edx, 0x6c
je 0x41dc5d
cmp edx, 0x78
jne case.0x41d71a.58
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0x14], eax
test eax, eax
je 0x41e8d1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x4206c0
jmp 0x41e8ca
movsx ecx, byte [eax + 1]
add ecx, 0xffffffad
cmp ecx, 0x21
ja case.0x41d71a.58
jmp dword [ecx*4 + 0x4346ac]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xd8], 0x43542b
mov dword [esp + 0xdc], 0x43542e
movsd xmm0, qword [esp + 0xd8]
jmp 0x41e7b8
movsx edx, byte [eax + 1]
add edx, 0xffffffb7
cmp edx, 0x24
ja case.0x41d71a.58
jmp dword [edx*4 + 0x434618]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xc0], 0x435433
mov dword [esp + 0xc4], 0x435435
movsd xmm0, qword [esp + 0xc0]
jmp 0x41e7b8
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9f
cmp ecx, 0x17
ja case.0x41d71a.58
jmp dword [ecx*4 + 0x4345b8]
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x420ab0
movsx ecx, byte [eax + 1]
add ecx, 0xffffffae
cmp ecx, 0x20
ja case.0x41d71a.58
jmp dword [ecx*4 + 0x434534]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x78], 0x435451
mov dword [esp + 0x7c], 0x435453
movsd xmm0, qword [esp + 0x78]
jmp 0x41e7b8
movsx edx, byte [eax + 1]
add edx, 0xffffffb4
cmp edx, 0x28
ja case.0x41d71a.58
jmp dword [edx*4 + 0x434490]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x60], 0x43545a
mov dword [esp + 0x64], 0x43545c
movsd xmm0, qword [esp + 0x60]
jmp 0x41e7b8
cmp byte [eax + 1], 0x75
jne case.0x41d71a.58
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0x14], eax
test eax, eax
je 0x41e8d1
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0x2c], eax
test eax, eax
je 0x41e8d1
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x420f20
jmp 0x41e8ca
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb3
cmp ecx, 0x26
ja case.0x41d71a.58
jmp dword [ecx*4 + 0x4343f4]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x40], 0x435476
mov dword [esp + 0x44], 0x435478
movsd xmm0, qword [esp + 0x40]
jmp 0x41e7b8
movsx edx, byte [eax + 1]
add edx, 0xffffffb0
cmp edx, 0x2a
ja case.0x41d71a.58
jmp dword [edx*4 + 0x434348]
add eax, 2
mov dword [ebp], eax
mov edx, dword [ebp + 0xc]
sub edx, dword [ebp + 8]
sar edx, 2
mov dword [esp + 0x20], edx
lea edx, [ebp + 0x14]
mov dword [esp + 0x24], ebp
jmp 0x41db2d
mov edx, ebx
lea ecx, [esi + 4]
mov dword [ebp + 0xc], ecx
mov dword [esi], eax
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
cmp eax, ecx
je 0x41db3a
cmp byte [eax], 0x45
je 0x41e7f3
mov ebx, edx
mov ecx, ebp
call fcn.0041b060
test eax, eax
je case.0x41d71a.58
mov esi, dword [ebp + 0xc]
cmp esi, dword [ebp + 0x10]
jne 0x41db1d
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
mov edi, esi
sub edi, eax
lea ecx, [edi + edi]
cmp eax, ebx
je 0x41db85
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov ebp, eax
mov ecx, dword [esp + 0x24]
mov dword [ecx + 8], eax
test eax, eax
mov edx, ebx
jne 0x41dbb6
jmp 0x41e8d8
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x41e8d8
mov ebp, eax
mov edx, ebx
cmp esi, ebx
je 0x41dbaf
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edx, ebx
mov ecx, dword [esp + 0x24]
mov dword [ecx + 8], ebp
mov eax, edi
sar eax, 2
sar edi, 1
lea esi, [eax*4]
add esi, ebp
lea eax, [edi*4]
add eax, ebp
mov dword [ecx + 0x10], eax
mov ebp, ecx
xor edi, edi
mov eax, dword [esp + 0x1c]
jmp 0x41db1f
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9b
cmp ecx, 0x12
ja case.0x41d71a.58
jmp dword [ecx*4 + 0x4342fc]
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
jmp 0x41e11e
cmp cl, 0x4c
jne 0x41dc22
cmp edx, 3
jb 0x41dc22
movsx eax, byte [eax + 2]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x41d886
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x41f460
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xf0], 0x435423
mov dword [esp + 0xf4], 0x435424
movsd xmm0, qword [esp + 0xf0]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov edx, dword [ebp + 0xc]
sub edx, dword [ebp + 8]
sar edx, 2
mov dword [esp + 0x20], edx
lea edx, [ebp + 0x14]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], ebp
jmp 0x41dcc6
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov ecx, ebp
mov ebp, eax
mov dword [ecx + 8], eax
test eax, eax
je 0x41e8d8
mov eax, esi
sar eax, 2
sar esi, 1
lea edi, [eax*4]
add edi, ebp
lea eax, [esi*4]
add eax, ebp
mov dword [ecx + 0x10], eax
mov ebp, ecx
lea eax, [edi + 4]
mov dword [ebp + 0xc], eax
mov dword [edi], ebx
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
xor edi, edi
cmp eax, ecx
je 0x41dcd3
cmp byte [eax], 0x45
je 0x41e3f8
mov ecx, ebp
call 0x420740
test eax, eax
je case.0x41d71a.58
mov ebx, eax
mov edi, dword [ebp + 0xc]
cmp edi, dword [ebp + 0x10]
jne 0x41dcb6
mov eax, dword [ebp + 8]
mov esi, edi
sub esi, eax
lea ecx, [esi + esi]
cmp eax, dword [esp + 0x1c]
jne 0x41dc7d
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x41e8d8
mov ebp, eax
mov eax, dword [esp + 0x1c]
cmp edi, eax
je 0x41dd26
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [esp + 0x24]
mov dword [ecx + 8], ebp
jmp 0x41dc98
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x108], 0x43541a
mov dword [esp + 0x10c], 0x43541c
movsd xmm0, qword [esp + 0x108]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x100], 0x43541d
mov dword [esp + 0x104], 0x43541f
movsd xmm0, qword [esp + 0x100]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xe8], 0x435425
mov dword [esp + 0xec], 0x435427
movsd xmm0, qword [esp + 0xe8]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xe0], 0x435428
mov dword [esp + 0xe4], 0x43542a
movsd xmm0, qword [esp + 0xe0]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xd0], 0x43542f
mov dword [esp + 0xd4], 0x435430
movsd xmm0, qword [esp + 0xd0]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x88], 0x43544c
mov dword [esp + 0x8c], 0x43544e
movsd xmm0, qword [esp + 0x88]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x80], 0x43544f
mov dword [esp + 0x84], 0x435450
movsd xmm0, qword [esp + 0x80]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0x14], eax
xor edi, edi
test eax, eax
je case.0x41d71a.58
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
sar eax, 2
mov dword [esp + 0x28], eax
lea esi, [ebp + 0x14]
mov dword [esp + 0x20], esi
jmp 0x41ded0
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov ebp, eax
mov dword [esi + 8], eax
test eax, eax
je 0x41e8d8
mov ecx, dword [esp + 0x1c]
mov eax, ecx
sar eax, 2
sar ecx, 1
lea edi, [eax*4]
add edi, ebp
lea eax, [ecx*4]
add eax, ebp
mov dword [esi + 0x10], eax
mov ebp, esi
mov esi, dword [esp + 0x20]
lea eax, [edi + 4]
mov dword [ebp + 0xc], eax
mov dword [edi], ebx
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
je 0x41dee1
cmp byte [eax], 0x45
je 0x41e832
mov ecx, ebp
call fcn.0041d6c0
test eax, eax
je 0x41e8d1
mov ebx, eax
mov edi, dword [ebp + 0xc]
cmp edi, dword [ebp + 0x10]
jne 0x41dec8
mov eax, dword [ebp + 8]
mov ecx, edi
sub ecx, eax
mov dword [esp + 0x1c], ecx
add ecx, ecx
cmp eax, esi
mov esi, ebp
jne 0x41de89
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x41e8d8
mov ebp, eax
mov eax, dword [esp + 0x20]
cmp edi, eax
je 0x41df3f
mov ecx, dword [esp + 0x1c]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov dword [esi + 8], ebp
jmp 0x41dea2
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x138], 0x4353fb
mov dword [esp + 0x13c], 0x4353fc
movsd xmm0, qword [esp + 0x138]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x130], 0x4353fd
mov dword [esp + 0x134], 0x4353fe
movsd xmm0, qword [esp + 0x130]
jmp 0x41e6b7
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.0041fc10
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xb0], 0x435436
mov dword [esp + 0xb4], 0x435438
movsd xmm0, qword [esp + 0xb0]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xc8], 0x435431
mov dword [esp + 0xcc], 0x435432
movsd xmm0, qword [esp + 0xc8]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xb8], 0x43540c
mov dword [esp + 0xbc], 0x43540d
movsd xmm0, qword [esp + 0xb8]
jmp 0x41e7b8
lea edx, [eax + 2]
mov dword [ebp], edx
cmp edx, ecx
je 0x41e60d
cmp byte [edx], 0x5f
jne 0x41e60d
add eax, 3
mov dword [ebp], eax
mov dword [esp + 0xa8], 0x435439
mov dword [esp + 0xac], 0x43543b
movsd xmm0, qword [esp + 0xa8]
jmp 0x41e6b7
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x30], 0x43547c
mov dword [esp + 0x34], 0x43547f
movsd xmm0, qword [esp + 0x30]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00419230
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0x14], eax
test eax, eax
je 0x41e8d1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x420fb0
jmp 0x41e8ca
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x48], 0x435474
mov dword [esp + 0x4c], 0x435475
movsd xmm0, qword [esp + 0x48]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x38], 0x435479
mov dword [esp + 0x3c], 0x43547b
movsd xmm0, qword [esp + 0x38]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00419230
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, ebp
mov edx, str.typeid__
call fcn.00421150
jmp 0x41e8ca
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00419230
mov dword [esp + 0x14], eax
xor edi, edi
test eax, eax
je case.0x41d71a.58
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
sar eax, 2
mov dword [esp + 0x20], eax
lea ecx, [ebp + 0x14]
mov dword [esp + 0x24], ebp
jmp 0x41e17d
mov ecx, ebx
lea edx, [esi + 4]
mov dword [ebp + 0xc], edx
mov dword [esi], eax
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
je 0x41e18e
cmp byte [eax], 0x45
je 0x41e871
mov ebx, ecx
mov ecx, ebp
call 0x420740
test eax, eax
je case.0x41d71a.58
mov esi, dword [ebp + 0xc]
cmp esi, dword [ebp + 0x10]
jne 0x41e173
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
mov edi, esi
sub edi, eax
lea ecx, [edi + edi]
cmp eax, ebx
je 0x41e1d7
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov edx, ebp
mov ebp, eax
mov dword [edx + 8], eax
test eax, eax
mov ecx, ebx
jne 0x41e208
jmp 0x41e8d8
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x41e8d8
mov ebp, eax
mov ecx, ebx
cmp esi, ebx
je 0x41e201
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [esp], ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, ebx
mov edx, dword [esp + 0x24]
mov dword [edx + 8], ebp
mov eax, edi
sar eax, 2
sar edi, 1
lea esi, [eax*4]
add esi, ebp
lea eax, [edi*4]
add eax, ebp
mov dword [edx + 0x10], eax
mov ebp, edx
xor edi, edi
mov eax, dword [esp + 0x1c]
jmp 0x41e175
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
mov edx, 0x4354aa
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x421420
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.004214b0
jmp 0x41e8ca
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xa0], 0x43543c
mov dword [esp + 0xa4], 0x43543e
movsd xmm0, qword [esp + 0xa0]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x98], 0x435431
mov dword [esp + 0x9c], 0x435432
movsd xmm0, qword [esp + 0x98]
jmp 0x41e6b7
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x90], 0x43543f
mov dword [esp + 0x94], 0x435440
movsd xmm0, qword [esp + 0x90]
jmp 0x41e6b7
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x420e80
jmp 0x41e8ca
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x68], 0x435458
mov dword [esp + 0x6c], 0x435459
movsd xmm0, qword [esp + 0x68]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x70], 0x435454
mov dword [esp + 0x74], 0x435457
movsd xmm0, qword [esp + 0x70]
jmp 0x41e7b8
lea edx, [eax + 2]
mov dword [ebp], edx
cmp edx, ecx
je 0x41e7c9
cmp byte [edx], 0x5f
jne 0x41e7c9
add eax, 3
mov dword [ebp], eax
mov dword [esp + 0x58], 0x43545d
mov dword [esp + 0x5c], 0x43545f
movsd xmm0, qword [esp + 0x58]
jmp 0x41e6b7
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x50], 0x435458
mov dword [esp + 0x54], 0x435459
movsd xmm0, qword [esp + 0x50]
jmp 0x41e6b7
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0x14], eax
test eax, eax
je 0x41e8d1
lea eax, [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0x435460
jmp 0x41e740
inc eax
mov dword [ebp], eax
mov esi, dword [esp + 0x20]
shl esi, 2
mov edx, dword [ebp + 8]
add edx, esi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov ecx, ebp
call fcn.00423110
add esi, dword [ebp + 8]
mov dword [ebp + 0xc], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x420980
jmp 0x41e8ca
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x140], 0x4353e4
mov dword [esp + 0x144], 0x4353e5
movsd xmm0, qword [esp + 0x140]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x160], 0x4353dc
mov dword [esp + 0x164], 0x4353de
movsd xmm0, qword [esp + 0x160]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x158], 0x4353df
mov dword [esp + 0x15c], 0x4353e0
movsd xmm0, qword [esp + 0x158]
jmp 0x41e6b7
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x150], 0x4353df
mov dword [esp + 0x154], 0x4353e0
movsd xmm0, qword [esp + 0x150]
jmp 0x41e7b8
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00419230
jmp 0x41e4f7
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, ebp
mov edx, str.alignof__
call 0x41e8e0
jmp 0x41e8ca
add eax, 2
mov dword [ebp], eax
cmp ecx, eax
je case.0x41d71a.58
movzx eax, byte [eax]
cmp eax, 0x66
je 0x41e8b0
cmp eax, 0x54
jne case.0x41d71a.58
mov ecx, ebp
call fcn.0041c5b0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.004211f0
jmp 0x41e8ca
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00419230
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0x14], eax
test eax, eax
je 0x41e8d1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x421040
jmp 0x41e8ca
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.004210d0
jmp 0x41e8ca
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00419230
jmp 0x41e5e9
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, ebp
mov edx, str.sizeof__
call fcn.00421150
jmp 0x41e8ca
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
mov dword [esp], 0x435439
jmp 0x41e7e3
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
mov byte [esp + 0x14], 1
jmp 0x41e6e6
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00419230
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0x14], eax
test eax, eax
je 0x41e8d1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.00420010
jmp 0x41e8ca
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x128], 0x43540c
mov dword [esp + 0x12c], 0x43540d
movsd xmm0, qword [esp + 0x128]
movsd qword [esp], xmm0
mov ecx, ebp
call fcn.0041fa50
jmp 0x41d6de
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
mov byte [esp + 0x14], 0
lea eax, [esp + 0x14]
mov dword [esp + 4], eax
lea eax, [esp + 0x1b]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.0041ff80
jmp 0x41e8ca
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0x14], eax
test eax, eax
je 0x41e8d1
lea eax, [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0x43540e
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x420590
jmp 0x41e8ca
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0x14], eax
test eax, eax
je 0x41e8d1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x420630
jmp 0x41e8ca
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x120], 0x435413
mov dword [esp + 0x124], 0x435414
movsd xmm0, qword [esp + 0x120]
movsd qword [esp], xmm0
mov ecx, ebp
call fcn.0041f9a0
jmp 0x41d6de
mov ecx, ebp
call fcn.0041d6c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
mov dword [esp], 0x43545d
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x420a10
jmp 0x41e8ca
inc eax
mov dword [ebp], eax
mov esi, dword [esp + 0x20]
shl esi, 2
mov edx, dword [ebp + 8]
add edx, esi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov ecx, ebp
call fcn.00423110
add esi, dword [ebp + 8]
mov dword [ebp + 0xc], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.00421310
mov dword [esp + 0xc], eax
jmp 0x41e8bf
inc eax
mov dword [ebp], eax
mov esi, dword [esp + 0x28]
shl esi, 2
mov edx, dword [ebp + 8]
add edx, esi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov ecx, ebp
call fcn.00423110
add esi, dword [ebp + 8]
mov dword [ebp + 0xc], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov dword [esp], eax
lea edx, [esp + 0x14]
mov ecx, ebp
call fcn.0041fb80
jmp 0x41e8ca
inc eax
mov dword [ebp], eax
mov esi, dword [esp + 0x20]
shl esi, 2
mov edx, dword [ebp + 8]
add edx, esi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov ecx, ebp
call fcn.00423110
add esi, dword [ebp + 8]
mov dword [ebp + 0xc], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov dword [esp], eax
lea edx, [esp + 0x14]
mov ecx, ebp
call fcn.00421390
jmp 0x41e8ca
mov ecx, ebp
call fcn.0041f270
mov dword [esp + 0xc], eax
test eax, eax
je 0x41e8d1
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.00421270
mov edi, eax
jmp case.0x41d71a.58
xor edi, edi
jmp case.0x41d71a.58
call fcn.0040d470
nop dword [eax]
push ebp
push ebx
push edi
push esi
mov esi, edx
mov edi, ecx
mov ebx, dword [ecx + 0x116c]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41e922
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41e97a
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
xor ecx, ecx
mov ebx, eax
add ecx, 0x20
mov dword [ebx + 4], ecx
mov ebx, dword [edi + 0x116c]
mov ebp, dword [ebx + 4]
lea edi, [ebx + ebp]
add edi, 0xffffffe8
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
add eax, esi
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
mov dword [ebx + ebp - 0x14], 0x101012f
mov dword [ebx + ebp - 0x18], 0x4362c4
mov dword [ebx + ebp - 0x10], esi
mov dword [ebx + ebp - 0xc], eax
mov dword [ebx + ebp - 8], ecx
mov dword [ebx + ebp - 4], 0x4353da
mov dword [ebx + ebp], 0x4353db
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040d470
nop
push ebp
push ebx
push edi
push esi
push eax
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, ecx
sub edx, eax
cmp edx, 3
jae 0x4200cc
cmp edx, 2
je 0x42018d
mov ecx, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4235d0
movzx edx, byte [eax]
cmp dl, 0x73
jne 0x420190
cmp byte [eax + 1], 0x72
jne 0x42018d
cmp byte [eax + 2], 0x4e
jne 0x42018d
add eax, 3
mov dword [esi], eax
mov ecx, esi
call fcn.004233e0
test eax, eax
je 0x420562
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x4204eb
cmp byte [eax], 0x49
jne 0x4204eb
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.0041bef0
test eax, eax
je 0x420564
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x420169
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420587
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
xor ecx, ecx
mov ebp, eax
add ecx, 0x10
mov dword [ebp + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x1010120
mov dword [eax + ecx - 8], 0x436b00
jmp 0x4204de
movzx edx, byte [eax]
cmp dl, 0x67
jne 0x4201b0
cmp byte [eax + 1], 0x73
jne 0x4201bd
add eax, 2
mov dword [esi], eax
mov edx, ecx
sub edx, eax
mov bl, 1
cmp edx, 2
jae 0x4201b2
jmp 0x420331
xor ebx, ebx
cmp byte [eax], 0x73
jne 0x420331
jmp 0x4201c8
xor ebx, ebx
cmp byte [eax], 0x73
jne 0x420331
cmp byte [eax + 1], 0x72
jne 0x420331
add eax, 2
mov dword [esi], eax
cmp ecx, eax
je 0x4203b5
movsx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 9
ja 0x4203b5
mov dword [esp], ebx
mov ecx, esi
call 0x423520
test eax, eax
je 0x420562
mov ebx, eax
xor edi, edi
jmp 0x420223
mov ecx, esi
call 0x423520
mov ebx, eax
xor ebp, ebp
test eax, eax
je 0x420564
test edi, edi
je 0x4202a0
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x420265
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420587
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
xor ecx, ecx
mov ebp, eax
add ecx, 0x10
mov dword [ebp + 4], ecx
mov ecx, dword [esi + 0x116c]
mov edx, dword [ecx + 4]
lea eax, [ecx + edx]
add eax, 0xfffffff8
mov dword [ecx + edx - 4], 0x1010116
mov dword [ecx + edx - 8], 0x435ba0
mov dword [ecx + edx], edi
add ecx, edx
add ecx, 4
jmp 0x420310
cmp byte [esp], 0
je 0x42032d
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x4202e8
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420587
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
xor ecx, ecx
mov edi, eax
add ecx, 0x10
mov dword [edi + 4], ecx
mov edx, dword [esi + 0x116c]
mov edi, dword [edx + 4]
lea ecx, [edx + edi]
lea eax, [edx + edi]
add eax, 0xfffffff8
mov dword [edx + edi - 4], 0x1010121
mov dword [edx + edi - 8], 0x435f54
mov dword [ecx], ebx
mov edi, eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x420210
cmp byte [eax], 0x45
jne 0x420210
jmp 0x42045b
mov edi, ebx
jmp 0x420314
mov ecx, esi
call 0x4235d0
mov ebp, eax
test bl, bl
je 0x420564
test ebp, ebp
je 0x420564
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x420388
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420587
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
xor ecx, ecx
mov edi, eax
add ecx, 0x10
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x1010121
mov dword [eax + ecx - 8], 0x435f54
mov dword [eax + ecx], ebp
lea ebp, [eax + ecx]
add ebp, 0xfffffff8
jmp 0x420564
mov ecx, esi
call fcn.004233e0
test eax, eax
je 0x420562
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x42045e
cmp byte [eax], 0x49
jne 0x42045e
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.0041bef0
test eax, eax
je 0x420564
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x42042d
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420587
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
xor ecx, ecx
mov ebp, eax
add ecx, 0x10
mov dword [ebp + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x1010120
mov dword [eax + ecx - 8], 0x436b00
mov dword [eax + ecx], edi
lea edi, [eax + ecx]
add edi, 0xfffffff8
mov dword [eax + ecx + 4], ebx
jmp 0x42045e
inc eax
mov dword [esi], eax
mov ecx, esi
call 0x4235d0
test eax, eax
je 0x420562
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x4204ad
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420587
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
xor ecx, ecx
mov ebp, eax
add ecx, 0x10
mov dword [ebp + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
lea ebp, [eax + ecx]
add ebp, 0xfffffff8
mov dword [eax + ecx - 4], 0x1010116
mov dword [eax + ecx - 8], 0x435ba0
mov dword [eax + ecx], edi
mov dword [eax + ecx + 4], ebx
jmp 0x420564
mov dword [eax + ecx], edi
lea edi, [eax + ecx]
add edi, 0xfffffff8
mov dword [eax + ecx + 4], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x4204f7
cmp byte [eax], 0x45
je 0x42056e
mov ecx, esi
call 0x423520
test eax, eax
je 0x420562
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x42053e
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420587
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
xor ecx, ecx
mov ebp, eax
add ecx, 0x10
mov dword [ebp + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x1010116
mov dword [eax + ecx - 8], 0x435ba0
jmp 0x4204de
xor ebp, ebp
mov eax, ebp
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
inc eax
mov dword [esi], eax
mov ecx, esi
call 0x4235d0
mov ebp, 0
test eax, eax
jne 0x42046d
jmp 0x420564
call fcn.0040d470
nop dword [eax]
push ebp
push ebx
push edi
push esi
mov ebp, edx
mov edi, ecx
mov ebx, dword [ecx + 0x116c]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4205d2
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420629
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
xor ecx, ecx
mov ebx, eax
add ecx, 0x20
mov dword [ebx + 4], ecx
mov ebx, dword [edi + 0x116c]
mov esi, dword [ebx + 4]
lea edi, [ebx + esi]
add edi, 0xffffffe8
mov ebp, dword [ebp]
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edx, dword [esp + 0x14]
add eax, edx
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
mov dword [ebx + esi - 0x14], 0x101012e
mov dword [ebx + esi - 0x18], 0x435fc4
mov dword [ebx + esi - 0x10], ebp
mov dword [ebx + esi - 0xc], edx
mov dword [ebx + esi - 8], eax
mov dword [ebx + esi - 4], ecx
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040d470
nop
push ebx
push edi
push esi
mov esi, edx
mov edi, ecx
mov ebx, dword [ecx + 0x116c]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x420671
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x4206ba
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
xor ecx, ecx
mov ebx, eax
mov edx, dword [esp + 0x10]
add ecx, 0x20
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov edi, dword [ecx + 4]
lea eax, [ecx + edi]
add eax, 0xffffffe8
mov esi, dword [esi]
mov edx, dword [edx]
mov dword [ecx + edi - 0x14], 0x101012e
mov dword [ecx + edi - 0x18], 0x435fc4
mov dword [ecx + edi - 0x10], esi
mov dword [ecx + edi - 0xc], 0x435411
mov dword [ecx + edi - 8], 0x435412
mov dword [ecx + edi - 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0040d470
nop
push ebx
push edi
push esi
mov esi, edx
mov edi, ecx
mov ebx, dword [ecx + 0x116c]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x420701
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420739
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
xor ecx, ecx
mov ebx, eax
mov edx, dword [esp + 0x10]
add ecx, 0x10
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov edi, dword [ecx + 4]
lea eax, [ecx + edi]
add eax, 0xfffffff8
mov esi, dword [esi]
mov edx, dword [edx]
mov dword [ecx + edi - 4], 0x101012b
mov dword [ecx + edi - 8], 0x43602c
mov dword [ecx + edi], esi
mov dword [ecx + edi + 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0040d470
nop
push ebp
push ebx
push edi
push esi
push eax
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
je 0x420823
cmp byte [eax], 0x64
jne 0x420823
cmp ecx, 2
jb 0x420823
movsx ecx, byte [eax + 1]
cmp ecx, 0x58
je 0x420831
cmp ecx, 0x78
je 0x4208e4
cmp ecx, 0x69
jne 0x420823
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00423770
xor edi, edi
test eax, eax
je 0x420971
mov ebx, eax
mov ecx, esi
call 0x420740
test eax, eax
je 0x420971
mov ebp, eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4207ec
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x42097b
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
xor ecx, ecx
mov edi, eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
lea edi, [eax + ecx]
add edi, 0xffffffe8
mov dword [eax + ecx - 0x14], 0x1010141
mov dword [eax + ecx - 0x18], 0x43609c
mov dword [eax + ecx - 0x10], ebx
mov dword [eax + ecx - 0xc], ebp
mov byte [eax + ecx - 8], 0
jmp 0x420971
mov ecx, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.0041d6c0
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0041d6c0
xor edi, edi
test eax, eax
je 0x420971
mov ebx, eax
mov ecx, esi
call fcn.0041d6c0
test eax, eax
je 0x420971
mov ebp, eax
mov ecx, esi
call 0x420740
test eax, eax
je 0x420971
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x4208ae
mov dword [esp], eax
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x42097b
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
xor ecx, ecx
mov edi, eax
mov eax, dword [esp]
add ecx, 0x20
mov dword [edi + 4], ecx
mov edx, dword [esi + 0x116c]
mov ecx, dword [edx + 4]
lea edi, [edx + ecx]
add edi, 0xffffffe8
mov dword [edx + ecx - 0x14], 0x1010142
mov dword [edx + ecx - 0x18], 0x436108
mov dword [edx + ecx - 0x10], ebx
mov dword [edx + ecx - 0xc], ebp
mov dword [edx + ecx - 8], eax
jmp 0x420971
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0041d6c0
xor edi, edi
test eax, eax
je 0x420971
mov ebx, eax
mov ecx, esi
call 0x420740
test eax, eax
je 0x420971
mov ebp, eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x42093f
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x42097b
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
xor ecx, ecx
mov edi, eax
add ecx, 0x20
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
lea edi, [eax + ecx]
add edi, 0xffffffe8
mov dword [eax + ecx - 0x14], 0x1010141
mov dword [eax + ecx - 0x18], 0x43609c
mov dword [eax + ecx - 0x10], ebx
mov dword [eax + ecx - 0xc], ebp
mov byte [eax + ecx - 8], 1
mov eax, edi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040d470
push ebx
push edi
push esi
mov esi, edx
mov edi, ecx
mov ebx, dword [ecx + 0x116c]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4209c1
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x4209ff
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
xor ecx, ecx
mov ebx, eax
add ecx, 0x20
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov edx, dword [ecx + 4]
lea eax, [ecx + edx]
add eax, 0xffffffe8
mov edi, dword [esi]
mov esi, dword [esi + 4]
mov dword [ecx + edx - 0x14], 0x1010138
mov dword [ecx + edx - 0x18], 0x43617c
mov dword [ecx + edx - 0x10], 0
mov dword [ecx + edx - 0xc], edi
mov dword [ecx + edx - 8], esi
pop esi
pop edi
pop ebx
ret
call fcn.0040d470
nop word cs:[eax + eax]
push ebp
push ebx
push edi
push esi
mov ebp, edx
mov edi, ecx
mov ebx, dword [ecx + 0x116c]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x420a52
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420a9f
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
xor ecx, ecx
mov ebx, eax
add ecx, 0x20
mov dword [ebx + 4], ecx
mov ebx, dword [edi + 0x116c]
mov esi, dword [ebx + 4]
lea edi, [ebx + esi]
add edi, 0xffffffe8
mov ebp, dword [ebp]
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esp + 0x14]
add eax, ecx
mov dword [ebx + esi - 0x14], 0x101012c
mov dword [ebx + esi - 0x18], 0x4361e8
mov dword [ebx + esi - 0x10], ebp
mov dword [ebx + esi - 0xc], ecx
mov dword [ebx + esi - 8], eax
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040d470
nop word cs:[eax + eax]
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov ebx, ecx
mov ecx, dword [ecx]
mov edx, dword [ebx + 4]
mov esi, edx
sub esi, ecx
xor eax, eax
cmp esi, 2
jb 0x420dc1
cmp byte [ecx], 0x67
jne 0x420af7
xor eax, eax
cmp byte [ecx + 1], 0x73
jne 0x420af7
add ecx, 2
mov dword [ebx], ecx
mov esi, edx
sub esi, ecx
mov edi, ebx
mov bl, 1
mov dword [esp + 4], ebx
mov ebx, edi
cmp esi, 2
jae 0x420aff
jmp 0x420dc1
mov dword [esp + 4], 0
movzx eax, word [ecx]
movd xmm0, eax
pcmpeqb xmm0, xmmword [0x434a00]
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0x60
pshufd xmm0, xmm0, 0x50
movmskpd eax, xmm0
test al, 1
je 0x420dbf
cmp byte [ecx + 1], 0x77
je 0x420b41
cmp byte [ecx], 0x6e
jne 0x420dbf
cmp byte [ecx + 1], 0x61
jne 0x420dbf
shr al, 1
mov dword [esp + 0x1c], eax
add ecx, 2
mov dword [ebx], ecx
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 8]
sar eax, 2
mov dword [esp + 8], eax
lea eax, [ebx + 0x14]
mov dword [esp], eax
mov dword [esp + 0xc], ebx
jmp 0x420ba9
push ecx
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov ecx, ebx
add esp, 8
mov ebx, eax
mov dword [ecx + 8], eax
test eax, eax
je 0x420e75
mov eax, esi
sar eax, 2
sar esi, 1
lea ebp, [ebx + eax*4]
lea eax, [ebx + esi*4]
mov dword [ecx + 0x10], eax
mov ebx, ecx
lea eax, [ebp + 4]
mov dword [ebx + 0xc], eax
mov dword [ebp], edi
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
cmp ecx, edx
je 0x420bb2
cmp byte [ecx], 0x5f
je 0x420c08
mov ecx, ebx
call fcn.0041d6c0
test eax, eax
je 0x420dbf
mov edi, eax
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [ebx + 0x10]
jne 0x420b9b
mov eax, dword [ebx + 8]
mov esi, ebp
sub esi, eax
lea ecx, [esi + esi]
cmp eax, dword [esp]
jne 0x420b70
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420e75
mov ebx, eax
mov eax, dword [esp]
cmp ebp, eax
je 0x420bff
push esi
push eax
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov dword [ecx + 8], ebx
jmp 0x420b89
inc ecx
mov dword [ebx], ecx
mov esi, dword [esp + 8]
shl esi, 2
mov edx, dword [ebx + 8]
add edx, esi
mov ecx, ebx
push dword [ebx + 0xc]
call fcn.00423110
add esp, 4
mov edi, eax
mov ebp, edx
add esi, dword [ebx + 8]
mov dword [ebx + 0xc], esi
mov ecx, ebx
call fcn.00419230
test eax, eax
je 0x420dbf
mov dword [esp + 8], eax
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov edx, eax
sub edx, ecx
cmp edx, 2
jb 0x420c79
cmp byte [ecx], 0x70
jne 0x420c79
cmp byte [ecx + 1], 0x69
jne 0x420c79
mov dword [esp + 0x10], edi
add ecx, 2
mov dword [ebx], ecx
mov edx, dword [ebx + 0xc]
sub edx, dword [ebx + 8]
sar edx, 2
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebp
jmp 0x420d63
cmp ecx, eax
je 0x420dbf
cmp byte [ecx], 0x45
mov eax, 0
jne 0x420dc1
inc ecx
mov dword [ebx], ecx
mov esi, dword [ebx + 0x116c]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x420cd0
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420e75
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebx + 0x116c], eax
xor ecx, ecx
mov esi, eax
add ecx, 0x20
mov dword [esi + 4], ecx
mov ecx, dword [ebx + 0x116c]
mov edx, dword [ecx + 4]
lea eax, [ecx + edx]
add eax, 0xffffffe8
mov dword [ecx + edx - 0x14], 0x1010133
mov dword [ecx + edx - 0x18], 0x436250
mov dword [ecx + edx - 0xc], ebp
mov dword [ecx + edx - 0x10], edi
mov esi, dword [esp + 8]
mov dword [ecx + edx - 8], esi
mov dword [ecx + edx - 4], 0
mov dword [ecx + edx], 0
mov edx, dword [esp + 4]
mov byte [eax + 0x1c], dl
mov ecx, dword [esp + 0x1c]
mov byte [eax + 0x1d], cl
jmp 0x420dc1
push ecx
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov ecx, ebx
add esp, 8
mov ebx, eax
mov dword [ecx + 8], eax
test eax, eax
je 0x420e75
mov eax, ebp
sar eax, 2
sar ebp, 1
lea esi, [ebx + eax*4]
lea eax, [ebx + ebp*4]
mov dword [ecx + 0x10], eax
mov ebx, ecx
mov ebp, dword [esp + 0x18]
lea eax, [esi + 4]
mov dword [ebx + 0xc], eax
mov dword [esi], edi
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
cmp ecx, eax
je 0x420d6c
cmp byte [ecx], 0x45
je 0x420dc9
mov ecx, ebx
call fcn.0041d6c0
test eax, eax
je 0x420dbf
mov edi, eax
mov esi, dword [ebx + 0xc]
cmp esi, dword [ebx + 0x10]
jne 0x420d56
mov eax, dword [ebx + 8]
mov ebp, esi
sub ebp, eax
mov ecx, ebp
add ecx, ebp
cmp eax, dword [esp]
jne 0x420d27
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420e75
mov ebx, eax
mov eax, dword [esp]
cmp esi, eax
je 0x420db6
push ebp
push eax
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov dword [ecx + 8], ebx
jmp 0x420d40
xor eax, eax
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
inc ecx
mov dword [ebx], ecx
mov esi, dword [esp + 0x14]
shl esi, 2
mov edx, dword [ebx + 8]
add edx, esi
mov ecx, ebx
push dword [ebx + 0xc]
call fcn.00423110
add esp, 4
mov dword [esp], eax
mov edi, edx
add esi, dword [ebx + 8]
mov dword [ebx + 0xc], esi
mov esi, dword [ebx + 0x116c]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x420e2a
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420e75
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebx + 0x116c], eax
xor ecx, ecx
mov esi, eax
mov edx, dword [esp + 4]
add ecx, 0x20
mov dword [esi + 4], ecx
mov eax, dword [ebx + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 0x14], 0x1010133
mov dword [eax + ecx - 0x18], 0x436250
mov dword [eax + ecx - 0xc], ebp
mov esi, dword [esp + 0x10]
mov dword [eax + ecx - 0x10], esi
mov esi, dword [esp + 8]
mov dword [eax + ecx - 8], esi
mov dword [eax + ecx], edi
mov esi, dword [esp]
mov dword [eax + ecx - 4], esi
add eax, ecx
add eax, 0xffffffe8
jmp 0x420d18
call fcn.0040d470
nop word [eax + eax]
push ebx
push edi
push esi
mov esi, edx
mov edi, ecx
mov ebx, dword [ecx + 0x116c]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x420ec1
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420f0f
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
xor ecx, ecx
mov ebx, eax
add ecx, 0x20
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov edx, dword [ecx + 4]
lea eax, [ecx + edx]
add eax, 0xffffffe8
mov esi, dword [esi]
mov dword [ecx + edx - 0x14], 0x101012f
mov dword [ecx + edx - 0x18], 0x4362c4
mov dword [ecx + edx - 0x10], 0x435441
mov dword [ecx + edx - 0xc], 0x43544b
mov dword [ecx + edx - 8], esi
mov dword [ecx + edx - 4], 0x4353da
mov dword [ecx + edx], 0x4353db
pop esi
pop edi
pop ebx
ret
call fcn.0040d470
nop word cs:[eax + eax]
push ebp
push ebx
push edi
push esi
mov esi, edx
mov edi, ecx
mov ebx, dword [ecx + 0x116c]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x420f62
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x420fa7
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
xor ecx, ecx
mov ebx, eax
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
add ecx, 0x20
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov edi, dword [ecx + 4]
lea eax, [ecx + edi]
add eax, 0xffffffe8
mov esi, dword [esi]
mov ebx, dword [ebp]
mov edx, dword [edx]
mov dword [ecx + edi - 0x14], 0x101012d
mov dword [ecx + edi - 0x18], 0x436330
mov dword [ecx + edi - 0x10], esi
mov dword [ecx + edi - 0xc], ebx
mov dword [ecx + edi - 8], edx
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040d470
nop dword [eax]
push ebx
push edi
push esi
mov esi, edx
mov edi, ecx
mov ebx, dword [ecx + 0x116c]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x420ff1
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x42103a
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
xor ecx, ecx
mov ebx, eax
mov edx, dword [esp + 0x10]
add ecx, 0x20
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov edi, dword [ecx + 4]
lea eax, [ecx + edi]
add eax, 0xffffffe8
mov esi, dword [esi]
mov edx, dword [edx]
mov dword [ecx + edi - 0x14], 0x1010130
mov dword [ecx + edi - 0x18], 0x4359e0
mov dword [ecx + edi - 0x10], 0x435463
mov dword [ecx + edi - 0xc], 0x435473
mov dword [ecx + edi - 8], esi
mov dword [ecx + edi - 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0040d470
nop
push ebx
push edi
push esi
mov esi, edx
mov edi, ecx
mov ebx, dword [ecx + 0x116c]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x421081
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x4210ca
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
xor ecx, ecx
mov ebx, eax
mov edx, dword [esp + 0x10]
add ecx, 0x20
mov dword [ebx + 4], ecx
mov ecx, dword [edi + 0x116c]
mov edi, dword [ecx + 4]
lea eax, [ecx + edi]
add eax, 0xffffffe8
mov esi, dword [esi]
mov edx, dword [edx]
mov dword [ecx + edi - 0x14], 0x1010130
mov dword [ecx + edi - 0x18], 0x4359e0
mov dword [ecx + edi - 0x10], 0x435480
mov dword [ecx + edi - 0xc], 0x43548b
mov dword [ecx + edi - 8], esi
mov dword [ecx + edi - 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0040d470
nop
push ebp
push ebx
push edi
push esi
mov edi, ecx
call fcn.00423770
test eax, eax
je 0x4235be
mov esi, eax
mov eax, dword [edi]
cmp dword [edi + 4], eax
je 0x4235ba
cmp byte [eax], 0x49
jne 0x4235ba
xor ebp, ebp
mov ecx, edi
xor edx, edx
call fcn.0041bef0
test eax, eax
je 0x4235c0
mov ebx, eax
mov ebp, dword [edi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x42358c
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x4235c7
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [edi + 0x116c], eax
xor ecx, ecx
mov ebp, eax
add ecx, 0x10
mov dword [ebp + 4], ecx
mov eax, dword [edi + 0x116c]
mov ecx, dword [eax + 4]
lea ebp, [eax + ecx]
add ebp, 0xfffffff8
mov dword [eax + ecx - 4], 0x1010120
mov dword [eax + ecx - 8], 0x436b00
mov dword [eax + ecx], esi
mov dword [eax + ecx + 4], ebx
jmp 0x4235c0
mov ebp, esi
jmp 0x4235c0
xor ebp, ebp
mov eax, ebp
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040d470
nop dword [eax]
push ebp
push ebx
push edi
push esi
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, ecx
sub edx, eax
je 0x4235f7
movsx edi, byte [eax]
add edi, 0xffffffd0
cmp edi, 9
ja 0x4235f7
mov ecx, esi
pop esi
pop edi
pop ebx
pop ebp
jmp 0x423520
cmp edx, 2
jb 0x423645
movzx edx, byte [eax]
cmp dl, 0x64
jne 0x423635
cmp byte [eax + 1], 0x6e
jne 0x423632
add eax, 2
mov dword [esi], eax
cmp ecx, eax
je 0x4236f0
movsx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 9
ja 0x4236f0
mov ecx, esi
call 0x423520
jmp 0x4236f7
movzx edx, byte [eax]
cmp dl, 0x6f
jne 0x423645
cmp byte [eax + 1], 0x6e
jne 0x423645
add eax, 2
mov dword [esi], eax
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.00423a40
test eax, eax
je 0x4236e9
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x4236e7
cmp byte [eax], 0x49
jne 0x4236e7
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.0041bef0
test eax, eax
je 0x4236e9
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x4236b9
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x423765
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
xor ecx, ecx
mov ebp, eax
add ecx, 0x10
mov dword [ebp + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
lea ebp, [eax + ecx]
add ebp, 0xfffffff8
mov dword [eax + ecx - 4], 0x1010120
mov dword [eax + ecx - 8], 0x436b00
mov dword [eax + ecx], edi
mov dword [eax + ecx + 4], ebx
jmp 0x4236e9
mov ebp, edi
mov eax, ebp
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esi
call fcn.004233e0
mov edi, eax
test eax, eax
je 0x423761
mov ebx, dword [esi + 0x116c]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x423737
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x423765
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
xor ecx, ecx
mov ebx, eax
add ecx, 0x10
mov dword [ebx + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
lea ebp, [eax + ecx]
add ebp, 0xfffffff8
mov dword [eax + ecx - 4], 0x1010126
mov dword [eax + ecx - 8], 0x435c0c
mov dword [eax + ecx], edi
jmp 0x4236e9
xor ebp, ebp
jmp 0x4236e9
call fcn.0040d470
nop word [eax + eax]