Function at 0x4773e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x164
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, ecx
sub edx, eax
xor ebp, ebp
cmp edx, 2
jae 0x477409
mov eax, ebp
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
ret
mov bl, byte [eax]
cmp bl, 0x67
jne 0x47742d
cmp byte [eax + 1], 0x73
jne 0x47742d
add eax, 2
mov dword [esi], eax
mov edx, ecx
sub edx, eax
mov byte [esp + 0x1b], 1
cmp edx, 2
jb case.0x47743d.58
mov bl, byte [eax]
jmp 0x477432
mov byte [esp + 0x1b], 0
movsx edi, bl
add edi, 0xffffffcf
cmp edi, 0x43
ja case.0x47743d.58
jmp dword [edi*4 + 0x4ae8bc]
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x479c40
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x478610
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.004762c0
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb2
cmp ecx, 0x2c
ja case.0x47743d.58
jmp dword [ecx*4 + 0x4aeed8]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x144], 0x4afaf9
mov dword [esp + 0x148], 0x4afafb
movsd xmm0, qword [esp + 0x144]
jmp 0x47843c
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9d
cmp ecx, 0x13
ja case.0x47743d.58
jmp dword [ecx*4 + 0x4aee88]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00472fd0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0x14], eax
test eax, eax
je 0x478558
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004796a0
jmp 0x478551
movsx ecx, byte [eax + 1]
add ecx, 0xffffffaa
cmp ecx, 0x20
ja case.0x47743d.58
jmp dword [ecx*4 + 0x4aee04]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x114], 0x4afb2d
mov dword [esp + 0x118], 0x4afb2f
movsd xmm0, qword [esp + 0x114]
jmp 0x47843c
movsx ecx, byte [eax + 1]
cmp ecx, 0x4f
je 0x477a25
cmp ecx, 0x71
je 0x477a4e
cmp ecx, 0x6f
jne case.0x47743d.58
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x10c], 0x4afb30
mov dword [esp + 0x110], 0x4afb31
movsd xmm0, qword [esp + 0x10c]
jmp 0x47843c
mov cl, byte [eax + 1]
cmp cl, 0x70
jne 0x477908
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.00478f00
movsx ecx, byte [eax + 1]
cmp ecx, 0x74
je 0x477933
cmp ecx, 0x65
jne case.0x47743d.58
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xf4], 0x4afb38
mov dword [esp + 0xf8], 0x4afb3a
movsd xmm0, qword [esp + 0xf4]
jmp 0x47843c
movsx edx, byte [eax + 1]
cmp edx, 0x6c
je 0x47795c
cmp edx, 0x78
jne case.0x47743d.58
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0x14], eax
test eax, eax
je 0x478558
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.0047a480
jmp 0x478551
movsx ecx, byte [eax + 1]
add ecx, 0xffffffad
cmp ecx, 0x21
ja case.0x47743d.58
jmp dword [ecx*4 + 0x4aed7c]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xd4], 0x4afb43
mov dword [esp + 0xd8], 0x4afb46
movsd xmm0, qword [esp + 0xd4]
jmp 0x47843c
movsx edx, byte [eax + 1]
add edx, 0xffffffb7
cmp edx, 0x24
ja case.0x47743d.58
jmp dword [edx*4 + 0x4aece8]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xbc], 0x4afb4b
mov dword [esp + 0xc0], 0x4afb4d
movsd xmm0, qword [esp + 0xbc]
jmp 0x47843c
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9f
cmp ecx, 0x17
ja case.0x47743d.58
jmp dword [ecx*4 + 0x4aec88]
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x47a870
movsx ecx, byte [eax + 1]
add ecx, 0xffffffae
cmp ecx, 0x20
ja case.0x47743d.58
jmp dword [ecx*4 + 0x4aec04]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x74], 0x4afb69
mov dword [esp + 0x78], 0x4afb6b
movsd xmm0, qword [esp + 0x74]
jmp 0x47843c
movsx edx, byte [eax + 1]
add edx, 0xffffffb4
cmp edx, 0x28
ja case.0x47743d.58
jmp dword [edx*4 + 0x4aeb60]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x5c], 0x4afb72
mov dword [esp + 0x60], 0x4afb74
movsd xmm0, qword [esp + 0x5c]
jmp 0x47843c
cmp byte [eax + 1], 0x75
jne case.0x47743d.58
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0x14], eax
test eax, eax
je 0x478558
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0x28], eax
test eax, eax
je 0x478558
lea eax, [esp + 0x28]
mov dword [esp + 4], eax
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call 0x47acf0
jmp 0x478551
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb3
cmp ecx, 0x26
ja case.0x47743d.58
jmp dword [ecx*4 + 0x4aeac4]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x3c], 0x4afb8e
mov dword [esp + 0x40], 0x4afb90
movsd xmm0, qword [esp + 0x3c]
jmp 0x47843c
movsx edx, byte [eax + 1]
add edx, 0xffffffb0
cmp edx, 0x2a
ja case.0x47743d.58
jmp dword [edx*4 + 0x4aea18]
add eax, 2
mov dword [esi], eax
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
sar edx, 2
mov dword [esp + 0x24], edx
lea edx, [esi + 0x14]
mov dword [esp + 0x20], edx
jmp 0x47789e
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9b
cmp ecx, 0x12
ja case.0x47743d.58
jmp dword [ecx*4 + 0x4ae9cc]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
jmp 0x477dce
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov ebp, eax
mov dword [esi + 8], eax
test eax, eax
je 0x47855f
mov eax, edi
sar eax, 2
sar edi, 1
lea ecx, [edi*4]
add ecx, ebp
lea edi, [eax*4]
add edi, ebp
mov dword [esi + 0x10], ecx
xor ebp, ebp
lea eax, [edi + 4]
mov dword [esi + 0xc], eax
mov dword [edi], ebx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x4778ab
cmp byte [eax], 0x45
je 0x478477
mov ecx, esi
call fcn.00474c90
test eax, eax
je case.0x47743d.58
mov ebx, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
jne 0x477891
mov ecx, dword [esi + 8]
sub edi, ecx
lea eax, [edi + edi]
cmp ecx, dword [esp + 0x20]
jne 0x47785a
mov dword [esp + 0x1c], ecx
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x47855f
mov ebp, eax
test edi, edi
je 0x477900
mov dword [esp + 8], edi
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov dword [esp], ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov dword [esi + 8], ebp
jmp 0x477873
cmp cl, 0x4c
jne 0x477922
cmp edx, 3
jb 0x477922
movsx eax, byte [eax + 2]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x4775a4
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x479120
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xec], 0x4afb3b
mov dword [esp + 0xf0], 0x4afb3c
movsd xmm0, qword [esp + 0xec]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
sar edx, 2
mov dword [esp + 0x24], edx
lea edx, [esi + 0x14]
mov dword [esp + 0x20], edx
jmp 0x4779bb
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov ebp, eax
mov dword [esi + 8], eax
test eax, eax
je 0x47855f
mov eax, edi
sar eax, 2
sar edi, 1
lea ecx, [edi*4]
add ecx, ebp
lea edi, [eax*4]
add edi, ebp
mov dword [esi + 0x10], ecx
xor ebp, ebp
lea eax, [edi + 4]
mov dword [esi + 0xc], eax
mov dword [edi], ebx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x4779c8
cmp byte [eax], 0x45
je 0x478089
mov ecx, esi
call fcn.0047a500
test eax, eax
je case.0x47743d.58
mov ebx, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
jne 0x4779ae
mov ecx, dword [esi + 8]
sub edi, ecx
lea eax, [edi + edi]
cmp ecx, dword [esp + 0x20]
jne 0x477977
mov dword [esp + 0x1c], ecx
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x47855f
mov ebp, eax
test edi, edi
je 0x477a1d
mov dword [esp + 8], edi
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov dword [esp], ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov dword [esi + 8], ebp
jmp 0x477990
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x104], 0x4afb32
mov dword [esp + 0x108], 0x4afb34
movsd xmm0, qword [esp + 0x104]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xfc], 0x4afb35
mov dword [esp + 0x100], 0x4afb37
movsd xmm0, qword [esp + 0xfc]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xe4], 0x4afb3d
mov dword [esp + 0xe8], 0x4afb3f
movsd xmm0, qword [esp + 0xe4]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xdc], 0x4afb40
mov dword [esp + 0xe0], 0x4afb42
movsd xmm0, qword [esp + 0xdc]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xcc], 0x4afb47
mov dword [esp + 0xd0], 0x4afb48
movsd xmm0, qword [esp + 0xcc]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x84], 0x4afb64
mov dword [esp + 0x88], 0x4afb66
movsd xmm0, qword [esp + 0x84]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x7c], 0x4afb67
mov dword [esp + 0x80], 0x4afb68
movsd xmm0, qword [esp + 0x7c]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0x14], eax
xor ebp, ebp
test eax, eax
je case.0x47743d.58
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esp + 0x20], eax
jmp 0x477b9e
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov dword [esi + 8], eax
test eax, eax
je 0x47855f
mov edx, ebp
sar edx, 2
sar ebp, 1
lea ecx, [eax + ebp*4]
lea ebp, [eax + edx*4]
mov dword [esi + 0x10], ecx
lea eax, [ebp + 4]
mov dword [esi + 0xc], eax
mov dword [ebp], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x477bae
cmp byte [eax], 0x45
je 0x4784b7
mov ecx, esi
call fcn.004773e0
test eax, eax
je 0x478558
mov ebx, eax
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 0x10]
jne 0x477b95
mov edi, dword [esi + 8]
sub ebp, edi
mov eax, ebp
add eax, ebp
cmp edi, dword [esp + 0x20]
jne 0x477b6e
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x47855f
test ebp, ebp
je 0x477bfe
mov dword [esp + 8], ebp
mov dword [esp + 4], edi
mov dword [esp], eax
mov edi, eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov eax, edi
mov dword [esi + 8], eax
jmp 0x477b85
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x134], 0x4afb13
mov dword [esp + 0x138], 0x4afb14
movsd xmm0, qword [esp + 0x134]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x12c], 0x4afb15
mov dword [esp + 0x130], 0x4afb16
movsd xmm0, qword [esp + 0x12c]
jmp 0x47833f
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.004797c0
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xac], 0x4afb4e
mov dword [esp + 0xb0], 0x4afb50
movsd xmm0, qword [esp + 0xac]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xc4], 0x4afb49
mov dword [esp + 0xc8], 0x4afb4a
movsd xmm0, qword [esp + 0xc4]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xb4], 0x4afb24
mov dword [esp + 0xb8], 0x4afb25
movsd xmm0, qword [esp + 0xb4]
jmp 0x47843c
lea edx, [eax + 2]
mov dword [esi], edx
cmp edx, ecx
je 0x478298
cmp byte [edx], 0x5f
jne 0x478298
add eax, 3
mov dword [esi], eax
mov dword [esp + 0xa4], 0x4afb51
mov dword [esp + 0xa8], 0x4afb53
movsd xmm0, qword [esp + 0xa4]
jmp 0x47833f
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x2c], 0x4afb94
mov dword [esp + 0x30], 0x4afb97
movsd xmm0, qword [esp + 0x2c]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00472fd0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0x14], eax
test eax, eax
je 0x478558
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.0047ad80
jmp 0x478551
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x44], 0x4afb8c
mov dword [esp + 0x48], 0x4afb8d
movsd xmm0, qword [esp + 0x44]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x34], 0x4afb91
mov dword [esp + 0x38], 0x4afb93
movsd xmm0, qword [esp + 0x34]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00472fd0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, esi
mov edx, str.typeid__
call fcn.0047af20
jmp 0x478551
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00472fd0
mov dword [esp + 0x14], eax
xor ebp, ebp
test eax, eax
je case.0x47743d.58
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x24], eax
lea eax, [esi + 0x14]
mov dword [esp + 0x20], eax
jmp 0x477e61
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov ebp, eax
mov dword [esi + 8], eax
test eax, eax
je 0x47855f
mov eax, edi
sar eax, 2
sar edi, 1
lea ecx, [edi*4]
add ecx, ebp
lea edi, [eax*4]
add edi, ebp
mov dword [esi + 0x10], ecx
xor ebp, ebp
lea eax, [edi + 4]
mov dword [esi + 0xc], eax
mov dword [edi], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x477e71
cmp byte [eax], 0x45
je 0x4784f7
mov ecx, esi
call fcn.0047a500
test eax, eax
je case.0x47743d.58
mov ebx, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
jne 0x477e59
mov ecx, dword [esi + 8]
sub edi, ecx
lea eax, [edi + edi]
cmp ecx, dword [esp + 0x20]
jne 0x477e22
mov dword [esp + 0x1c], ecx
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x47855f
mov ebp, eax
test edi, edi
je 0x477ec6
mov dword [esp + 8], edi
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov dword [esp], ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov dword [esi + 8], ebp
jmp 0x477e3b
add eax, 2
mov dword [esi], eax
mov ecx, esi
mov edx, 0x4afbc2
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x47b1f0
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.0047b280
jmp 0x478551
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x9c], 0x4afb54
mov dword [esp + 0xa0], 0x4afb56
movsd xmm0, qword [esp + 0x9c]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x94], 0x4afb49
mov dword [esp + 0x98], 0x4afb4a
movsd xmm0, qword [esp + 0x94]
jmp 0x47833f
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x8c], 0x4afb57
mov dword [esp + 0x90], 0x4afb58
movsd xmm0, qword [esp + 0x8c]
jmp 0x47833f
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.0047ac50
jmp 0x478551
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x64], 0x4afb70
mov dword [esp + 0x68], 0x4afb71
movsd xmm0, qword [esp + 0x64]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x6c], 0x4afb6c
mov dword [esp + 0x70], 0x4afb6f
movsd xmm0, qword [esp + 0x6c]
jmp 0x47843c
lea edx, [eax + 2]
mov dword [esi], edx
cmp edx, ecx
je 0x47844d
cmp byte [edx], 0x5f
jne 0x47844d
add eax, 3
mov dword [esi], eax
mov dword [esp + 0x54], 0x4afb75
mov dword [esp + 0x58], 0x4afb77
movsd xmm0, qword [esp + 0x54]
jmp 0x47833f
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x4c], 0x4afb70
mov dword [esp + 0x50], 0x4afb71
movsd xmm0, qword [esp + 0x4c]
jmp 0x47833f
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0x14], eax
test eax, eax
je 0x478558
lea eax, [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0x4afb78
jmp 0x4783c6
add eax, 1
mov dword [esi], eax
mov edi, dword [esp + 0x24]
shl edi, 2
mov edx, dword [esi + 8]
add edx, edi
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov ecx, esi
call fcn.0047d000
add edi, dword [esi + 8]
mov dword [esi + 0xc], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov dword [esp], eax
lea edx, [esp + 0x14]
mov ecx, esi
call fcn.0047a740
jmp 0x478551
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x13c], 0x4afafc
mov dword [esp + 0x140], 0x4afafd
movsd xmm0, qword [esp + 0x13c]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x15c], 0x4afaf4
mov dword [esp + 0x160], 0x4afaf6
movsd xmm0, qword [esp + 0x15c]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x154], 0x4afaf7
mov dword [esp + 0x158], 0x4afaf8
movsd xmm0, qword [esp + 0x154]
jmp 0x47833f
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x14c], 0x4afaf7
mov dword [esp + 0x150], 0x4afaf8
movsd xmm0, qword [esp + 0x14c]
jmp 0x47843c
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00472fd0
jmp 0x47818a
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, esi
mov edx, str.alignof__
call 0x478570
jmp 0x478551
add eax, 2
mov dword [esi], eax
cmp ecx, eax
je case.0x47743d.58
mov al, byte [eax]
cmp al, 0x66
je 0x478537
cmp al, 0x54
jne case.0x47743d.58
mov ecx, esi
call fcn.004762c0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.0047afc0
jmp 0x478551
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00472fd0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0x14], eax
test eax, eax
je 0x478558
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.0047ae10
jmp 0x478551
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.0047aea0
jmp 0x478551
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00472fd0
jmp 0x478274
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, esi
mov edx, str.sizeof__
call fcn.0047af20
jmp 0x478551
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
mov dword [esp], 0x4afb51
jmp 0x478467
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
mov byte [esp + 0x14], 1
jmp 0x47836d
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00472fd0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0x14], eax
test eax, eax
je 0x478558
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00479bb0
jmp 0x478551
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x124], 0x4afb24
mov dword [esp + 0x128], 0x4afb25
movsd xmm0, qword [esp + 0x124]
movsd qword [esp], xmm0
mov ecx, esi
call fcn.00479600
jmp 0x4773fe
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
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, esi
call fcn.00479b20
jmp 0x478551
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0x14], eax
test eax, eax
je 0x478558
lea eax, [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0x4afb26
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.0047a350
jmp 0x478551
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0x14], eax
test eax, eax
je 0x478558
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.0047a3f0
jmp 0x478551
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x11c], 0x4afb2b
mov dword [esp + 0x120], 0x4afb2c
movsd xmm0, qword [esp + 0x11c]
movsd qword [esp], xmm0
mov ecx, esi
call fcn.00479550
jmp 0x4773fe
mov ecx, esi
call fcn.004773e0
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
mov dword [esp], 0x4afb75
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.0047a7d0
jmp 0x478551
add eax, 1
mov dword [esi], eax
mov edi, dword [esp + 0x24]
shl edi, 2
mov edx, dword [esi + 8]
add edx, edi
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov ecx, esi
call fcn.0047d000
add edi, dword [esi + 8]
mov dword [esi + 0xc], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.0047b0e0
mov dword [esp + 0xc], eax
jmp 0x478546
add eax, 1
mov dword [esi], eax
mov edi, dword [esp + 0x1c]
shl edi, 2
mov edx, dword [esi + 8]
add edx, edi
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov ecx, esi
call fcn.0047d000
add edi, dword [esi + 8]
mov dword [esi + 0xc], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov dword [esp], eax
lea edx, [esp + 0x14]
mov ecx, esi
call fcn.00479730
jmp 0x478551
add eax, 1
mov dword [esi], eax
mov edi, dword [esp + 0x24]
shl edi, 2
mov edx, dword [esi + 8]
add edx, edi
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov ecx, esi
call fcn.0047d000
add edi, dword [esi + 8]
mov dword [esi + 0xc], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov dword [esp], eax
lea edx, [esp + 0x14]
mov ecx, esi
call fcn.0047b160
jmp 0x478551
mov ecx, esi
call fcn.00478f00
mov dword [esp + 0xc], eax
test eax, eax
je 0x478558
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.0047b040
mov ebp, eax
jmp case.0x47743d.58
xor ebp, ebp
jmp case.0x47743d.58
call fcn.0045d390
nop word cs:[eax + eax]
nop
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 0x4785b2
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x47860a
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], 0x4b09dc
mov dword [ebx + ebp - 0x10], esi
mov dword [ebx + ebp - 0xc], eax
mov dword [ebx + ebp - 8], ecx
mov dword [ebx + ebp - 4], 0x4afaf2
mov dword [ebx + ebp], 0x4afaf3
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0045d390
nop