Function at 0x477810
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 0x4747b9
mov eax, edi
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [eax], 0x67
jne 0x4747da
cmp byte [eax + 1], 0x73
jne 0x4747da
add eax, 2
mov dword [ebp], eax
mov edx, ecx
sub edx, eax
mov byte [esp + 0x1b], 1
cmp edx, 2
jb case.0x4747ea.58
jmp 0x4747df
mov byte [esp + 0x1b], 0
movsx esi, byte [eax]
add esi, 0xffffffcf
cmp esi, 0x43
ja case.0x4747ea.58
jmp dword [esi*4 + 0x4aac2c]
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x477170
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x475a50
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.00473680
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb2
cmp ecx, 0x2c
ja case.0x4747ea.58
jmp dword [ecx*4 + 0x4ab248]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x148], 0x4abe21
mov dword [esp + 0x14c], 0x4abe23
movsd xmm0, qword [esp + 0x148]
jmp 0x475888
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9d
cmp ecx, 0x13
ja case.0x4747ea.58
jmp dword [ecx*4 + 0x4ab1f8]
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00470300
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0x14], eax
test eax, eax
je 0x4759a1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.00476bc0
jmp 0x47599a
movsx ecx, byte [eax + 1]
add ecx, 0xffffffaa
cmp ecx, 0x20
ja case.0x4747ea.58
jmp dword [ecx*4 + 0x4ab174]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x118], 0x4abe55
mov dword [esp + 0x11c], 0x4abe57
movsd xmm0, qword [esp + 0x118]
jmp 0x475888
movsx ecx, byte [eax + 1]
cmp ecx, 0x4f
je 0x474e02
cmp ecx, 0x71
je 0x474e2c
cmp ecx, 0x6f
jne case.0x4747ea.58
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x110], 0x4abe58
mov dword [esp + 0x114], 0x4abe59
movsd xmm0, qword [esp + 0x110]
jmp 0x475888
movzx ecx, byte [eax + 1]
cmp cl, 0x70
jne 0x474cd8
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.00476340
movsx ecx, byte [eax + 1]
cmp ecx, 0x74
je 0x474d03
cmp ecx, 0x65
jne case.0x4747ea.58
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xf8], 0x4abe60
mov dword [esp + 0xfc], 0x4abe62
movsd xmm0, qword [esp + 0xf8]
jmp 0x475888
movsx edx, byte [eax + 1]
cmp edx, 0x6c
je 0x474d2d
cmp edx, 0x78
jne case.0x4747ea.58
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0x14], eax
test eax, eax
je 0x4759a1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x477790
jmp 0x47599a
movsx ecx, byte [eax + 1]
add ecx, 0xffffffad
cmp ecx, 0x21
ja case.0x4747ea.58
jmp dword [ecx*4 + 0x4ab0ec]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xd8], 0x4abe6b
mov dword [esp + 0xdc], 0x4abe6e
movsd xmm0, qword [esp + 0xd8]
jmp 0x475888
movsx edx, byte [eax + 1]
add edx, 0xffffffb7
cmp edx, 0x24
ja case.0x4747ea.58
jmp dword [edx*4 + 0x4ab058]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xc0], 0x4abe73
mov dword [esp + 0xc4], 0x4abe75
movsd xmm0, qword [esp + 0xc0]
jmp 0x475888
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9f
cmp ecx, 0x17
ja case.0x4747ea.58
jmp dword [ecx*4 + 0x4aaff8]
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x477b80
movsx ecx, byte [eax + 1]
add ecx, 0xffffffae
cmp ecx, 0x20
ja case.0x4747ea.58
jmp dword [ecx*4 + 0x4aaf74]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x78], 0x4abe91
mov dword [esp + 0x7c], 0x4abe93
movsd xmm0, qword [esp + 0x78]
jmp 0x475888
movsx edx, byte [eax + 1]
add edx, 0xffffffb4
cmp edx, 0x28
ja case.0x4747ea.58
jmp dword [edx*4 + 0x4aaed0]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x60], 0x4abe9a
mov dword [esp + 0x64], 0x4abe9c
movsd xmm0, qword [esp + 0x60]
jmp 0x475888
cmp byte [eax + 1], 0x75
jne case.0x4747ea.58
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0x14], eax
test eax, eax
je 0x4759a1
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4759a1
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 0x477ff0
jmp 0x47599a
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb3
cmp ecx, 0x26
ja case.0x4747ea.58
jmp dword [ecx*4 + 0x4aae34]
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x40], 0x4abeb6
mov dword [esp + 0x44], 0x4abeb8
movsd xmm0, qword [esp + 0x40]
jmp 0x475888
movsx edx, byte [eax + 1]
add edx, 0xffffffb0
cmp edx, 0x2a
ja case.0x4747ea.58
jmp dword [edx*4 + 0x4aad88]
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 0x474bfd
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 0x474c0a
cmp byte [eax], 0x45
je 0x4758c3
mov ebx, edx
mov ecx, ebp
call fcn.00472130
test eax, eax
je case.0x4747ea.58
mov esi, dword [ebp + 0xc]
cmp esi, dword [ebp + 0x10]
jne 0x474bed
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
mov edi, esi
sub edi, eax
lea ecx, [edi + edi]
cmp eax, ebx
je 0x474c55
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 0x474c86
jmp 0x4759a8
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x4759a8
mov ebp, eax
mov edx, ebx
cmp esi, ebx
je 0x474c7f
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 0x474bef
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9b
cmp ecx, 0x12
ja case.0x4747ea.58
jmp dword [ecx*4 + 0x4aad3c]
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
jmp 0x4751ee
cmp cl, 0x4c
jne 0x474cf2
cmp edx, 3
jb 0x474cf2
movsx eax, byte [eax + 2]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x474956
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x476530
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xf0], 0x4abe63
mov dword [esp + 0xf4], 0x4abe64
movsd xmm0, qword [esp + 0xf0]
jmp 0x475888
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 0x474d96
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 0x4759a8
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 0x474da3
cmp byte [eax], 0x45
je 0x4754c8
mov ecx, ebp
call 0x477810
test eax, eax
je case.0x4747ea.58
mov ebx, eax
mov edi, dword [ebp + 0xc]
cmp edi, dword [ebp + 0x10]
jne 0x474d86
mov eax, dword [ebp + 8]
mov esi, edi
sub esi, eax
lea ecx, [esi + esi]
cmp eax, dword [esp + 0x1c]
jne 0x474d4d
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x4759a8
mov ebp, eax
mov eax, dword [esp + 0x1c]
cmp edi, eax
je 0x474df6
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 0x474d68
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x108], 0x4abe5a
mov dword [esp + 0x10c], 0x4abe5c
movsd xmm0, qword [esp + 0x108]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x100], 0x4abe5d
mov dword [esp + 0x104], 0x4abe5f
movsd xmm0, qword [esp + 0x100]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xe8], 0x4abe65
mov dword [esp + 0xec], 0x4abe67
movsd xmm0, qword [esp + 0xe8]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xe0], 0x4abe68
mov dword [esp + 0xe4], 0x4abe6a
movsd xmm0, qword [esp + 0xe0]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xd0], 0x4abe6f
mov dword [esp + 0xd4], 0x4abe70
movsd xmm0, qword [esp + 0xd0]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x88], 0x4abe8c
mov dword [esp + 0x8c], 0x4abe8e
movsd xmm0, qword [esp + 0x88]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x80], 0x4abe8f
mov dword [esp + 0x84], 0x4abe90
movsd xmm0, qword [esp + 0x80]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0x14], eax
xor edi, edi
test eax, eax
je case.0x4747ea.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 0x474fa0
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 0x4759a8
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 0x474fb1
cmp byte [eax], 0x45
je 0x475902
mov ecx, ebp
call fcn.00474790
test eax, eax
je 0x4759a1
mov ebx, eax
mov edi, dword [ebp + 0xc]
cmp edi, dword [ebp + 0x10]
jne 0x474f98
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 0x474f59
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x4759a8
mov ebp, eax
mov eax, dword [esp + 0x20]
cmp edi, eax
je 0x47500f
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 0x474f72
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x138], 0x4abe3b
mov dword [esp + 0x13c], 0x4abe3c
movsd xmm0, qword [esp + 0x138]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x130], 0x4abe3d
mov dword [esp + 0x134], 0x4abe3e
movsd xmm0, qword [esp + 0x130]
jmp 0x475787
mov ecx, ebp
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.00476ce0
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xb0], 0x4abe76
mov dword [esp + 0xb4], 0x4abe78
movsd xmm0, qword [esp + 0xb0]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xc8], 0x4abe71
mov dword [esp + 0xcc], 0x4abe72
movsd xmm0, qword [esp + 0xc8]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xb8], 0x4abe4c
mov dword [esp + 0xbc], 0x4abe4d
movsd xmm0, qword [esp + 0xb8]
jmp 0x475888
lea edx, [eax + 2]
mov dword [ebp], edx
cmp edx, ecx
je 0x4756dd
cmp byte [edx], 0x5f
jne 0x4756dd
add eax, 3
mov dword [ebp], eax
mov dword [esp + 0xa8], 0x4abe79
mov dword [esp + 0xac], 0x4abe7b
movsd xmm0, qword [esp + 0xa8]
jmp 0x475787
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x30], 0x4abebc
mov dword [esp + 0x34], 0x4abebf
movsd xmm0, qword [esp + 0x30]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00470300
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0x14], eax
test eax, eax
je 0x4759a1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x478080
jmp 0x47599a
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x48], 0x4abeb4
mov dword [esp + 0x4c], 0x4abeb5
movsd xmm0, qword [esp + 0x48]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x38], 0x4abeb9
mov dword [esp + 0x3c], 0x4abebb
movsd xmm0, qword [esp + 0x38]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00470300
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, ebp
mov edx, str.typeid__
call fcn.00478220
jmp 0x47599a
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00470300
mov dword [esp + 0x14], eax
xor edi, edi
test eax, eax
je case.0x4747ea.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 0x47524d
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 0x47525e
cmp byte [eax], 0x45
je 0x475941
mov ebx, ecx
mov ecx, ebp
call 0x477810
test eax, eax
je case.0x4747ea.58
mov esi, dword [ebp + 0xc]
cmp esi, dword [ebp + 0x10]
jne 0x475243
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
mov edi, esi
sub edi, eax
lea ecx, [edi + edi]
cmp eax, ebx
je 0x4752a7
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 0x4752d8
jmp 0x4759a8
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x4759a8
mov ebp, eax
mov ecx, ebx
cmp esi, ebx
je 0x4752d1
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 0x475245
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
mov edx, 0x4abeea
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4784f0
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.00478580
jmp 0x47599a
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0xa0], 0x4abe7c
mov dword [esp + 0xa4], 0x4abe7e
movsd xmm0, qword [esp + 0xa0]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x98], 0x4abe71
mov dword [esp + 0x9c], 0x4abe72
movsd xmm0, qword [esp + 0x98]
jmp 0x475787
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x90], 0x4abe7f
mov dword [esp + 0x94], 0x4abe80
movsd xmm0, qword [esp + 0x90]
jmp 0x475787
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x477f50
jmp 0x47599a
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x68], 0x4abe98
mov dword [esp + 0x6c], 0x4abe99
movsd xmm0, qword [esp + 0x68]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x70], 0x4abe94
mov dword [esp + 0x74], 0x4abe97
movsd xmm0, qword [esp + 0x70]
jmp 0x475888
lea edx, [eax + 2]
mov dword [ebp], edx
cmp edx, ecx
je 0x475899
cmp byte [edx], 0x5f
jne 0x475899
add eax, 3
mov dword [ebp], eax
mov dword [esp + 0x58], 0x4abe9d
mov dword [esp + 0x5c], 0x4abe9f
movsd xmm0, qword [esp + 0x58]
jmp 0x475787
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x50], 0x4abe98
mov dword [esp + 0x54], 0x4abe99
movsd xmm0, qword [esp + 0x50]
jmp 0x475787
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0x14], eax
test eax, eax
je 0x4759a1
lea eax, [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0x4abea0
jmp 0x475810
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.0047a1e0
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 0x477a50
jmp 0x47599a
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x140], 0x4abe24
mov dword [esp + 0x144], 0x4abe25
movsd xmm0, qword [esp + 0x140]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x160], 0x4abe1c
mov dword [esp + 0x164], 0x4abe1e
movsd xmm0, qword [esp + 0x160]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x158], 0x4abe1f
mov dword [esp + 0x15c], 0x4abe20
movsd xmm0, qword [esp + 0x158]
jmp 0x475787
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x150], 0x4abe1f
mov dword [esp + 0x154], 0x4abe20
movsd xmm0, qword [esp + 0x150]
jmp 0x475888
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00470300
jmp 0x4755c7
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, ebp
mov edx, str.alignof__
call 0x4759b0
jmp 0x47599a
add eax, 2
mov dword [ebp], eax
cmp ecx, eax
je case.0x4747ea.58
movzx eax, byte [eax]
cmp eax, 0x66
je 0x475980
cmp eax, 0x54
jne case.0x4747ea.58
mov ecx, ebp
call fcn.00473680
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.004782c0
jmp 0x47599a
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00470300
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0x14], eax
test eax, eax
je 0x4759a1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x478110
jmp 0x47599a
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.004781a0
jmp 0x47599a
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00470300
jmp 0x4756b9
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, ebp
mov edx, str.sizeof__
call fcn.00478220
jmp 0x47599a
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
mov dword [esp], 0x4abe79
jmp 0x4758b3
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
mov byte [esp + 0x14], 1
jmp 0x4757b6
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00470300
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0x14], eax
test eax, eax
je 0x4759a1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.004770e0
jmp 0x47599a
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x128], 0x4abe4c
mov dword [esp + 0x12c], 0x4abe4d
movsd xmm0, qword [esp + 0x128]
movsd qword [esp], xmm0
mov ecx, ebp
call fcn.00476b20
jmp 0x4747ae
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
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.00477050
jmp 0x47599a
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0x14], eax
test eax, eax
je 0x4759a1
lea eax, [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0x4abe4e
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x477660
jmp 0x47599a
add eax, 2
mov dword [ebp], eax
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0x14], eax
test eax, eax
je 0x4759a1
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x477700
jmp 0x47599a
add eax, 2
mov dword [ebp], eax
mov dword [esp + 0x120], 0x4abe53
mov dword [esp + 0x124], 0x4abe54
movsd xmm0, qword [esp + 0x120]
movsd qword [esp], xmm0
mov ecx, ebp
call fcn.00476a70
jmp 0x4747ae
mov ecx, ebp
call fcn.00474790
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
mov dword [esp], 0x4abe9d
lea edx, [esp + 0xc]
mov ecx, ebp
call 0x477ae0
jmp 0x47599a
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.0047a1e0
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.004783e0
mov dword [esp + 0xc], eax
jmp 0x47598f
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.0047a1e0
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.00476c50
jmp 0x47599a
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.0047a1e0
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.00478460
jmp 0x47599a
mov ecx, ebp
call fcn.00476340
mov dword [esp + 0xc], eax
test eax, eax
je 0x4759a1
lea edx, [esp + 0xc]
mov ecx, ebp
call fcn.00478340
mov edi, eax
jmp case.0x4747ea.58
xor edi, edi
jmp case.0x4747ea.58
call fcn.0045a1e0
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 0x4759f2
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x475a4a
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], 0x4acd04
mov dword [ebx + ebp - 0x10], esi
mov dword [ebx + ebp - 0xc], eax
mov dword [ebx + ebp - 8], ecx
mov dword [ebx + ebp - 4], 0x4abe1a
mov dword [ebx + ebp], 0x4abe1b
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0045a1e0
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 0x47719c
cmp edx, 2
je 0x47725d
mov ecx, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
jmp 0x47a6a0
movzx edx, byte [eax]
cmp dl, 0x73
jne 0x477260
cmp byte [eax + 1], 0x72
jne 0x47725d
cmp byte [eax + 2], 0x4e
jne 0x47725d
add eax, 3
mov dword [esi], eax
mov ecx, esi
call fcn.0047a4b0
test eax, eax
je 0x477632
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x4775bb
cmp byte [eax], 0x49
jne 0x4775bb
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.00472fc0
test eax, eax
je 0x477634
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x477239
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477657
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], 0x4ad540
jmp 0x4775ae
movzx edx, byte [eax]
cmp dl, 0x67
jne 0x477280
cmp byte [eax + 1], 0x73
jne 0x47728d
add eax, 2
mov dword [esi], eax
mov edx, ecx
sub edx, eax
mov bl, 1
cmp edx, 2
jae 0x477282
jmp 0x477401
xor ebx, ebx
cmp byte [eax], 0x73
jne 0x477401
jmp 0x477298
xor ebx, ebx
cmp byte [eax], 0x73
jne 0x477401
cmp byte [eax + 1], 0x72
jne 0x477401
add eax, 2
mov dword [esi], eax
cmp ecx, eax
je 0x477485
movsx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 9
ja 0x477485
mov dword [esp], ebx
mov ecx, esi
call 0x47a5f0
test eax, eax
je 0x477632
mov ebx, eax
xor edi, edi
jmp 0x4772f3
mov ecx, esi
call 0x47a5f0
mov ebx, eax
xor ebp, ebp
test eax, eax
je 0x477634
test edi, edi
je 0x477370
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x477335
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477657
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], 0x4ac5e0
mov dword [ecx + edx], edi
add ecx, edx
add ecx, 4
jmp 0x4773e0
cmp byte [esp], 0
je 0x4773fd
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x4773b8
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477657
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], 0x4ac994
mov dword [ecx], ebx
mov edi, eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x4772e0
cmp byte [eax], 0x45
jne 0x4772e0
jmp 0x47752b
mov edi, ebx
jmp 0x4773e4
mov ecx, esi
call 0x47a6a0
mov ebp, eax
test bl, bl
je 0x477634
test ebp, ebp
je 0x477634
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x477458
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477657
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], 0x4ac994
mov dword [eax + ecx], ebp
lea ebp, [eax + ecx]
add ebp, 0xfffffff8
jmp 0x477634
mov ecx, esi
call fcn.0047a4b0
test eax, eax
je 0x477632
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x47752e
cmp byte [eax], 0x49
jne 0x47752e
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.00472fc0
test eax, eax
je 0x477634
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x4774fd
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477657
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], 0x4ad540
mov dword [eax + ecx], edi
lea edi, [eax + ecx]
add edi, 0xfffffff8
mov dword [eax + ecx + 4], ebx
jmp 0x47752e
inc eax
mov dword [esi], eax
mov ecx, esi
call 0x47a6a0
test eax, eax
je 0x477632
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x47757d
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477657
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], 0x4ac5e0
mov dword [eax + ecx], edi
mov dword [eax + ecx + 4], ebx
jmp 0x477634
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 0x4775c7
cmp byte [eax], 0x45
je 0x47763e
mov ecx, esi
call 0x47a5f0
test eax, eax
je 0x477632
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x47760e
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477657
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], 0x4ac5e0
jmp 0x4775ae
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 0x47a6a0
mov ebp, 0
test eax, eax
jne 0x47753d
jmp 0x477634
call fcn.0045a1e0
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 0x4776a2
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x4776f9
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], 0x4aca04
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.0045a1e0
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 0x477741
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x47778a
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], 0x4aca04
mov dword [ecx + edi - 0x10], esi
mov dword [ecx + edi - 0xc], 0x4abe51
mov dword [ecx + edi - 8], 0x4abe52
mov dword [ecx + edi - 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0045a1e0
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 0x4777d1
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477809
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], 0x4aca6c
mov dword [ecx + edi], esi
mov dword [ecx + edi + 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0045a1e0
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 0x4778f3
cmp byte [eax], 0x64
jne 0x4778f3
cmp ecx, 2
jb 0x4778f3
movsx ecx, byte [eax + 1]
cmp ecx, 0x58
je 0x477901
cmp ecx, 0x78
je 0x4779b4
cmp ecx, 0x69
jne 0x4778f3
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0047a840
xor edi, edi
test eax, eax
je 0x477a41
mov ebx, eax
mov ecx, esi
call 0x477810
test eax, eax
je 0x477a41
mov ebp, eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4778bc
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477a4b
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], 0x4acadc
mov dword [eax + ecx - 0x10], ebx
mov dword [eax + ecx - 0xc], ebp
mov byte [eax + ecx - 8], 0
jmp 0x477a41
mov ecx, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.00474790
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00474790
xor edi, edi
test eax, eax
je 0x477a41
mov ebx, eax
mov ecx, esi
call fcn.00474790
test eax, eax
je 0x477a41
mov ebp, eax
mov ecx, esi
call 0x477810
test eax, eax
je 0x477a41
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x47797e
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 0x477a4b
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], 0x4acb48
mov dword [edx + ecx - 0x10], ebx
mov dword [edx + ecx - 0xc], ebp
mov dword [edx + ecx - 8], eax
jmp 0x477a41
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00474790
xor edi, edi
test eax, eax
je 0x477a41
mov ebx, eax
mov ecx, esi
call 0x477810
test eax, eax
je 0x477a41
mov ebp, eax
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x477a0f
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477a4b
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], 0x4acadc
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.0045a1e0
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 0x477a91
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477acf
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], 0x4acbbc
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.0045a1e0
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 0x477b22
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477b6f
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], 0x4acc28
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.0045a1e0
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 0x477e91
cmp byte [ecx], 0x67
jne 0x477bc7
xor eax, eax
cmp byte [ecx + 1], 0x73
jne 0x477bc7
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 0x477bcf
jmp 0x477e91
mov dword [esp + 4], 0
movzx eax, word [ecx]
movd xmm0, eax
pcmpeqb xmm0, xmmword [0x4ab440]
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0x60
pshufd xmm0, xmm0, 0x50
movmskpd eax, xmm0
test al, 1
je 0x477e8f
cmp byte [ecx + 1], 0x77
je 0x477c11
cmp byte [ecx], 0x6e
jne 0x477e8f
cmp byte [ecx + 1], 0x61
jne 0x477e8f
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 0x477c79
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 0x477f45
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 0x477c82
cmp byte [ecx], 0x5f
je 0x477cd8
mov ecx, ebx
call fcn.00474790
test eax, eax
je 0x477e8f
mov edi, eax
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [ebx + 0x10]
jne 0x477c6b
mov eax, dword [ebx + 8]
mov esi, ebp
sub esi, eax
lea ecx, [esi + esi]
cmp eax, dword [esp]
jne 0x477c40
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477f45
mov ebx, eax
mov eax, dword [esp]
cmp ebp, eax
je 0x477ccf
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 0x477c59
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.0047a1e0
add esp, 4
mov edi, eax
mov ebp, edx
add esi, dword [ebx + 8]
mov dword [ebx + 0xc], esi
mov ecx, ebx
call fcn.00470300
test eax, eax
je 0x477e8f
mov dword [esp + 8], eax
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov edx, eax
sub edx, ecx
cmp edx, 2
jb 0x477d49
cmp byte [ecx], 0x70
jne 0x477d49
cmp byte [ecx + 1], 0x69
jne 0x477d49
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 0x477e33
cmp ecx, eax
je 0x477e8f
cmp byte [ecx], 0x45
mov eax, 0
jne 0x477e91
inc ecx
mov dword [ebx], ecx
mov esi, dword [ebx + 0x116c]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x477da0
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477f45
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], 0x4acc90
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 0x477e91
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 0x477f45
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 0x477e3c
cmp byte [ecx], 0x45
je 0x477e99
mov ecx, ebx
call fcn.00474790
test eax, eax
je 0x477e8f
mov edi, eax
mov esi, dword [ebx + 0xc]
cmp esi, dword [ebx + 0x10]
jne 0x477e26
mov eax, dword [ebx + 8]
mov ebp, esi
sub ebp, eax
mov ecx, ebp
add ecx, ebp
cmp eax, dword [esp]
jne 0x477df7
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477f45
mov ebx, eax
mov eax, dword [esp]
cmp esi, eax
je 0x477e86
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 0x477e10
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.0047a1e0
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 0x477efa
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477f45
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], 0x4acc90
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 0x477de8
call fcn.0045a1e0
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 0x477f91
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x477fdf
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], 0x4acd04
mov dword [ecx + edx - 0x10], 0x4abe81
mov dword [ecx + edx - 0xc], 0x4abe8b
mov dword [ecx + edx - 8], esi
mov dword [ecx + edx - 4], 0x4abe1a
mov dword [ecx + edx], 0x4abe1b
pop esi
pop edi
pop ebx
ret
call fcn.0045a1e0
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 0x478032
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x478077
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], 0x4acd70
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.0045a1e0
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 0x4780c1
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x47810a
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], 0x4ac420
mov dword [ecx + edi - 0x10], 0x4abea3
mov dword [ecx + edi - 0xc], 0x4abeb3
mov dword [ecx + edi - 8], esi
mov dword [ecx + edi - 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0045a1e0
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 0x478151
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x47819a
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], 0x4ac420
mov dword [ecx + edi - 0x10], 0x4abec0
mov dword [ecx + edi - 0xc], 0x4abecb
mov dword [ecx + edi - 8], esi
mov dword [ecx + edi - 4], edx
pop esi
pop edi
pop ebx
ret
call fcn.0045a1e0
nop
push ebp
push ebx
push edi
push esi
mov edi, ecx
call fcn.0047a840
test eax, eax
je 0x47a68e
mov esi, eax
mov eax, dword [edi]
cmp dword [edi + 4], eax
je 0x47a68a
cmp byte [eax], 0x49
jne 0x47a68a
xor ebp, ebp
mov ecx, edi
xor edx, edx
call fcn.00472fc0
test eax, eax
je 0x47a690
mov ebx, eax
mov ebp, dword [edi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x47a65c
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x47a697
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], 0x4ad540
mov dword [eax + ecx], esi
mov dword [eax + ecx + 4], ebx
jmp 0x47a690
mov ebp, esi
jmp 0x47a690
xor ebp, ebp
mov eax, ebp
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0045a1e0
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 0x47a6c7
movsx edi, byte [eax]
add edi, 0xffffffd0
cmp edi, 9
ja 0x47a6c7
mov ecx, esi
pop esi
pop edi
pop ebx
pop ebp
jmp 0x47a5f0
cmp edx, 2
jb 0x47a715
movzx edx, byte [eax]
cmp dl, 0x64
jne 0x47a705
cmp byte [eax + 1], 0x6e
jne 0x47a702
add eax, 2
mov dword [esi], eax
cmp ecx, eax
je 0x47a7c0
movsx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 9
ja 0x47a7c0
mov ecx, esi
call 0x47a5f0
jmp 0x47a7c7
movzx edx, byte [eax]
cmp dl, 0x6f
jne 0x47a715
cmp byte [eax + 1], 0x6e
jne 0x47a715
add eax, 2
mov dword [esi], eax
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.0047ab10
test eax, eax
je 0x47a7b9
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x47a7b7
cmp byte [eax], 0x49
jne 0x47a7b7
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.00472fc0
test eax, eax
je 0x47a7b9
mov ebx, eax
mov ebp, dword [esi + 0x116c]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x47a789
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x47a835
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], 0x4ad540
mov dword [eax + ecx], edi
mov dword [eax + ecx + 4], ebx
jmp 0x47a7b9
mov ebp, edi
mov eax, ebp
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esi
call fcn.0047a4b0
mov edi, eax
test eax, eax
je 0x47a831
mov ebx, dword [esi + 0x116c]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfe8]
cmp eax, 0xfffff007
ja 0x47a807
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x47a835
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], 0x4ac64c
mov dword [eax + ecx], edi
jmp 0x47a7b9
xor ebp, ebp
jmp 0x47a7b9
call fcn.0045a1e0
nop word [eax + eax]