Function at 0x5487a0
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 0x5487c9
mov eax, edi
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [eax], 0x67
jne 0x5487ea
cmp byte [eax + 1], 0x73
jne 0x5487ea
add eax, 2
mov dword [ebp], eax
mov edx, ecx
sub edx, eax
mov byte [esp + 0x1b], 1
cmp edx, 2
jb case.0x5487fa.58
jmp 0x5487ef
mov byte [esp + 0x1b], 0
movsx esi, byte [eax]
add esi, 0xffffffcf
cmp esi, 0x43
ja case.0x5487fa.58
jmp dword [esi*4 + 0x59bc9c]
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x54b180
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x549a60
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.00547690
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb2
cmp ecx, 0x2c
ja case.0x5487fa.58
jmp dword [ecx*4 + 0x59c2b8]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x148], 0x59ccf5
mov dword [esp + 0x14c], 0x59ccf7
movsd xmm0, qword [esp + 0x148]
jmp 0x549898
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9d
cmp ecx, 0x13
ja case.0x5487fa.58
jmp dword [ecx*4 + 0x59c268]
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00544310
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0x14], eax
test eax, eax
je 0x5499b1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.0054abd0
jmp 0x5499aa
movsx ecx, byte [eax + 1]
add ecx, 0xffffffaa
cmp ecx, 0x20
ja case.0x5487fa.58
jmp dword [ecx*4 + 0x59c1e4]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x118], 0x59cd29
mov dword [esp + 0x11c], 0x59cd2b
movsd xmm0, qword [esp + 0x118]
jmp 0x549898
movsx ecx, byte [eax + 1]
cmp ecx, 0x4f
je 0x548e12
cmp ecx, 0x71
je 0x548e3c
cmp ecx, 0x6f
jne case.0x5487fa.58
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x110], 0x59cd2c
mov dword [esp + 0x114], 0x59cd2d
movsd xmm0, qword [esp + 0x110]
jmp 0x549898
movzx ecx, byte [eax + 1]
cmp cl, 0x70
jne 0x548ce8
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.0054a350
movsx ecx, byte [eax + 1]
cmp ecx, 0x74
je 0x548d13
cmp ecx, 0x65
jne case.0x5487fa.58
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xf8], 0x59cd34
mov dword [esp + 0xfc], 0x59cd36
movsd xmm0, qword [esp + 0xf8]
jmp 0x549898
movsx edx, byte [eax + 1]
cmp edx, 0x6c
je 0x548d3d
cmp edx, 0x78
jne case.0x5487fa.58
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0x14], eax
test eax, eax
je 0x5499b1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x54b7a0
jmp 0x5499aa
movsx ecx, byte [eax + 1]
add ecx, 0xffffffad
cmp ecx, 0x21
ja case.0x5487fa.58
jmp dword [ecx*4 + 0x59c15c]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xd8], 0x59cd3f
mov dword [esp + 0xdc], 0x59cd42
movsd xmm0, qword [esp + 0xd8]
jmp 0x549898
movsx edx, byte [eax + 1]
add edx, 0xffffffb7
cmp edx, 0x24
ja case.0x5487fa.58
jmp dword [edx*4 + 0x59c0c8]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xc0], 0x59cd47
mov dword [esp + 0xc4], 0x59cd49
movsd xmm0, qword [esp + 0xc0]
jmp 0x549898
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9f
cmp ecx, 0x17
ja case.0x5487fa.58
jmp dword [ecx*4 + 0x59c068]
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x54bb90
movsx ecx, byte [eax + 1]
add ecx, 0xffffffae
cmp ecx, 0x20
ja case.0x5487fa.58
jmp dword [ecx*4 + 0x59bfe4]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x78], 0x59cd65
mov dword [esp + 0x7c], 0x59cd67
movsd xmm0, qword [esp + 0x78]
jmp 0x549898
movsx edx, byte [eax + 1]
add edx, 0xffffffb4
cmp edx, 0x28
ja case.0x5487fa.58
jmp dword [edx*4 + 0x59bf40]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x60], 0x59cd6e
mov dword [esp + 0x64], 0x59cd70
movsd xmm0, qword [esp + 0x60]
jmp 0x549898
cmp byte [eax + 1], 0x75
jne case.0x5487fa.58
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0x14], eax
test eax, eax
je 0x5499b1
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0x2c], eax
test eax, eax
je 0x5499b1
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 0x54bff0
jmp 0x5499aa
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb3
cmp ecx, 0x26
ja case.0x5487fa.58
jmp dword [ecx*4 + 0x59bea4]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x40], 0x59cd8a
mov dword [esp + 0x44], 0x59cd8c
movsd xmm0, qword [esp + 0x40]
jmp 0x549898
movsx edx, byte [eax + 1]
add edx, 0xffffffb0
cmp edx, 0x2a
ja case.0x5487fa.58
jmp dword [edx*4 + 0x59bdf8]
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 0x548c0d
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 0x548c1a
cmp byte [eax], 0x45
je 0x5498d3
mov ebx, edx
mov ecx, ebp
call fcn.00546140
test eax, eax
je case.0x5487fa.58
mov esi, dword [ebp + 0xc]
cmp esi, dword [ebp + 0x10]
jne 0x548bfd
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
mov edi, esi
sub edi, eax
lea ecx, [edi + edi]
cmp eax, ebx
je 0x548c65
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 0x548c96
jmp 0x5499b8
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x5499b8
mov ebp, eax
mov edx, ebx
cmp esi, ebx
je 0x548c8f
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 0x548bff
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9b
cmp ecx, 0x12
ja case.0x5487fa.58
jmp dword [ecx*4 + 0x59bdac]
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
jmp 0x5491fe
cmp cl, 0x4c
jne 0x548d02
cmp edx, 3
jb 0x548d02
movsx eax, byte [eax + 2]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x548966
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x54a540
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xf0], 0x59cd37
mov dword [esp + 0xf4], 0x59cd38
movsd xmm0, qword [esp + 0xf0]
jmp 0x549898
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 0x548da6
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 0x5499b8
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 0x548db3
cmp byte [eax], 0x45
je 0x5494d8
mov ecx, ebp
call 0x54b820
test eax, eax
je case.0x5487fa.58
mov ebx, eax
mov edi, dword [ebp + 0xc]
cmp edi, dword [ebp + 0x10]
jne 0x548d96
mov eax, dword [ebp + 8]
mov esi, edi
sub esi, eax
lea ecx, [esi + esi]
cmp eax, dword [esp + 0x1c]
jne 0x548d5d
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x5499b8
mov ebp, eax
mov eax, dword [esp + 0x1c]
cmp edi, eax
je 0x548e06
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 0x548d78
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x108], 0x59cd2e
mov dword [esp + 0x10c], 0x59cd30
movsd xmm0, qword [esp + 0x108]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x100], 0x59cd31
mov dword [esp + 0x104], 0x59cd33
movsd xmm0, qword [esp + 0x100]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xe8], 0x59cd39
mov dword [esp + 0xec], 0x59cd3b
movsd xmm0, qword [esp + 0xe8]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xe0], 0x59cd3c
mov dword [esp + 0xe4], 0x59cd3e
movsd xmm0, qword [esp + 0xe0]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xd0], 0x59cd43
mov dword [esp + 0xd4], 0x59cd44
movsd xmm0, qword [esp + 0xd0]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x88], 0x59cd60
mov dword [esp + 0x8c], 0x59cd62
movsd xmm0, qword [esp + 0x88]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x80], 0x59cd63
mov dword [esp + 0x84], 0x59cd64
movsd xmm0, qword [esp + 0x80]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0x14], eax
xor edi, edi
test eax, eax
je case.0x5487fa.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 0x548fb0
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 0x5499b8
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 0x548fc1
cmp byte [eax], 0x45
je 0x549912
mov ecx, ebp
call fcn.005487a0
test eax, eax
je 0x5499b1
mov ebx, eax
mov edi, dword [ebp + 0xc]
cmp edi, dword [ebp + 0x10]
jne 0x548fa8
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 0x548f69
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x5499b8
mov ebp, eax
mov eax, dword [esp + 0x20]
cmp edi, eax
je 0x54901f
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 0x548f82
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x138], 0x59cd0f
mov dword [esp + 0x13c], 0x59cd10
movsd xmm0, qword [esp + 0x138]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x130], 0x59cd11
mov dword [esp + 0x134], 0x59cd12
movsd xmm0, qword [esp + 0x130]
jmp 0x549797
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.0054acf0
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xb0], 0x59cd4a
mov dword [esp + 0xb4], 0x59cd4c
movsd xmm0, qword [esp + 0xb0]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xc8], 0x59cd45
mov dword [esp + 0xcc], 0x59cd46
movsd xmm0, qword [esp + 0xc8]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xb8], 0x59cd20
mov dword [esp + 0xbc], 0x59cd21
movsd xmm0, qword [esp + 0xb8]
jmp 0x549898
lea edx, [eax + 2]
mov dword [ebp], edx
cmp edx, ecx
je 0x5496ed
cmp byte [edx], 0x5f
jne 0x5496ed
add eax, 3
mov dword [ebp], eax
mov dword [esp + 0xa8], 0x59cd4d
mov dword [esp + 0xac], 0x59cd4f
movsd xmm0, qword [esp + 0xa8]
jmp 0x549797
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x30], 0x59cd90
mov dword [esp + 0x34], 0x59cd93
movsd xmm0, qword [esp + 0x30]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00544310
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0x14], eax
test eax, eax
je 0x5499b1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x54c080
jmp 0x5499aa
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x48], 0x59cd88
mov dword [esp + 0x4c], 0x59cd89
movsd xmm0, qword [esp + 0x48]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x38], 0x59cd8d
mov dword [esp + 0x3c], 0x59cd8f
movsd xmm0, qword [esp + 0x38]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00544310
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, ebp
mov edx, str.typeid__
call fcn.0054c220
jmp 0x5499aa
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00544310
mov dword [esp + 0x14], eax
xor edi, edi
test eax, eax
je case.0x5487fa.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 0x54925d
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 0x54926e
cmp byte [eax], 0x45
je 0x549951
mov ebx, ecx
mov ecx, ebp
call 0x54b820
test eax, eax
je case.0x5487fa.58
mov esi, dword [ebp + 0xc]
cmp esi, dword [ebp + 0x10]
jne 0x549253
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
mov edi, esi
sub edi, eax
lea ecx, [edi + edi]
cmp eax, ebx
je 0x5492b7
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 0x5492e8
jmp 0x5499b8
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x5499b8
mov ebp, eax
mov ecx, ebx
cmp esi, ebx
je 0x5492e1
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 0x549255
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
mov edx, 0x59cdbe
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x54c4f0
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.0054c580
jmp 0x5499aa
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xa0], 0x59cd50
mov dword [esp + 0xa4], 0x59cd52
movsd xmm0, qword [esp + 0xa0]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x98], 0x59cd45
mov dword [esp + 0x9c], 0x59cd46
movsd xmm0, qword [esp + 0x98]
jmp 0x549797
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x90], 0x59cd53
mov dword [esp + 0x94], 0x59cd54
movsd xmm0, qword [esp + 0x90]
jmp 0x549797
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x54bf50
jmp 0x5499aa
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x68], 0x59cd6c
mov dword [esp + 0x6c], 0x59cd6d
movsd xmm0, qword [esp + 0x68]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x70], 0x59cd68
mov dword [esp + 0x74], 0x59cd6b
movsd xmm0, qword [esp + 0x70]
jmp 0x549898
lea edx, [eax + 2]
mov dword [ebp], edx
cmp edx, ecx
je 0x5498a9
cmp byte [edx], 0x5f
jne 0x5498a9
add eax, 3
mov dword [ebp], eax
mov dword [esp + 0x58], 0x59cd71
mov dword [esp + 0x5c], 0x59cd73
movsd xmm0, qword [esp + 0x58]
jmp 0x549797
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x50], 0x59cd6c
mov dword [esp + 0x54], 0x59cd6d
movsd xmm0, qword [esp + 0x50]
jmp 0x549797
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0x14], eax
test eax, eax
je 0x5499b1
lea eax, [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0x59cd74
jmp 0x549820
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.0054e200
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 0x54ba60
jmp 0x5499aa
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x140], 0x59ccf8
mov dword [esp + 0x144], 0x59ccf9
movsd xmm0, qword [esp + 0x140]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x160], 0x59ccf0
mov dword [esp + 0x164], 0x59ccf2
movsd xmm0, qword [esp + 0x160]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x158], 0x59ccf3
mov dword [esp + 0x15c], 0x59ccf4
movsd xmm0, qword [esp + 0x158]
jmp 0x549797
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x150], 0x59ccf3
mov dword [esp + 0x154], 0x59ccf4
movsd xmm0, qword [esp + 0x150]
jmp 0x549898
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00544310
jmp 0x5495d7
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, ebp
mov edx, str.alignof__
call 0x5499c0
jmp 0x5499aa
add eax, 2
mov dword [ebp], eax
cmp ecx, eax
je case.0x5487fa.58
movzx eax, byte [eax]
cmp eax, 0x66
je 0x549990
cmp eax, 0x54
jne case.0x5487fa.58
mov ecx, ebp
call fcn.00547690
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.0054c2c0
jmp 0x5499aa
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00544310
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0x14], eax
test eax, eax
je 0x5499b1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x54c110
jmp 0x5499aa
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.0054c1a0
jmp 0x5499aa
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00544310
jmp 0x5496c9
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, ebp
mov edx, str.sizeof__
call fcn.0054c220
jmp 0x5499aa
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
mov dword [esp], 0x59cd4d
jmp 0x5498c3
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
mov byte [esp + 0x14], 1
jmp 0x5497c6
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00544310
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0x14], eax
test eax, eax
je 0x5499b1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.0054b0f0
jmp 0x5499aa
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x128], 0x59cd20
mov dword [esp + 0x12c], 0x59cd21
movsd xmm0, qword [esp + 0x128]
movsd qword [esp], xmm0
mov ecx, ebp
call fcn.0054ab30
jmp 0x5487be
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
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.0054b060
jmp 0x5499aa
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0x14], eax
test eax, eax
je 0x5499b1
lea eax, [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0x59cd22
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x54b670
jmp 0x5499aa
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0x14], eax
test eax, eax
je 0x5499b1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x54b710
jmp 0x5499aa
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x120], 0x59cd27
mov dword [esp + 0x124], 0x59cd28
movsd xmm0, qword [esp + 0x120]
movsd qword [esp], xmm0
mov ecx, ebp
call fcn.0054aa80
jmp 0x5487be
mov ecx, ebp
call fcn.005487a0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
mov dword [esp], 0x59cd71
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x54baf0
jmp 0x5499aa
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.0054e200
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.0054c3e0
mov dword [esp + 0xc], eax
jmp 0x54999f
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.0054e200
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.0054ac60
jmp 0x5499aa
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.0054e200
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.0054c460
jmp 0x5499aa
mov ecx, ebp
call fcn.0054a350
mov dword [esp + 0xc], eax
test eax, eax
je 0x5499b1
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.0054c340
mov edi, eax
jmp case.0x5487fa.58
xor edi, edi
jmp case.0x5487fa.58
call fcn.0049aa70
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 0x549a02
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x549a5a
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], 0x59dbd8
mov dword [ebx + ebp - 0x10], esi
mov dword [ebx + ebp - 0xc], eax
mov dword [ebx + ebp - 8], ecx
mov dword [ebx + ebp - 4], 0x59ccee
mov dword [ebx + ebp], 0x59ccef
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0049aa70
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 0x54b1ac
cmp edx, 2
je 0x54b26d
mov ecx, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
jmp 0x54e6c0
movzx edx, byte [eax]
cmp dl, 0x73
jne 0x54b270
cmp byte [eax + 1], 0x72
jne 0x54b26d
cmp byte [eax + 2], 0x4e
jne 0x54b26d
add eax, 3
mov dword [esi], eax
mov ecx, esi
call fcn.0054e4d0
test eax, eax
je 0x54b642
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x54b5cb
cmp byte [eax], 0x49
jne 0x54b5cb
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.00546fd0
test eax, eax
je 0x54b644
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x54b249
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54b667
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], 0x59e414
jmp 0x54b5be
movzx edx, byte [eax]
cmp dl, 0x67
jne 0x54b290
cmp byte [eax + 1], 0x73
jne 0x54b29d
add eax, 2
mov dword [esi], eax
mov edx, ecx
sub edx, eax
mov bl, 1
cmp edx, 2
jae 0x54b292
jmp 0x54b411
xor ebx, ebx
cmp byte [eax], 0x73
jne 0x54b411
jmp 0x54b2a8
xor ebx, ebx
cmp byte [eax], 0x73
jne 0x54b411
cmp byte [eax + 1], 0x72
jne 0x54b411
add eax, 2
mov dword [esi], eax
cmp ecx, eax
je 0x54b495
movsx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 9
ja 0x54b495
mov dword [esp], ebx
mov ecx, esi
call 0x54e610
test eax, eax
je 0x54b642
mov ebx, eax
xor edi, edi
jmp 0x54b303
mov ecx, esi
call 0x54e610
mov ebx, eax
xor ebp, ebp
test eax, eax
je 0x54b644
test edi, edi
je 0x54b380
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x54b345
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54b667
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], 0x59d4b4
mov dword [ecx + edx], edi
add ecx, edx
add ecx, 4
jmp 0x54b3f0
cmp byte [esp], 0
je 0x54b40d
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x54b3c8
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54b667
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], 0x59d868
mov dword [ecx], ebx
mov edi, eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x54b2f0
cmp byte [eax], 0x45
jne 0x54b2f0
jmp 0x54b53b
mov edi, ebx
jmp 0x54b3f4
mov ecx, esi
call 0x54e6c0
mov ebp, eax
test bl, bl
je 0x54b644
test ebp, ebp
je 0x54b644
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x54b468
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54b667
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], 0x59d868
mov dword [eax + ecx], ebp
lea ebp, [eax + ecx]
add ebp, 0xfffffff8
jmp 0x54b644
mov ecx, esi
call fcn.0054e4d0
test eax, eax
je 0x54b642
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x54b53e
cmp byte [eax], 0x49
jne 0x54b53e
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.00546fd0
test eax, eax
je 0x54b644
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x54b50d
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54b667
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], 0x59e414
mov dword [eax + ecx], edi
lea edi, [eax + ecx]
add edi, 0xfffffff8
mov dword [eax + ecx + 4], ebx
jmp 0x54b53e
inc eax
mov dword [esi], eax
mov ecx, esi
call 0x54e6c0
test eax, eax
je 0x54b642
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x54b58d
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54b667
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], 0x59d4b4
mov dword [eax + ecx], edi
mov dword [eax + ecx + 4], ebx
jmp 0x54b644
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 0x54b5d7
cmp byte [eax], 0x45
je 0x54b64e
mov ecx, esi
call 0x54e610
test eax, eax
je 0x54b642
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x54b61e
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54b667
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], 0x59d4b4
jmp 0x54b5be
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 0x54e6c0
mov ebp, 0
test eax, eax
jne 0x54b54d
jmp 0x54b644
call fcn.0049aa70
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 0x54b6b2
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54b709
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], 0x59d8d8
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.0049aa70
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 0x54b751
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54b79a
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], 0x59d8d8
mov dword [ecx + edi - 0x10], esi
mov dword [ecx + edi - 0xc], 0x59cd25
mov dword [ecx + edi - 8], 0x59cd26
mov dword [ecx + edi - 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0049aa70
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 0x54b7e1
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54b819
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], 0x59d940
mov dword [ecx + edi], esi
mov dword [ecx + edi + 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0049aa70
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 0x54b903
cmp byte [eax], 0x64
jne 0x54b903
cmp ecx, 2
jb 0x54b903
movsx ecx, byte [eax + 1]
cmp ecx, 0x58
je 0x54b911
cmp ecx, 0x78
je 0x54b9c4
cmp ecx, 0x69
jne 0x54b903
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0054e860
xor edi, edi
test eax, eax
je 0x54ba51
mov ebx, eax
mov ecx, esi
call 0x54b820
test eax, eax
je 0x54ba51
mov ebp, eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x54b8cc
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54ba5b
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], 0x59d9b0
mov dword [eax + ecx - 0x10], ebx
mov dword [eax + ecx - 0xc], ebp
mov byte [eax + ecx - 8], 0
jmp 0x54ba51
mov ecx, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.005487a0
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.005487a0
xor edi, edi
test eax, eax
je 0x54ba51
mov ebx, eax
mov ecx, esi
call fcn.005487a0
test eax, eax
je 0x54ba51
mov ebp, eax
mov ecx, esi
call 0x54b820
test eax, eax
je 0x54ba51
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x54b98e
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 0x54ba5b
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], 0x59da1c
mov dword [edx + ecx - 0x10], ebx
mov dword [edx + ecx - 0xc], ebp
mov dword [edx + ecx - 8], eax
jmp 0x54ba51
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.005487a0
xor edi, edi
test eax, eax
je 0x54ba51
mov ebx, eax
mov ecx, esi
call 0x54b820
test eax, eax
je 0x54ba51
mov ebp, eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x54ba1f
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54ba5b
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], 0x59d9b0
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.0049aa70
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 0x54baa1
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54badf
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], 0x59da90
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.0049aa70
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 0x54bb32
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54bb7f
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], 0x59dafc
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.0049aa70
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 0x54be8c
cmp byte [ecx], 0x67
jne 0x54bbd7
xor eax, eax
cmp byte [ecx + 1], 0x73
jne 0x54bbd7
add ecx, 2
mov dword [ebx], ecx
mov esi, edx
sub esi, ecx
mov edi, ebx
mov bl, 1
mov dword [esp + 8], ebx
mov ebx, edi
cmp esi, 2
jae 0x54bbdf
jmp 0x54be8c
mov dword [esp + 8], 0
cmp byte [ecx + 1], 0x61
sete al
cmp byte [ecx], 0x6e
jne 0x54be8a
cmp byte [ecx + 1], 0x77
je 0x54bc08
cmp byte [ecx], 0x6e
jne 0x54be8a
cmp byte [ecx + 1], 0x61
jne 0x54be8a
mov byte [esp + 3], al
add ecx, 2
mov dword [ebx], ecx
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 8]
sar eax, 2
mov dword [esp + 0xc], eax
lea eax, [ebx + 0x14]
mov dword [esp + 4], eax
mov dword [esp + 0x10], ebx
jmp 0x54bc69
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 0x54bf42
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 0x54bc72
cmp byte [ecx], 0x5f
je 0x54bccd
mov ecx, ebx
call fcn.005487a0
test eax, eax
je 0x54be8a
mov edi, eax
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [ebx + 0x10]
jne 0x54bc5b
mov eax, dword [ebx + 8]
mov esi, ebp
sub esi, eax
lea ecx, [esi + esi]
cmp eax, dword [esp + 4]
jne 0x54bc30
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54bf42
mov ebx, eax
mov eax, dword [esp + 4]
cmp ebp, eax
je 0x54bcc1
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 + 0x10]
mov dword [ecx + 8], ebx
jmp 0x54bc49
inc ecx
mov dword [ebx], ecx
mov esi, dword [esp + 0xc]
shl esi, 2
mov edx, dword [ebx + 8]
add edx, esi
mov ecx, ebx
push dword [ebx + 0xc]
call fcn.0054e200
add esp, 4
mov edi, eax
mov ebp, edx
add esi, dword [ebx + 8]
mov dword [ebx + 0xc], esi
mov ecx, ebx
call fcn.00544310
test eax, eax
je 0x54be8a
mov dword [esp + 0xc], eax
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov edx, eax
sub edx, ecx
cmp edx, 2
jb 0x54bd3e
cmp byte [ecx], 0x70
jne 0x54bd3e
cmp byte [ecx + 1], 0x69
jne 0x54bd3e
mov dword [esp + 0x14], edi
add ecx, 2
mov dword [ebx], ecx
mov edx, dword [ebx + 0xc]
sub edx, dword [ebx + 8]
sar edx, 2
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebp
jmp 0x54be29
cmp ecx, eax
je 0x54be8a
cmp byte [ecx], 0x45
mov eax, 0
jne 0x54be8c
inc ecx
mov dword [ebx], ecx
mov esi, dword [ebx + 0x116c]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x54bd95
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54bf42
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], 0x59db64
mov dword [ecx + edx - 0xc], ebp
mov dword [ecx + edx - 0x10], edi
mov esi, dword [esp + 0xc]
mov dword [ecx + edx - 8], esi
mov dword [ecx + edx - 4], 0
mov dword [ecx + edx], 0
mov edx, dword [esp + 8]
mov byte [eax + 0x1c], dl
movzx ecx, byte [esp + 3]
mov byte [eax + 0x1d], cl
jmp 0x54be8c
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 0x54bf42
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 + 0x1c]
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 0x54be32
cmp byte [ecx], 0x45
je 0x54be94
mov ecx, ebx
call fcn.005487a0
test eax, eax
je 0x54be8a
mov edi, eax
mov esi, dword [ebx + 0xc]
cmp esi, dword [ebx + 0x10]
jne 0x54be1c
mov eax, dword [ebx + 8]
mov ebp, esi
sub ebp, eax
mov ecx, ebp
add ecx, ebp
cmp eax, dword [esp + 4]
jne 0x54bded
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54bf42
mov ebx, eax
mov eax, dword [esp + 4]
cmp esi, eax
je 0x54be7e
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 + 0x10]
mov dword [ecx + 8], ebx
jmp 0x54be06
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 + 0x18]
shl esi, 2
mov edx, dword [ebx + 8]
add edx, esi
mov ecx, ebx
push dword [ebx + 0xc]
call fcn.0054e200
add esp, 4
mov dword [esp + 4], 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 0x54bef6
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54bf42
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebx + 0x116c], eax
xor ecx, ecx
mov esi, eax
mov edx, dword [esp + 8]
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], 0x59db64
mov dword [eax + ecx - 0xc], ebp
mov esi, dword [esp + 0x14]
mov dword [eax + ecx - 0x10], esi
mov esi, dword [esp + 0xc]
mov dword [eax + ecx - 8], esi
mov dword [eax + ecx], edi
mov esi, dword [esp + 4]
mov dword [eax + ecx - 4], esi
add eax, ecx
add eax, 0xffffffe8
jmp 0x54bddd
call fcn.0049aa70
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 0x54bf91
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54bfdf
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], 0x59dbd8
mov dword [ecx + edx - 0x10], 0x59cd55
mov dword [ecx + edx - 0xc], 0x59cd5f
mov dword [ecx + edx - 8], esi
mov dword [ecx + edx - 4], 0x59ccee
mov dword [ecx + edx], 0x59ccef
pop esi
pop edi
pop ebx
ret
call fcn.0049aa70
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 0x54c032
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54c077
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], 0x59dc44
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.0049aa70
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 0x54c0c1
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54c10a
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], 0x59d2f4
mov dword [ecx + edi - 0x10], 0x59cd77
mov dword [ecx + edi - 0xc], 0x59cd87
mov dword [ecx + edi - 8], esi
mov dword [ecx + edi - 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0049aa70
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 0x54c151
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54c19a
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], 0x59d2f4
mov dword [ecx + edi - 0x10], 0x59cd94
mov dword [ecx + edi - 0xc], 0x59cd9f
mov dword [ecx + edi - 8], esi
mov dword [ecx + edi - 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0049aa70
nop
push ebp
push ebx
push edi
push esi
mov edi, ecx
call fcn.0054e860
test eax, eax
je 0x54e6ae
mov esi, eax
mov eax, dword [edi]
cmp dword [edi + 4], eax
je 0x54e6aa
cmp byte [eax], 0x49
jne 0x54e6aa
xor ebp, ebp
mov ecx, edi
xor edx, edx
call fcn.00546fd0
test eax, eax
je 0x54e6b0
mov ebx, eax
mov ebp, dword [edi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x54e67c
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54e6b7
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], 0x59e414
mov dword [eax + ecx], esi
mov dword [eax + ecx + 4], ebx
jmp 0x54e6b0
mov ebp, esi
jmp 0x54e6b0
xor ebp, ebp
mov eax, ebp
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0049aa70
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 0x54e6e7
movsx edi, byte [eax]
add edi, 0xffffffd0
cmp edi, 9
ja 0x54e6e7
mov ecx, esi
pop esi
pop edi
pop ebx
pop ebp
jmp 0x54e610
cmp edx, 2
jb 0x54e735
movzx edx, byte [eax]
cmp dl, 0x64
jne 0x54e725
cmp byte [eax + 1], 0x6e
jne 0x54e722
add eax, 2
mov dword [esi], eax
cmp ecx, eax
je 0x54e7e0
movsx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 9
ja 0x54e7e0
mov ecx, esi
call 0x54e610
jmp 0x54e7e7
movzx edx, byte [eax]
cmp dl, 0x6f
jne 0x54e735
cmp byte [eax + 1], 0x6e
jne 0x54e735
add eax, 2
mov dword [esi], eax
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.0054eb30
test eax, eax
je 0x54e7d9
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x54e7d7
cmp byte [eax], 0x49
jne 0x54e7d7
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.00546fd0
test eax, eax
je 0x54e7d9
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x54e7a9
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54e855
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], 0x59e414
mov dword [eax + ecx], edi
mov dword [eax + ecx + 4], ebx
jmp 0x54e7d9
mov ebp, edi
mov eax, ebp
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esi
call fcn.0054e4d0
mov edi, eax
test eax, eax
je 0x54e851
mov ebx, dword [esi + 0x116c]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x54e827
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x54e855
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], 0x59d520
mov dword [eax + ecx], edi
jmp 0x54e7d9
xor ebp, ebp
jmp 0x54e7d9
call fcn.0049aa70
nop word [eax + eax]