Function at 0x53f480
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 0x53f4a9
mov eax, ebp
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
ret
mov bl, byte [eax]
cmp bl, 0x67
jne 0x53f4cd
cmp byte [eax + 1], 0x73
jne 0x53f4cd
add eax, 2
mov dword [esi], eax
mov edx, ecx
sub edx, eax
mov byte [esp + 0x1b], 1
cmp edx, 2
jb case.0x53f4dd.58
mov bl, byte [eax]
jmp 0x53f4d2
mov byte [esp + 0x1b], 0
movsx edi, bl
add edi, 0xffffffcf
cmp edi, 0x43
ja case.0x53f4dd.58
jmp dword [edi*4 + 0x57515c]
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x541ce0
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x5406b0
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.0053e370
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb2
cmp ecx, 0x2c
ja case.0x53f4dd.58
jmp dword [ecx*4 + 0x575778]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x144], 0x576399
mov dword [esp + 0x148], 0x57639b
movsd xmm0, qword [esp + 0x144]
jmp 0x5404dc
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9d
cmp ecx, 0x13
ja case.0x53f4dd.58
jmp dword [ecx*4 + 0x575728]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053b080
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0x14], eax
test eax, eax
je 0x5405f8
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00541740
jmp 0x5405f1
movsx ecx, byte [eax + 1]
add ecx, 0xffffffaa
cmp ecx, 0x20
ja case.0x53f4dd.58
jmp dword [ecx*4 + 0x5756a4]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x114], 0x5763cd
mov dword [esp + 0x118], 0x5763cf
movsd xmm0, qword [esp + 0x114]
jmp 0x5404dc
movsx ecx, byte [eax + 1]
cmp ecx, 0x4f
je 0x53fac5
cmp ecx, 0x71
je 0x53faee
cmp ecx, 0x6f
jne case.0x53f4dd.58
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x10c], 0x5763d0
mov dword [esp + 0x110], 0x5763d1
movsd xmm0, qword [esp + 0x10c]
jmp 0x5404dc
mov cl, byte [eax + 1]
cmp cl, 0x70
jne 0x53f9a8
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.00540fa0
movsx ecx, byte [eax + 1]
cmp ecx, 0x74
je 0x53f9d3
cmp ecx, 0x65
jne case.0x53f4dd.58
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xf4], 0x5763d8
mov dword [esp + 0xf8], 0x5763da
movsd xmm0, qword [esp + 0xf4]
jmp 0x5404dc
movsx edx, byte [eax + 1]
cmp edx, 0x6c
je 0x53f9fc
cmp edx, 0x78
jne case.0x53f4dd.58
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0x14], eax
test eax, eax
je 0x5405f8
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00542350
jmp 0x5405f1
movsx ecx, byte [eax + 1]
add ecx, 0xffffffad
cmp ecx, 0x21
ja case.0x53f4dd.58
jmp dword [ecx*4 + 0x57561c]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xd4], 0x5763e3
mov dword [esp + 0xd8], 0x5763e6
movsd xmm0, qword [esp + 0xd4]
jmp 0x5404dc
movsx edx, byte [eax + 1]
add edx, 0xffffffb7
cmp edx, 0x24
ja case.0x53f4dd.58
jmp dword [edx*4 + 0x575588]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xbc], 0x5763eb
mov dword [esp + 0xc0], 0x5763ed
movsd xmm0, qword [esp + 0xbc]
jmp 0x5404dc
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9f
cmp ecx, 0x17
ja case.0x53f4dd.58
jmp dword [ecx*4 + 0x575528]
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x542740
movsx ecx, byte [eax + 1]
add ecx, 0xffffffae
cmp ecx, 0x20
ja case.0x53f4dd.58
jmp dword [ecx*4 + 0x5754a4]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x74], 0x576409
mov dword [esp + 0x78], 0x57640b
movsd xmm0, qword [esp + 0x74]
jmp 0x5404dc
movsx edx, byte [eax + 1]
add edx, 0xffffffb4
cmp edx, 0x28
ja case.0x53f4dd.58
jmp dword [edx*4 + 0x575400]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x5c], 0x576412
mov dword [esp + 0x60], 0x576414
movsd xmm0, qword [esp + 0x5c]
jmp 0x5404dc
cmp byte [eax + 1], 0x75
jne case.0x53f4dd.58
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0x14], eax
test eax, eax
je 0x5405f8
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0x28], eax
test eax, eax
je 0x5405f8
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 0x542bc0
jmp 0x5405f1
movsx ecx, byte [eax + 1]
add ecx, 0xffffffb3
cmp ecx, 0x26
ja case.0x53f4dd.58
jmp dword [ecx*4 + 0x575364]
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x3c], 0x57642e
mov dword [esp + 0x40], 0x576430
movsd xmm0, qword [esp + 0x3c]
jmp 0x5404dc
movsx edx, byte [eax + 1]
add edx, 0xffffffb0
cmp edx, 0x2a
ja case.0x53f4dd.58
jmp dword [edx*4 + 0x5752b8]
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 0x53f93e
movsx ecx, byte [eax + 1]
add ecx, 0xffffff9b
cmp ecx, 0x12
ja case.0x53f4dd.58
jmp dword [ecx*4 + 0x57526c]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
jmp 0x53fe6e
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 0x5405ff
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 0x53f94b
cmp byte [eax], 0x45
je 0x540517
mov ecx, esi
call fcn.0053cd40
test eax, eax
je case.0x53f4dd.58
mov ebx, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
jne 0x53f931
mov ecx, dword [esi + 8]
sub edi, ecx
lea eax, [edi + edi]
cmp ecx, dword [esp + 0x20]
jne 0x53f8fa
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 0x5405ff
mov ebp, eax
test edi, edi
je 0x53f9a0
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 0x53f913
cmp cl, 0x4c
jne 0x53f9c2
cmp edx, 3
jb 0x53f9c2
movsx eax, byte [eax + 2]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x53f644
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x5411c0
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xec], 0x5763db
mov dword [esp + 0xf0], 0x5763dc
movsd xmm0, qword [esp + 0xec]
jmp 0x5404dc
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 0x53fa5b
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 0x5405ff
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 0x53fa68
cmp byte [eax], 0x45
je 0x540129
mov ecx, esi
call fcn.005423d0
test eax, eax
je case.0x53f4dd.58
mov ebx, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
jne 0x53fa4e
mov ecx, dword [esi + 8]
sub edi, ecx
lea eax, [edi + edi]
cmp ecx, dword [esp + 0x20]
jne 0x53fa17
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 0x5405ff
mov ebp, eax
test edi, edi
je 0x53fabd
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 0x53fa30
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x104], 0x5763d2
mov dword [esp + 0x108], 0x5763d4
movsd xmm0, qword [esp + 0x104]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xfc], 0x5763d5
mov dword [esp + 0x100], 0x5763d7
movsd xmm0, qword [esp + 0xfc]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xe4], 0x5763dd
mov dword [esp + 0xe8], 0x5763df
movsd xmm0, qword [esp + 0xe4]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xdc], 0x5763e0
mov dword [esp + 0xe0], 0x5763e2
movsd xmm0, qword [esp + 0xdc]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xcc], 0x5763e7
mov dword [esp + 0xd0], 0x5763e8
movsd xmm0, qword [esp + 0xcc]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x84], 0x576404
mov dword [esp + 0x88], 0x576406
movsd xmm0, qword [esp + 0x84]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x7c], 0x576407
mov dword [esp + 0x80], 0x576408
movsd xmm0, qword [esp + 0x7c]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0x14], eax
xor ebp, ebp
test eax, eax
je case.0x53f4dd.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 0x53fc3e
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 0x5405ff
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 0x53fc4e
cmp byte [eax], 0x45
je 0x540557
mov ecx, esi
call fcn.0053f480
test eax, eax
je 0x5405f8
mov ebx, eax
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 0x10]
jne 0x53fc35
mov edi, dword [esi + 8]
sub ebp, edi
mov eax, ebp
add eax, ebp
cmp edi, dword [esp + 0x20]
jne 0x53fc0e
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x5405ff
test ebp, ebp
je 0x53fc9e
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 0x53fc25
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x134], 0x5763b3
mov dword [esp + 0x138], 0x5763b4
movsd xmm0, qword [esp + 0x134]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x12c], 0x5763b5
mov dword [esp + 0x130], 0x5763b6
movsd xmm0, qword [esp + 0x12c]
jmp 0x5403df
mov ecx, esi
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.00541860
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xac], 0x5763ee
mov dword [esp + 0xb0], 0x5763f0
movsd xmm0, qword [esp + 0xac]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xc4], 0x5763e9
mov dword [esp + 0xc8], 0x5763ea
movsd xmm0, qword [esp + 0xc4]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xb4], 0x5763c4
mov dword [esp + 0xb8], 0x5763c5
movsd xmm0, qword [esp + 0xb4]
jmp 0x5404dc
lea edx, [eax + 2]
mov dword [esi], edx
cmp edx, ecx
je 0x540338
cmp byte [edx], 0x5f
jne 0x540338
add eax, 3
mov dword [esi], eax
mov dword [esp + 0xa4], 0x5763f1
mov dword [esp + 0xa8], 0x5763f3
movsd xmm0, qword [esp + 0xa4]
jmp 0x5403df
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x2c], 0x576434
mov dword [esp + 0x30], 0x576437
movsd xmm0, qword [esp + 0x2c]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053b080
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0x14], eax
test eax, eax
je 0x5405f8
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00542c50
jmp 0x5405f1
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x44], 0x57642c
mov dword [esp + 0x48], 0x57642d
movsd xmm0, qword [esp + 0x44]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x34], 0x576431
mov dword [esp + 0x38], 0x576433
movsd xmm0, qword [esp + 0x34]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053b080
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, esi
mov edx, str.typeid__
call fcn.00542df0
jmp 0x5405f1
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053b080
mov dword [esp + 0x14], eax
xor ebp, ebp
test eax, eax
je case.0x53f4dd.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 0x53ff01
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 0x5405ff
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 0x53ff11
cmp byte [eax], 0x45
je 0x540597
mov ecx, esi
call fcn.005423d0
test eax, eax
je case.0x53f4dd.58
mov ebx, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
jne 0x53fef9
mov ecx, dword [esi + 8]
sub edi, ecx
lea eax, [edi + edi]
cmp ecx, dword [esp + 0x20]
jne 0x53fec2
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 0x5405ff
mov ebp, eax
test edi, edi
je 0x53ff66
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 0x53fedb
add eax, 2
mov dword [esi], eax
mov ecx, esi
mov edx, 0x576462
add esp, 0x164
pop esi
pop edi
pop ebx
pop ebp
jmp 0x5430c0
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00543150
jmp 0x5405f1
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x9c], 0x5763f4
mov dword [esp + 0xa0], 0x5763f6
movsd xmm0, qword [esp + 0x9c]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x94], 0x5763e9
mov dword [esp + 0x98], 0x5763ea
movsd xmm0, qword [esp + 0x94]
jmp 0x5403df
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x8c], 0x5763f7
mov dword [esp + 0x90], 0x5763f8
movsd xmm0, qword [esp + 0x8c]
jmp 0x5403df
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00542b20
jmp 0x5405f1
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x64], 0x576410
mov dword [esp + 0x68], 0x576411
movsd xmm0, qword [esp + 0x64]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x6c], 0x57640c
mov dword [esp + 0x70], 0x57640f
movsd xmm0, qword [esp + 0x6c]
jmp 0x5404dc
lea edx, [eax + 2]
mov dword [esi], edx
cmp edx, ecx
je 0x5404ed
cmp byte [edx], 0x5f
jne 0x5404ed
add eax, 3
mov dword [esi], eax
mov dword [esp + 0x54], 0x576415
mov dword [esp + 0x58], 0x576417
movsd xmm0, qword [esp + 0x54]
jmp 0x5403df
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x4c], 0x576410
mov dword [esp + 0x50], 0x576411
movsd xmm0, qword [esp + 0x4c]
jmp 0x5403df
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0x14], eax
test eax, eax
je 0x5405f8
lea eax, [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0x576418
jmp 0x540466
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.00544e60
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.00542610
jmp 0x5405f1
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x13c], 0x57639c
mov dword [esp + 0x140], 0x57639d
movsd xmm0, qword [esp + 0x13c]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x15c], 0x576394
mov dword [esp + 0x160], 0x576396
movsd xmm0, qword [esp + 0x15c]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x154], 0x576397
mov dword [esp + 0x158], 0x576398
movsd xmm0, qword [esp + 0x154]
jmp 0x5403df
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x14c], 0x576397
mov dword [esp + 0x150], 0x576398
movsd xmm0, qword [esp + 0x14c]
jmp 0x5404dc
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053b080
jmp 0x54022a
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, esi
mov edx, str.alignof__
call 0x540610
jmp 0x5405f1
add eax, 2
mov dword [esi], eax
cmp ecx, eax
je case.0x53f4dd.58
mov al, byte [eax]
cmp al, 0x66
je 0x5405d7
cmp al, 0x54
jne case.0x53f4dd.58
mov ecx, esi
call fcn.0053e370
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00542e90
jmp 0x5405f1
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053b080
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0x14], eax
test eax, eax
je 0x5405f8
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00542ce0
jmp 0x5405f1
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00542d70
jmp 0x5405f1
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053b080
jmp 0x540314
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
lea eax, [esp + 0xc]
mov dword [esp], eax
mov ecx, esi
mov edx, str.sizeof__
call fcn.00542df0
jmp 0x5405f1
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
mov dword [esp], 0x5763f1
jmp 0x540507
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
mov byte [esp + 0x14], 1
jmp 0x54040d
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053b080
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0x14], eax
test eax, eax
je 0x5405f8
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00541c50
jmp 0x5405f1
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x124], 0x5763c4
mov dword [esp + 0x128], 0x5763c5
movsd xmm0, qword [esp + 0x124]
movsd qword [esp], xmm0
mov ecx, esi
call fcn.005416a0
jmp 0x53f49e
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
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.00541bc0
jmp 0x5405f1
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0x14], eax
test eax, eax
je 0x5405f8
lea eax, [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0x5763c6
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00542220
jmp 0x5405f1
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0x14], eax
test eax, eax
je 0x5405f8
lea eax, [esp + 0x14]
mov dword [esp], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.005422c0
jmp 0x5405f1
add eax, 2
mov dword [esi], eax
mov dword [esp + 0x11c], 0x5763cb
mov dword [esp + 0x120], 0x5763cc
movsd xmm0, qword [esp + 0x11c]
movsd qword [esp], xmm0
mov ecx, esi
call fcn.005415f0
jmp 0x53f49e
mov ecx, esi
call fcn.0053f480
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
mov dword [esp], 0x576415
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.005426a0
jmp 0x5405f1
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.00544e60
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.00542fb0
mov dword [esp + 0xc], eax
jmp 0x5405e6
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.00544e60
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.005417d0
jmp 0x5405f1
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.00544e60
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.00543030
jmp 0x5405f1
mov ecx, esi
call fcn.00540fa0
mov dword [esp + 0xc], eax
test eax, eax
je 0x5405f8
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00542f10
mov ebp, eax
jmp case.0x53f4dd.58
xor ebp, ebp
jmp case.0x53f4dd.58
call fcn.004949d0
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 0x540652
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x5406aa
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], 0x57727c
mov dword [ebx + ebp - 0x10], esi
mov dword [ebx + ebp - 0xc], eax
mov dword [ebx + ebp - 8], ecx
mov dword [ebx + ebp - 4], 0x576392
mov dword [ebx + ebp], 0x576393
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004949d0
nop