Function at 0x457d6c
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff84
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x45a2ef
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetLastError_2
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x40]
cmp eax, edx
jge 0x457dab
lea ecx, [ebp - 0x3c]
lea edx, [ebp - 0x38]
lea eax, [ebp - 0x34]
call fcn.00427640
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x30]
jle 0x457dbb
lea eax, [ebp - 0x2c]
call fcn.00454110
mov eax, dword [ebp - 0x50]
sub eax, 0x267
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x28c
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x270
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x2c], 0x2d5
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2b9
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2bd
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2a1
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2a5
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x28a
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x26e
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x272
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x276
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1f8
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x21c
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x24], eax
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
fild dword [ebp - 0x44]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x38], eax
imul eax, dword [ebp - 0x50], 0x276
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x3c]
jne 0x457eb3
fild dword [ebp - 0x40]
call fcn.00404c64
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jle 0x457ec6
mov eax, dword [ebp - 0x30]
add eax, 0x3e4
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
imul eax, dword [ebp - 0x50], 0x2ab
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jne 0x457e93
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
imul eax, dword [ebp - 0x2c], 0x2e9
mov dword [ebp - 0x50], eax
imul eax, dword [ebp - 0x2c], 0x2cd
mov dword [ebp - 0x50], eax
imul eax, dword [ebp - 0x50], 0x2d2
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2b6
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x29a
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x27e
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x282
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x266
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x24a
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x22f
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x28]
call fcn.00406de4
lea eax, [ebp - 0x28]
mov edx, dword [0x4b4354]
call fcn.00407a68
lea eax, [ebp - 0x28]
mov edx, dword [0x4b4304]
call fcn.00407a68
lea eax, [ebp - 0x28]
mov edx, dword [0x4b4324]
call fcn.00407a68
lea eax, [ebp - 0x28]
mov edx, dword [0x4b433c]
call fcn.00407a68
lea eax, [ebp - 0x28]
mov edx, dword [0x4b433c]
call fcn.00407a68
lea eax, [ebp - 0x28]
mov edx, 0x45a310
call fcn.00407a68
lea eax, [ebp - 0x28]
mov edx, dword [0x4b4324]
call fcn.00407a68
lea eax, [ebp - 0x28]
mov edx, dword [0x4b433c]
call fcn.00407a68
lea eax, [ebp - 0x28]
mov edx, dword [0x4b433c]
call fcn.00407a68
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x34]
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x2c]
call fcn.00453908
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x2c]
call fcn.00453908
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x50]
call fcn.00451750
mov eax, dword [ebp - 0x50]
sub eax, 0x284
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x268
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x24c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x230
mov dword [ebp - 0x48], eax
xor eax, eax
push ebp
push 0x45a0e3
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetLastError_2
mov eax, dword [ebp - 0x44]
add eax, 0x1a7
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x22b
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x230
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x214
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x238
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x21c
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x200
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e5
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1c9
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1ed
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d1
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d5
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
add eax, 0x1ba
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e2
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
add eax, 0x1c6
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1eb
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1cf
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d3
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1b7
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
fild dword [ebp - 0x44]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x38], eax
imul eax, dword [ebp - 0x50], 0x296
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x40]
jne 0x458263
fild dword [ebp - 0x40]
call fcn.00404c64
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
shl eax, 6
mov dword [ebp - 0x34], eax
mov eax, 4
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
imul dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jne 0x458243
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x30]
jle 0x4582a3
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x2c]
call fcn.00451c08
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x2c]
call fcn.00453908
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
imul eax, dword [ebp - 0x50], 0x2d6
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2ba
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
imul eax, dword [ebp - 0x2c], 0x2c7
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x2c], 0x2cb
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2af
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x293
mov dword [ebp - 0x4c], eax
cmp dword [0x4ad7d0], 0
jne 0x45835c
mov edx, 0xc5be25
mov eax, dword [0x4ad6ac]
call fcn.004225e0
mov dword [0x4ad7d0], eax
xor eax, eax
mov dword [ebp - 0x34], eax
imul eax, dword [ebp - 0x50], 0x2aa
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x40]
jne 0x458381
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x3c], 0x75
mov dword [ebp - 0x38], eax
mov eax, 0x3f8
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jne 0x458361
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x30]
jle 0x4583b8
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x2c]
call fcn.004528bc
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x2c], 0x2c2
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
imul eax, dword [ebp - 0x2c], 0x2ce
mov dword [ebp - 0x50], eax
imul eax, dword [ebp - 0x50], 0x2d3
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2b7
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x29b
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x27f
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x263
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x247
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 8]
cmp word [eax], 0x5a4d
je 0x458474
push 0xc1
call sub.kernel32.dll_SetLastError
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45a2d9
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x3c]
add eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp dword [eax], 0x4550
je 0x4584a2
push 0xc1
call sub.kernel32.dll_SetLastError
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45a2d9
mov eax, dword [ebp - 0x48]
add eax, 0x200
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x224
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x248
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x22c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x231
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x215
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x219
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1fd
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x242
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x226
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x20a
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1ee
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d2
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d7
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1bb
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1df
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1c3
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1c7
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d0
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1b4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1b8
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xc]
cmp word [eax + 4], 0x14c
je 0x458646
call sub.kernel32.dll_GetLastError_2
push 0xc1
call sub.kernel32.dll_SetLastError
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45a2d9
mov eax, dword [ebp - 0x44]
add eax, 0x1c7
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x20b
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x20f
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x214
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x238
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x21c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x200
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x205
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e9
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x20d
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1f1
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1f5
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1fa
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1fe
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e2
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e6
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1eb
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1cf
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x213
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x218
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1fc
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x200
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e4
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xc]
test byte [eax + 0x38], 1
je 0x4587bb
push 0xc1
call sub.kernel32.dll_SetLastError
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45a2d9
call sub.kernel32.dll_GetLastError_2
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x28a
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x40]
jne 0x4587e6
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x40]
cmp eax, edx
jge 0x4587ff
mov eax, dword [ebp - 0x38]
add eax, 0x39
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jne 0x4587c5
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
call fcn.00454110
mov eax, dword [ebp - 0x4c]
add eax, 0x22c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x230
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x214
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1f9
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1fd
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x201
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e5
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1c9
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1ce
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d6
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1fa
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1ff
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e3
mov dword [ebp - 0x44], eax
cmp dword [0x4ad734], 0
jne 0x458927
mov edx, 0x9290e8
mov eax, dword [0x4ad6a8]
call fcn.004225e0
mov dword [0x4ad734], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x2c]
jle 0x458942
mov eax, dword [ebp - 0x48]
add eax, 0x1fe
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x38]
jne 0x458958
fild dword [ebp - 0x40]
call fcn.00404c64
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x3c]
cmp eax, edx
jge 0x458973
mov eax, 0x3ed
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add eax, 0x3b1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jne 0x45892c
lea edx, [ebp - 0x30]
lea eax, [ebp - 0x2c]
call fcn.00453b38
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
imul eax, dword [ebp - 0x2c], 0x2ca
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x2c], 0x2ce
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2b2
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2b6
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x29a
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x29f
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x283
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x267
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x24b
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x24f
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x233
mov dword [ebp - 0x48], eax
push 4
push 0x3000
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x50]
push eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x34]
push eax
call dword [0x4ad734]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x458d64
xor eax, eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jle 0x458a74
mov eax, dword [ebp - 0x48]
add eax, 0x1ce
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x44]
cmp eax, edx
jle 0x458a8e
imul eax, dword [ebp - 0x3c], 0xb6
mov dword [ebp - 0x38], eax
mov eax, 0x3f9
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
add eax, 0x37d
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jne 0x458a53
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x30]
jle 0x458aca
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x2c]
call fcn.00451944
imul eax, dword [ebp - 0x50], 0x2cd
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2b1
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x295
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x259
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x23d
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x242
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x226
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x20a
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1ee
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d2
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d6
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x21b
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1ff
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x203
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
push 4
push 0x3000
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x50]
push eax
push 0
call dword [0x4ad734]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x458d64
push 0xe
call sub.kernel32.dll_SetLastError
mov eax, dword [ebp - 0x48]
add eax, 0x1d6
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x1fa
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x23f
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x223
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x227
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x22b
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x20f
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1f3
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d8
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1fc
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x200
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1c8
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1cd
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1b1
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1b5
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1b9
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1be
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 0x1c2
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1ea
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1cf
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45a2d9
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x20e
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x213
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x217
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x23b
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x220
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x204
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e8
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1ec
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d0
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1f5
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d9
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1dd
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1c1
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1c5
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1a9
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1db
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1bf
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
add eax, 0x1a3
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
cmp dword [0x4ad7d8], 0
jne 0x458f26
mov edx, 0xba369b
mov eax, dword [0x4ad6ac]
call fcn.004225e0
mov dword [0x4ad7d8], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x216
mov dword [ebp - 0x48], eax
cmp dword [0x4ad7c8], 0
jne 0x458f4e
mov edx, 0xc07415
mov eax, dword [0x4ad6a8]
call fcn.004225e0
mov dword [0x4ad7c8], eax
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 1
jge 0x458fad
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x50]
sub eax, 0x26e
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x40]
jne 0x458f7d
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x40]
cmp eax, edx
jge 0x458f94
imul eax, dword [ebp - 0x38], 0x1c
mov dword [ebp - 0x34], eax
xor eax, eax
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
add eax, 0x384
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x30], 1
jl 0x458f59
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x3c]
cmp eax, edx
jge 0x458fd3
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x34]
lea edx, [ebp - 0x30]
lea eax, [ebp - 0x2c]
call fcn.00457904
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x3c]
cmp eax, edx
jge 0x458fe8
call fcn.0045515c
mov eax, dword [ebp - 0x48]
add eax, 0x1d7
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1dc
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e0
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1c4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d1
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1b5
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x44]
call fcn.00404c70
mov dword [ebp - 0x40], eax
push 0x1c
push 8
call dword [0x4ad7c8]
push eax
call dword [0x4ad7d8]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x45962b
cmp dword [0x4ad73c], 0
jne 0x459116
mov edx, 0x9de2bd
mov eax, dword [0x4ad6a8]
call fcn.004225e0
mov dword [0x4ad73c], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x28d
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x40]
jne 0x45913c
fild dword [ebp - 0x44]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x40]
cmp eax, edx
jge 0x459157
mov eax, 0x1b
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add eax, 0x3bf
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jne 0x45911b
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x30]
jle 0x459181
lea eax, [ebp - 0x2c]
call fcn.00454110
mov eax, dword [ebp - 0x50]
sub eax, 0x26e
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x253
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x237
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x21b
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1ff
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e3
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x207
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1ec
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d0
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1f8
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1dc
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x201
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e5
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1c9
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x44], eax
push 0x8000
push 0
mov eax, dword [ebp - 0x10]
push eax
call dword [0x4ad73c]
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jle 0x4592c7
mov eax, dword [ebp - 0x48]
add eax, 0x1da
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x40]
cmp eax, edx
jle 0x4592e2
fild dword [ebp - 0x3c]
call fcn.00404c64
mov dword [ebp - 0x38], eax
mov eax, 0x45
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add eax, 0x3c9
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jne 0x4592a6
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x2c]
cmp eax, 0x1f4
jge 0x459322
lea edx, [ebp - 0x50]
lea eax, [ebp - 0x4c]
call fcn.0044ed38
mov eax, dword [ebp - 0x4c]
add eax, 0x238
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x21c
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x200
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e5
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1c9
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1be
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x44]
call fcn.00404c70
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jle 0x45946c
mov eax, dword [ebp - 0x44]
add eax, 0x1c0
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x40]
cmp eax, edx
jge 0x459487
mov eax, 0x27
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
imul dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
imul eax, dword [ebp - 0x50], 0x2ce
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x40]
jne 0x4594b0
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jne 0x45944b
push 0xe
call sub.kernel32.dll_SetLastError
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 1
jge 0x459525
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jle 0x4594ef
mov eax, dword [ebp - 0x48]
add eax, 0x1cc
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x44]
cmp eax, edx
jle 0x459509
imul eax, dword [ebp - 0x3c], 0x93
mov dword [ebp - 0x38], eax
mov eax, 0x3f7
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
add eax, 0x37b
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x30], 1
jl 0x4594cb
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jle 0x45953b
lea ecx, [ebp - 0x34]
lea edx, [ebp - 0x30]
lea eax, [ebp - 0x2c]
call fcn.0045466c
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x2c]
call fcn.00452ae0
mov eax, dword [ebp - 0x4c]
sub eax, 0x24a
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x22e
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x233
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1f7
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1db
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1bf
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1c3
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d0
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
add eax, 0x1b8
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45a2d9
mov eax, dword [ebp - 0x48]
add eax, 0x201
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e5
mov dword [ebp - 0x44], eax
call sub.kernel32.dll_GetLastError_2
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x30]
imul dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x30]
jle 0x459672
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x2c]
call fcn.00451c08
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x2c]
call fcn.00452ae0
imul eax, dword [ebp - 0x50], 0x292
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x297
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x29b
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x29f
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x283
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x2c], 0x2c8
mov dword [ebp - 0x4c], eax
cmp dword [0x4ad714], 0
jne 0x4596d6
mov edx, 0x1061a45
mov eax, dword [0x4ad6a8]
call fcn.004225e0
mov dword [0x4ad714], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1fa
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x23e
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x263
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x247
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x26b
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x26f
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x274
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x258
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x23c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x260
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x245
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x229
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x20d
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x211
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1f5
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1d9
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1bd
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 0x1a2
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e6
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1ca
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1ce
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1f7
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x78]
push eax
call dword [0x4ad714]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x18], edx
imul eax, dword [ebp - 0x2c], 0x2cf
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
cmp dword [0x4ad734], 0
jne 0x459897
mov edx, 0x9290e8
mov eax, dword [0x4ad6a8]
call fcn.004225e0
mov dword [0x4ad734], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
push 4
push 0x1000
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x54]
push eax
mov eax, dword [ebp - 0x10]
push eax
call dword [0x4ad734]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x54]
call fcn.00404b38
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 1
jge 0x459962
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jle 0x459928
mov eax, dword [ebp - 0x48]
add eax, 0x1e2
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x44]
cmp eax, edx
jle 0x459942
imul eax, dword [ebp - 0x3c], 0xa9
mov dword [ebp - 0x38], eax
mov eax, 0x3ed
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x30], 1
jl 0x459904
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x34]
lea edx, [ebp - 0x30]
lea eax, [ebp - 0x2c]
call fcn.004543b0
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 1
jge 0x4599d6
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x3c]
jne 0x4599a6
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x3c]
cmp eax, edx
jge 0x4599c1
mov eax, 0x3ef
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x30], 1
jl 0x45998d
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
imul eax, dword [ebp - 0x50], 0x2cf
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2d4
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2b8
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x29c
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x280
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x284
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x268
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x3c]
add eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
mov dword [edx], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x211
mov dword [ebp - 0x44], eax
call sub.kernel32.dll_GetLastError_2
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
call fcn.00450b1c
test al, al
jne 0x459a81
call fcn.0044e8bc
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
sub edx, dword [eax + 0x34]
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0
je 0x459aa6
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
call fcn.004548ac
mov edx, dword [ebp - 0x24]
mov byte [edx + 0x15], al
jmp 0x459aad
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x15], 1
mov eax, dword [ebp - 0x24]
push eax
call fcn.0045538c
test al, al
jne 0x459abf
call fcn.0044e8bc
mov eax, dword [ebp - 0x24]
call fcn.00452d30
test al, al
jne 0x459ad0
call fcn.0044e8bc
mov eax, dword [ebp - 0x24]
call fcn.00453d7c
test al, al
jne 0x459ae1
call fcn.0044e8bc
mov eax, dword [ebp - 0x4c]
add eax, 0x25f
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
cmp dword [eax + 0x28], 0
je 0x459faf
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov eax, dword [eax + 0x28]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
push 0
push 1
mov eax, dword [ebp - 0x10]
push eax
call dword [ebp - 0x1c]
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x1d], al
cmp byte [ebp - 0x1d], 0
jne 0x459fa8
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, 0x53
sub eax, dword [ebp - 0x34]
cmp eax, 0xee
jge 0x459b4b
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x50]
call fcn.00451750
imul eax, dword [ebp - 0x50], 0x2a1
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2c5
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2a9
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x26d
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x251
mov dword [ebp - 0x48], eax
push 0x45a
call sub.kernel32.dll_SetLastError
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1de
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x222
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1e6
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x1ca
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
fild dword [ebp - 0x44]
call fcn.00404c70
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x38], eax
imul eax, dword [ebp - 0x50], 0x2a0
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x3c]
jne 0x459c4d
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x3c]
cmp eax, edx
jge 0x459c63
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
imul eax, dword [ebp - 0x2c], 0x2f2
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x40]
jne 0x459c83
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jne 0x459c2d
fild dword [ebp - 0x44]
call fcn.00404c70
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x44]
call fcn.00404c70
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jle 0x459cd1
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x40]
cmp eax, edx
jge 0x459cec
mov eax, 0x15
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x4c]
jle 0x459d11
fild dword [ebp - 0x44]
call fcn.00404c70
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jne 0x459cb2
fild dword [ebp - 0x44]
call fcn.00404c70
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jle 0x459d54
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x40]
cmp eax, edx
jge 0x459d6f
mov eax, 0x3fb
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x282
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x3c]
jne 0x459d95
imul eax, dword [ebp - 0x3c], 0xc9
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jne 0x459d35
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jle 0x459dcd
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x40]
cmp eax, edx
jge 0x459de8
mov eax, dword [ebp - 0x38]
add eax, 0x3dd
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x264
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x38]
jne 0x459e0f
fild dword [ebp - 0x40]
call fcn.00404c64
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jne 0x459dae
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jle 0x459e3c
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x3c]
cmp eax, edx
jge 0x459e57
mov eax, dword [ebp - 0x38]
add eax, 0x3fb
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jle 0x459e7c
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x40]
cmp eax, edx
jge 0x459e97
mov eax, 0x2c
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jne 0x459e1d
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 1
jge 0x459f0c
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x4c]
jle 0x459ed1
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x3c]
cmp eax, edx
jge 0x459ee7
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x4c]
jle 0x459f06
fild dword [ebp - 0x40]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x30], 1
jl 0x459eaf
fild dword [ebp - 0x44]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jle 0x459f3b
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x3c]
cmp eax, edx
jge 0x459f56
mov eax, dword [ebp - 0x38]
add eax, 0x3da
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jle 0x459f7b
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x40]
cmp eax, edx
jge 0x459f96
mov eax, 0xb
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jne 0x459f1c
call fcn.0044e8bc
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x14], 1
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x285
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x40]
jne 0x459fde
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c70
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x40]
cmp eax, edx
jle 0x459ff9
mov eax, 0x33
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
imul eax, dword [ebp - 0x50], 0x2ba
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jne 0x459fb4
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
imul eax, dword [ebp - 0x50], 0x2b0
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2d4
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x2b8
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x50], 0x29c
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x280
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x264
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x249
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x22d
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x211
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x235
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0x219
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
call fcn.00404c64
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x21e
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 0x202
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45a29a
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45a2f6
lea eax, [ebp - 0x28]
call fcn.00406de4
ret