Function at 0x408800
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b087d
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push esi
push edi
mov eax, dword [0x4e1654]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 8]
lea ecx, [edi + 0x74]
movzx eax, al
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00402570
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x408855
mov ecx, dword [edi + 0x78]
cmp ecx, dword [edi + 0x78]
je 0x4088c7
mov ecx, dword [ecx + 0xc]
lea edx, [ebp + 8]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp + 8]
movq xmm0, qword [ebp + 0xc]
mov dword [ebp - 4], 0
movq qword [ecx + 4], xmm0
mov eax, dword [ebp + 0x14]
mov dword [ecx + 0xc], eax
lea ecx, [edi + 0x68]
mov edx, dword [ebp + 8]
mov dword [ebp + 8], 0
mov dword [ebp - 0x10], edx
mov eax, dword [ecx + 4]
mov byte [ebp - 4], 1
cmp eax, dword [ecx + 8]
je 0x4088a7
mov dword [eax], edx
add dword [ecx + 4], 4
jmp 0x409744
lea edx, [ebp - 0x10]
push edx
push eax
call fcn.00402320
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x409744
mov eax, dword [ecx]
push 1
call dword [eax]
jmp 0x409744
mov eax, dword [ebp + 8]
movsx eax, al
add eax, 0xffffffdf
cmp eax, 0x59
ja case.0x4088e0.34
movzx eax, byte [eax + 0x409810]
jmp dword [eax*4 + 0x409764]
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040bb90
add esp, 8
mov edx, dword [eax]
mov dword [ebp - 4], 2
mov dword [eax], 0
mov dword [ebp + 8], edx
lea eax, [ebp + 8]
mov byte [ebp - 4], 3
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x408926
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [ebp - 0x14]
call fcn.00418eb0
mov byte [edi + 0x38], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x40896e
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9aa4
jmp 0x408970
xor eax, eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 5
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x4089bf
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9aac
jmp 0x4089c1
xor eax, eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 7
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408a10
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9ab4
jmp 0x408a12
xor eax, eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 9
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408a61
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9abc
jmp 0x408a63
xor eax, eax
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408ab2
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9ac4
jmp 0x408ab4
xor eax, eax
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408b03
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9acc
jmp 0x408b05
xor eax, eax
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0xf
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408b48
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9ad4
jmp 0x408b4a
xor eax, eax
mov dword [ebp - 4], 0x10
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x11
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408b8d
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9adc
jmp 0x408b8f
xor eax, eax
mov dword [ebp - 4], 0x12
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x13
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408bd2
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9ae4
jmp 0x408bd4
xor eax, eax
mov dword [ebp - 4], 0x14
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x15
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408c17
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9aec
jmp 0x408c19
xor eax, eax
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x17
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408c5c
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9af4
jmp 0x408c5e
xor eax, eax
mov dword [ebp - 4], 0x18
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x19
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408ca1
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9afc
jmp 0x408ca3
xor eax, eax
mov dword [ebp - 4], 0x1a
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x1b
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408ce6
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b04
jmp 0x408ce8
xor eax, eax
mov dword [ebp - 4], 0x1c
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x1d
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408d2b
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b0c
jmp 0x408d2d
xor eax, eax
mov dword [ebp - 4], 0x1e
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x1f
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408d70
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b14
jmp 0x408d72
xor eax, eax
mov dword [ebp - 4], 0x20
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x21
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408db5
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b1c
jmp 0x408db7
xor eax, eax
mov dword [ebp - 4], 0x22
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x23
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408dfa
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b24
jmp 0x408dfc
xor eax, eax
mov dword [ebp - 4], 0x24
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x25
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408e3f
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b2c
jmp 0x408e41
xor eax, eax
mov dword [ebp - 4], 0x26
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x27
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408e84
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b34
jmp 0x408e86
xor eax, eax
mov dword [ebp - 4], 0x28
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x29
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408ec9
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b3c
jmp 0x408ecb
xor eax, eax
mov dword [ebp - 4], 0x2a
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408f1a
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b44
jmp 0x408f1c
xor eax, eax
mov dword [ebp - 4], 0x2c
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408f6b
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b4c
jmp 0x408f6d
xor eax, eax
mov dword [ebp - 4], 0x2e
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x408fbc
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b54
jmp 0x408fbe
xor eax, eax
mov dword [ebp - 4], 0x30
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x31
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x40900d
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b5c
jmp 0x40900f
xor eax, eax
mov dword [ebp - 4], 0x32
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x33
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x409052
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b64
jmp 0x409054
xor eax, eax
mov dword [ebp - 4], 0x34
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x35
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x409097
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b6c
jmp 0x409099
xor eax, eax
mov dword [ebp - 4], 0x36
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x37
jmp 0x40914a
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x4090dc
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b74
jmp 0x4090de
xor eax, eax
mov dword [ebp - 4], 0x38
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x39
jmp 0x40914a
push 0x20
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x409133
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b7c
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
jmp 0x409135
xor eax, eax
mov dword [ebp - 4], 0x3a
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x3b
lea eax, [ebp + 8]
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x409163
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [edi + 0x38], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x4091a3
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b84
jmp 0x4091a5
xor eax, eax
mov dword [ebp - 4], 0x3c
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x3d
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040baf0
add esp, 8
mov edx, dword [eax]
mov dword [ebp - 4], 0x3e
mov dword [eax], 0
mov dword [ebp + 8], edx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x40920a
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x409751
push 0x10
push eax
call fcn.0048aa81
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040bb40
add esp, 8
mov edx, dword [eax]
mov dword [ebp - 4], 0x40
mov dword [eax], 0
mov dword [ebp + 8], edx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x41
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x409272
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x409751
push 0x10
push eax
call fcn.0048aa81
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x4092c4
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b8c
jmp 0x4092c6
xor eax, eax
mov dword [ebp - 4], 0x42
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x409315
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b94
jmp 0x409317
xor eax, eax
mov dword [ebp - 4], 0x44
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x45
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x409366
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9b9c
jmp 0x409368
xor eax, eax
mov dword [ebp - 4], 0x46
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x47
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x10
call fcn.0048aa51
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x4093b7
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], ecx
mov dword [eax], 0x4b9ba4
jmp 0x4093b9
xor eax, eax
mov dword [ebp - 4], 0x48
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x49
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040b9c0
add esp, 8
mov edx, dword [eax]
mov dword [ebp - 4], 0x4a
mov dword [eax], 0
mov dword [ebp + 8], edx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x4b
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x40941e
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x409751
push 0x10
push eax
call fcn.0048aa81
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp + 0xb]
mov byte [ebp + 0xb], 0x25
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040baa0
add esp, 8
mov edx, dword [eax]
mov dword [ebp - 4], 0x4c
mov dword [eax], 0
mov dword [ebp + 8], edx
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x4d
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x40948a
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x409751
push 0x14
push eax
call fcn.0048aa81
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
push 0x18
call fcn.0048aa51
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
test esi, esi
je 0x4094e9
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [esi + 4], xmm0
mov dword [esi + 0xc], ecx
mov dword [esi], 0x4b9bb4
call fcn.00473de7
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp 0x4094eb
xor esi, esi
mov dword [ebp - 4], 0x4e
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], esi
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x18
call fcn.0048aa51
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
test esi, esi
je 0x409547
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [esi + 4], xmm0
mov dword [esi + 0xc], ecx
mov dword [esi], 0x4b9bbc
call fcn.00473de7
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp 0x409549
xor esi, esi
mov dword [ebp - 4], 0x50
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], esi
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x51
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x18
call fcn.0048aa51
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
test esi, esi
je 0x4095a5
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [esi + 4], xmm0
mov dword [esi + 0xc], ecx
mov dword [esi], 0x4b9bc4
call fcn.00473de7
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp 0x4095a7
xor esi, esi
mov dword [ebp - 4], 0x52
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], esi
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x53
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
push 0x18
call fcn.0048aa51
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
test esi, esi
je 0x409603
movq xmm0, qword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
movq qword [esi + 4], xmm0
mov dword [esi + 0xc], ecx
mov dword [esi], 0x4b9bcc
call fcn.00473de7
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp 0x409605
xor esi, esi
mov dword [ebp - 4], 0x54
mov dword [ebp - 0x18], 0
mov dword [ebp + 8], esi
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x55
push eax
lea ecx, [edi + 0x68]
call fcn.00426c70
jmp 0x409744
lea eax, [ebp - 0x10]
push eax
call fcn.0040ba10
add esp, 4
add edi, 0x68
mov dword [ebp - 4], 0x56
cmp byte [ebp + 0x14], 0
jne 0x409699
mov eax, dword [ebp - 0x10]
push 0x25
mov dword [ebp - 0x14], eax
lea esi, [eax + 0x10]
mov ecx, esi
call fcn.004269b0
push dword [ebp + 8]
mov ecx, esi
call fcn.004269b0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0
mov dword [ebp + 8], ecx
mov eax, dword [edi + 4]
mov byte [ebp - 4], 0x57
cmp eax, dword [edi + 8]
je 0x409738
mov dword [eax], ecx
add dword [edi + 4], 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp + 0xc]
mov byte [ebp + 0x14], 0
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040b9c0
add esp, 8
mov ecx, dword [eax]
mov dword [eax], 0
mov dword [ebp - 0x14], ecx
mov eax, dword [edi + 4]
mov byte [ebp - 4], 0x59
cmp eax, dword [edi + 8]
je 0x4096cc
mov dword [eax], ecx
add dword [edi + 4], 4
jmp 0x4096e5
lea ecx, [ebp - 0x14]
push ecx
push eax
mov ecx, edi
call fcn.00402320
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x4096e5
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x56
test eax, eax
je 0x4096fb
push 0x10
push eax
call fcn.0048aa81
add esp, 8
mov esi, dword [ebp - 0x10]
push dword [ebp + 8]
lea ecx, [esi + 0x10]
call fcn.004269b0
mov dword [ebp - 0x10], 0
mov dword [ebp + 8], esi
mov eax, dword [edi + 4]
mov byte [ebp - 4], 0x5a
cmp eax, dword [edi + 8]
je 0x409738
mov dword [eax], esi
add dword [edi + 4], 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [ebp + 8]
push ecx
push eax
mov ecx, edi
call fcn.00402320
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x409751
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10