Function at 0x4ca270
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 0x4ca299
mov eax, ebp
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
ret
mov bl, byte [eax]
cmp bl, 0x67
jne 0x4ca2bd
cmp byte [eax + 1], 0x73
jne 0x4ca2bd
add eax, 2
mov dword [esi], eax
mov edx, ecx
sub edx, eax
mov byte [esp + 0x1b], 1
cmp edx, 2
jb case.0x4ca2cd.58
mov bl, byte [eax]
jmp 0x4ca2c2
mov byte [esp + 0x1b], 0
movsx edi, bl
add edi, 0xffffffcf
cmp edi, 0x43
ja case.0x4ca2cd.58
jmp dword [edi*4 + 0x562c8c]
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4ccad0
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4cb4a0
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.004c9160
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb2
cmp ecx, 0x2c
ja case.0x4ca2cd.58
jmp dword [ecx*4 + 0x5632a8]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x144], 0x563ec9
mov dword [esp + 0x148], 0x563ecb
movsd xmm0, qword [esp + 0x144]
jmp 0x4cb2cc
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9d
cmp ecx, 0x13
ja case.0x4ca2cd.58
jmp dword [ecx*4 + 0x563258]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004c5e70
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0x14], eax
test eax, eax
je 0x4cb3e8
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004cc530
jmp 0x4cb3e1
movsx ecx, byte [eax + 1]
add ecx, 0xffffffaa
cmp ecx, 0x20
ja case.0x4ca2cd.58
jmp dword [ecx*4 + 0x5631d4]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x114], 0x563efd
mov dword [esp + 0x118], 0x563eff
movsd xmm0, qword [esp + 0x114]
jmp 0x4cb2cc
movsx ecx, byte [eax + 1]
cmp ecx, 0x4f
je 0x4ca8b5
cmp ecx, 0x71
je 0x4ca8de
cmp ecx, 0x6f
jne case.0x4ca2cd.58
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x10c], 0x563f00
mov dword [esp + 0x110], 0x563f01
movsd xmm0, qword [esp + 0x10c]
jmp 0x4cb2cc
mov cl, byte [eax + 1]
cmp cl, 0x70
jne 0x4ca798
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.004cbd90
movsx ecx, byte [eax + 1]
cmp ecx, 0x74
je 0x4ca7c3
cmp ecx, 0x65
jne case.0x4ca2cd.58
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xf4], 0x563f08
mov dword [esp + 0xf8], 0x563f0a
movsd xmm0, qword [esp + 0xf4]
jmp 0x4cb2cc
movsx edx, byte [eax + 1]
cmp edx, 0x6c
je 0x4ca7ec
cmp edx, 0x78
jne case.0x4ca2cd.58
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0x14], eax
test eax, eax
je 0x4cb3e8
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004cd140
jmp 0x4cb3e1
movsx ecx, byte [eax + 1]
add ecx, 0xffffffad
cmp ecx, 0x21
ja case.0x4ca2cd.58
jmp dword [ecx*4 + 0x56314c]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xd4], 0x563f13
mov dword [esp + 0xd8], 0x563f16
movsd xmm0, qword [esp + 0xd4]
jmp 0x4cb2cc
movsx edx, byte [eax + 1]
add edx, 0xffffffb7
cmp edx, 0x24
ja case.0x4ca2cd.58
jmp dword [edx*4 + 0x5630b8]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xbc], 0x563f1b
mov dword [esp + 0xc0], 0x563f1d
movsd xmm0, qword [esp + 0xbc]
jmp 0x4cb2cc
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9f
cmp ecx, 0x17
ja case.0x4ca2cd.58
jmp dword [ecx*4 + 0x563058]
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4cd530
movsx ecx, byte [eax + 1]
add ecx, 0xffffffae
cmp ecx, 0x20
ja case.0x4ca2cd.58
jmp dword [ecx*4 + 0x562fd4]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x74], 0x563f39
mov dword [esp + 0x78], 0x563f3b
movsd xmm0, qword [esp + 0x74]
jmp 0x4cb2cc
movsx edx, byte [eax + 1]
add edx, 0xffffffb4
cmp edx, 0x28
ja case.0x4ca2cd.58
jmp dword [edx*4 + 0x562f30]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x5c], 0x563f42
mov dword [esp + 0x60], 0x563f44
movsd xmm0, qword [esp + 0x5c]
jmp 0x4cb2cc
cmp byte [eax + 1], 0x75
jne case.0x4ca2cd.58
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0x14], eax
test eax, eax
je 0x4cb3e8
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0x28], eax
test eax, eax
je 0x4cb3e8
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 0x4cd9b0
jmp 0x4cb3e1
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb3
cmp ecx, 0x26
ja case.0x4ca2cd.58
jmp dword [ecx*4 + 0x562e94]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x3c], 0x563f5e
mov dword [esp + 0x40], 0x563f60
movsd xmm0, qword [esp + 0x3c]
jmp 0x4cb2cc
movsx edx, byte [eax + 1]
add edx, 0xffffffb0
cmp edx, 0x2a
ja case.0x4ca2cd.58
jmp dword [edx*4 + 0x562de8]
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 0x4ca72e
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9b
cmp ecx, 0x12
ja case.0x4ca2cd.58
jmp dword [ecx*4 + 0x562d9c]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
jmp 0x4cac5e
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 0x4cb3ef
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 0x4ca73b
cmp byte [eax], 0x45
je 0x4cb307
mov ecx, esi
call fcn.004c7b30
test eax, eax
je case.0x4ca2cd.58
mov ebx, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
jne 0x4ca721
mov ecx, dword [esi + 8]
sub edi, ecx
lea eax, [edi + edi]
cmp ecx, dword [esp + 0x20]
jne 0x4ca6ea
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 0x4cb3ef
mov ebp, eax
test edi, edi
je 0x4ca790
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 0x4ca703
cmp cl, 0x4c
jne 0x4ca7b2
cmp edx, 3
jb 0x4ca7b2
movsx eax, byte [eax + 2]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x4ca434
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4cbfb0
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xec], 0x563f0b
mov dword [esp + 0xf0], 0x563f0c
movsd xmm0, qword [esp + 0xec]
jmp 0x4cb2cc
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 0x4ca84b
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 0x4cb3ef
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 0x4ca858
cmp byte [eax], 0x45
je 0x4caf19
mov ecx, esi
call fcn.004cd1c0
test eax, eax
je case.0x4ca2cd.58
mov ebx, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
jne 0x4ca83e
mov ecx, dword [esi + 8]
sub edi, ecx
lea eax, [edi + edi]
cmp ecx, dword [esp + 0x20]
jne 0x4ca807
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 0x4cb3ef
mov ebp, eax
test edi, edi
je 0x4ca8ad
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 0x4ca820
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x104], 0x563f02
mov dword [esp + 0x108], 0x563f04
movsd xmm0, qword [esp + 0x104]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xfc], 0x563f05
mov dword [esp + 0x100], 0x563f07
movsd xmm0, qword [esp + 0xfc]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xe4], 0x563f0d
mov dword [esp + 0xe8], 0x563f0f
movsd xmm0, qword [esp + 0xe4]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xdc], 0x563f10
mov dword [esp + 0xe0], 0x563f12
movsd xmm0, qword [esp + 0xdc]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xcc], 0x563f17
mov dword [esp + 0xd0], 0x563f18
movsd xmm0, qword [esp + 0xcc]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x84], 0x563f34
mov dword [esp + 0x88], 0x563f36
movsd xmm0, qword [esp + 0x84]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x7c], 0x563f37
mov dword [esp + 0x80], 0x563f38
movsd xmm0, qword [esp + 0x7c]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0x14], eax
xor ebp, ebp
test eax, eax
je case.0x4ca2cd.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 0x4caa2e
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 0x4cb3ef
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 0x4caa3e
cmp byte [eax], 0x45
je 0x4cb347
mov ecx, esi
call fcn.004ca270
test eax, eax
je 0x4cb3e8
mov ebx, eax
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 0x10]
jne 0x4caa25
mov edi, dword [esi + 8]
sub ebp, edi
mov eax, ebp
add eax, ebp
cmp edi, dword [esp + 0x20]
jne 0x4ca9fe
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x4cb3ef
test ebp, ebp
je 0x4caa8e
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 0x4caa15
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x134], 0x563ee3
mov dword [esp + 0x138], 0x563ee4
movsd xmm0, qword [esp + 0x134]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x12c], 0x563ee5
mov dword [esp + 0x130], 0x563ee6
movsd xmm0, qword [esp + 0x12c]
jmp 0x4cb1cf
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.004cc650
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xac], 0x563f1e
mov dword [esp + 0xb0], 0x563f20
movsd xmm0, qword [esp + 0xac]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xc4], 0x563f19
mov dword [esp + 0xc8], 0x563f1a
movsd xmm0, qword [esp + 0xc4]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xb4], 0x563ef4
mov dword [esp + 0xb8], 0x563ef5
movsd xmm0, qword [esp + 0xb4]
jmp 0x4cb2cc
lea edx, [eax + 2]
mov dword [esi], edx
cmp edx, ecx
je 0x4cb128
cmp byte [edx], 0x5f
jne 0x4cb128
add eax, 3
mov dword [esi], eax
mov dword [esp + 0xa4], 0x563f21
mov dword [esp + 0xa8], 0x563f23
movsd xmm0, qword [esp + 0xa4]
jmp 0x4cb1cf
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x2c], 0x563f64
mov dword [esp + 0x30], 0x563f67
movsd xmm0, qword [esp + 0x2c]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004c5e70
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0x14], eax
test eax, eax
je 0x4cb3e8
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004cda40
jmp 0x4cb3e1
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x44], 0x563f5c
mov dword [esp + 0x48], 0x563f5d
movsd xmm0, qword [esp + 0x44]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x34], 0x563f61
mov dword [esp + 0x38], 0x563f63
movsd xmm0, qword [esp + 0x34]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004c5e70
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, esi
mov edx, str.typeid__
call fcn.004cdbe0
jmp 0x4cb3e1
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004c5e70
mov dword [esp + 0x14], eax
xor ebp, ebp
test eax, eax
je case.0x4ca2cd.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 0x4cacf1
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 0x4cb3ef
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 0x4cad01
cmp byte [eax], 0x45
je 0x4cb387
mov ecx, esi
call fcn.004cd1c0
test eax, eax
je case.0x4ca2cd.58
mov ebx, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
jne 0x4cace9
mov ecx, dword [esi + 8]
sub edi, ecx
lea eax, [edi + edi]
cmp ecx, dword [esp + 0x20]
jne 0x4cacb2
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 0x4cb3ef
mov ebp, eax
test edi, edi
je 0x4cad56
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 0x4caccb
add eax, 2
mov dword [esi], eax
mov ecx, esi
mov edx, 0x563f92
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4cdeb0
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004cdf40
jmp 0x4cb3e1
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x9c], 0x563f24
mov dword [esp + 0xa0], 0x563f26
movsd xmm0, qword [esp + 0x9c]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x94], 0x563f19
mov dword [esp + 0x98], 0x563f1a
movsd xmm0, qword [esp + 0x94]
jmp 0x4cb1cf
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x8c], 0x563f27
mov dword [esp + 0x90], 0x563f28
movsd xmm0, qword [esp + 0x8c]
jmp 0x4cb1cf
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004cd910
jmp 0x4cb3e1
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x64], 0x563f40
mov dword [esp + 0x68], 0x563f41
movsd xmm0, qword [esp + 0x64]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x6c], 0x563f3c
mov dword [esp + 0x70], 0x563f3f
movsd xmm0, qword [esp + 0x6c]
jmp 0x4cb2cc
lea edx, [eax + 2]
mov dword [esi], edx
cmp edx, ecx
je 0x4cb2dd
cmp byte [edx], 0x5f
jne 0x4cb2dd
add eax, 3
mov dword [esi], eax
mov dword [esp + 0x54], 0x563f45
mov dword [esp + 0x58], 0x563f47
movsd xmm0, qword [esp + 0x54]
jmp 0x4cb1cf
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x4c], 0x563f40
mov dword [esp + 0x50], 0x563f41
movsd xmm0, qword [esp + 0x4c]
jmp 0x4cb1cf
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0x14], eax
test eax, eax
je 0x4cb3e8
lea eax, [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0x563f48
jmp 0x4cb256
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.004cfc50
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.004cd400
jmp 0x4cb3e1
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x13c], 0x563ecc
mov dword [esp + 0x140], 0x563ecd
movsd xmm0, qword [esp + 0x13c]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x15c], 0x563ec4
mov dword [esp + 0x160], 0x563ec6
movsd xmm0, qword [esp + 0x15c]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x154], 0x563ec7
mov dword [esp + 0x158], 0x563ec8
movsd xmm0, qword [esp + 0x154]
jmp 0x4cb1cf
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x14c], 0x563ec7
mov dword [esp + 0x150], 0x563ec8
movsd xmm0, qword [esp + 0x14c]
jmp 0x4cb2cc
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004c5e70
jmp 0x4cb01a
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, esi
mov edx, str.alignof__
call 0x4cb400
jmp 0x4cb3e1
add eax, 2
mov dword [esi], eax
cmp ecx, eax
je case.0x4ca2cd.58
mov al, byte [eax]
cmp al, 0x66
je 0x4cb3c7
cmp al, 0x54
jne case.0x4ca2cd.58
mov ecx, esi
call fcn.004c9160
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004cdc80
jmp 0x4cb3e1
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004c5e70
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0x14], eax
test eax, eax
je 0x4cb3e8
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004cdad0
jmp 0x4cb3e1
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004cdb60
jmp 0x4cb3e1
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004c5e70
jmp 0x4cb104
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, esi
mov edx, str.sizeof__
call fcn.004cdbe0
jmp 0x4cb3e1
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
mov dword [esp], 0x563f21
jmp 0x4cb2f7
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
mov byte [esp + 0x14], 1
jmp 0x4cb1fd
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004c5e70
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0x14], eax
test eax, eax
je 0x4cb3e8
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004cca40
jmp 0x4cb3e1
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x124], 0x563ef4
mov dword [esp + 0x128], 0x563ef5
movsd xmm0, qword [esp + 0x124]
movsd qword [esp], xmm0
mov ecx, esi
call fcn.004cc490
jmp 0x4ca28e
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
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.004cc9b0
jmp 0x4cb3e1
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0x14], eax
test eax, eax
je 0x4cb3e8
lea eax, [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0x563ef6
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004cd010
jmp 0x4cb3e1
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0x14], eax
test eax, eax
je 0x4cb3e8
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004cd0b0
jmp 0x4cb3e1
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x11c], 0x563efb
mov dword [esp + 0x120], 0x563efc
movsd xmm0, qword [esp + 0x11c]
movsd qword [esp], xmm0
mov ecx, esi
call fcn.004cc3e0
jmp 0x4ca28e
mov ecx, esi
call fcn.004ca270
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
mov dword [esp], 0x563f45
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004cd490
jmp 0x4cb3e1
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.004cfc50
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.004cdda0
mov dword [esp + 0xc], eax
jmp 0x4cb3d6
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.004cfc50
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.004cc5c0
jmp 0x4cb3e1
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.004cfc50
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.004cde20
jmp 0x4cb3e1
mov ecx, esi
call fcn.004cbd90
mov dword [esp + 0xc], eax
test eax, eax
je 0x4cb3e8
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.004cdd00
mov ebp, eax
jmp case.0x4ca2cd.58
xor ebp, ebp
jmp case.0x4ca2cd.58
call fcn.00485220
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 0x4cb442
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x4cb49a
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], 0x564dac
mov dword [ebx + ebp - 0x10], esi
mov dword [ebx + ebp - 0xc], eax
mov dword [ebx + ebp - 8], ecx
mov dword [ebx + ebp - 4], 0x563ec2
mov dword [ebx + ebp], 0x563ec3
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.00485220
nop