Function at 0x10002714
Capabilities:
Print debug messages
Read file on windows
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebx
mov ebx, esp
and esp, 0xfffffff8
push edi
push esi
push ebp
sub esp, 0x1f4
mov ebp, dword [ebx + 8]
mov dword [esp + 0xb0], 0xffffffec
xor eax, eax
mov dword [esp + 0x48], eax
xor esi, esi
mov dword [esp + 0x84], esi
xor edi, edi
mov dword [esp + 0x88], edi
xor esi, esi
xor edi, edi
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0xa0], eax
xor eax, eax
mov dword [esp + 0x68], eax
xor eax, eax
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x60], eax
xor eax, eax
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x98], eax
xor eax, eax
mov dword [esp + 0x8c], eax
xor eax, eax
mov dword [esp + 0x90], eax
xor eax, eax
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x58], eax
xor eax, eax
mov dword [esp + 0x78], eax
xor eax, eax
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 8]
cdq
push edx
push eax
push ecx
push 0x400
call fcn.10076230
fld qword [0x10320088]
fld qword [0x10320088]
fxch st(1)
fstp qword [esp + 0x38]
fstp qword [esp + 0x40]
mov dword [esp + 0x50], edx
xor edx, edx
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x254]
mov dword [ebp + 0x14678], edx
test eax, eax
mov dword [ebp + 0x4d4], edx
mov dword [ebp + 0x1467c], edx
je 0x1000283f
push 0x186a0
call fcn.10076264
pop ecx
mov dword [ebp + 0x4d4], eax
test eax, eax
je 0x10004d7e
mov eax, dword [ebp]
cmp eax, 3
jne 0x100028d8
lea eax, [ebp + 0xc]
xor edx, edx
push edx
push 0x80
push 2
push edx
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp + 0x4cc], eax
cmp eax, 0xffffffff
je 0x10002b6b
lea edx, [esp + 0xb0]
lea ecx, [esp + 0x1e8]
push 0
push ecx
push 4
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x100028a5
mov eax, dword [esp + 0x1e8]
cmp eax, 4
je 0x10002b5c
push dword [ebp + 0x4cc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp + 0x4cc], 0xffffffff
push 0x103200ec
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffff9c
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
cmp eax, 4
jl 0x10002b5c
cmp eax, 5
jg 0x10002b5c
lea eax, [ebp + 0xc]
xor edx, edx
push edx
push 0x80
push 3
push edx
push 1
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp + 0x4cc], eax
cmp eax, 0xffffffff
je 0x10004d61
lea edx, [esp + 0xb0]
lea ecx, [esp + 0xb4]
push 0
push ecx
push 4
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x10002b29
mov eax, dword [esp + 0xb4]
cmp eax, 4
jne 0x10002b29
mov eax, dword [esp + 0xb0]
cmp eax, 0xffffffec
je 0x10002987
push dword [ebp + 0x4cc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp + 0x4cc], 0xffffffff
push 0x10320170
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffff9c
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
push 0xaa000
call fcn.10076264
push 0xaa000
mov dword [ebp + 0x14678], eax
call fcn.10076264
add esp, 8
mov dword [ebp + 0x14680], 0x2800
mov dword [ebp + 0x1467c], eax
mov eax, dword [ebp]
xor edx, edx
mov dword [ebp + 0x14684], edx
mov dword [ebp + 0x14688], edx
cmp eax, 4
je 0x1000496c
mov eax, dword [esp + 0x48]
lea ecx, [ebp + 0x145f0]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x30], edi
mov edi, eax
mov dword [esp + 0x34], esi
mov esi, ecx
lea edx, [eax + eax]
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, edx
mov ebp, eax
mov edx, dword [ebx + 8]
lea ecx, [esp + 0xb4]
push 0
push ecx
push 0x44
push esi
push dword [edx + 0x4cc]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x10004958
mov edx, dword [esp + 0xb4]
cmp edx, 0x44
jne 0x10002b88
mov edx, dword [ebx + 8]
mov edx, dword [edx + 0x14680]
cmp edi, edx
jge 0x10002a49
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x14678]
jmp 0x10002ab8
lea ecx, [edx + edx]
add ecx, ecx
add ecx, edx
mov edx, ecx
sar edx, 1
shr edx, 0x1e
add edx, ecx
sar edx, 2
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea ecx, [ecx + edx*4 + 0x44]
mov edx, dword [ebx + 8]
push ecx
push dword [edx + 0x14678]
call fcn.1007639e
add esp, 8
mov edx, dword [ebx + 8]
mov ecx, dword [edx + 0x14680]
mov dword [esp + 0xac], eax
mov dword [edx + 0x14678], eax
lea eax, [ecx + ecx]
add eax, eax
add eax, ecx
mov ecx, eax
sar ecx, 1
shr ecx, 0x1e
add ecx, eax
mov eax, dword [esp + 0xac]
sar ecx, 2
add ecx, 1
mov dword [edx + 0x14680], ecx
mov edx, dword [esi]
mov ecx, dword [esi + 0x3c]
add eax, ebp
mov dword [eax], edx
mov edx, dword [esi + 4]
mov dword [eax + 4], edx
mov edx, dword [esi + 8]
mov dword [eax + 8], edx
mov edx, dword [esi + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esi + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [esi + 0x14]
mov dword [eax + 0x14], edx
mov edx, dword [esi + 0x18]
mov dword [eax + 0x18], edx
mov edx, dword [esi + 0x1c]
mov dword [eax + 0x1c], edx
mov edx, dword [esi + 0x20]
mov dword [eax + 0x20], edx
mov edx, dword [esi + 0x24]
mov dword [eax + 0x24], edx
mov edx, dword [esi + 0x28]
mov dword [eax + 0x28], edx
mov edx, dword [esi + 0x2c]
mov dword [eax + 0x2c], edx
mov edx, dword [esi + 0x30]
mov dword [eax + 0x30], edx
mov edx, dword [esi + 0x34]
mov dword [eax + 0x34], edx
mov edx, dword [esi + 0x38]
mov dword [eax + 0x38], edx
mov edx, dword [esi + 0x40]
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x40], edx
add ebp, 0x44
add edi, 1
jmp 0x100029fd
push dword [ebp + 0x4cc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp + 0x4cc], 0xffffffff
push 0x10320140
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffff9c
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
xor eax, eax
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
push 0x103200c0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffff9c
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
mov esi, dword [esp + 0x34]
mov ebp, dword [ebx + 8]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x30]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x26
je 0x10002baa
test eax, eax
jne 0x100038a1
xor eax, eax
push eax
push eax
push 4
push dword [ebp + 0x4cc]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, dword [esp + 0x48]
lea edx, [ecx + ecx]
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, edx
mov dword [esp + 0xac], eax
push eax
push dword [ebp + 0x14678]
call fcn.1007639e
mov dword [ebp + 0x14678], eax
mov eax, dword [esp + 0xb4]
push eax
push dword [ebp + 0x1467c]
call fcn.1007639e
add esp, 0x10
mov ecx, dword [esp + 0x48]
mov dword [ebp + 0x1467c], eax
mov eax, dword [ebp]
xor edx, edx
cmp eax, 4
mov dword [ebp + 0x14680], ecx
mov dword [ebp + 0x14684], ecx
mov dword [esp + 0xac], edx
je 0x10003de4
mov edx, dword [ebp + 0x14688]
mov eax, ecx
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0xa8]
cmp edx, eax
jge 0x10002e8f
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, edx
add eax, dword [ebp + 0x14678]
mov edx, dword [eax]
mov ecx, dword [eax + 0x3c]
mov dword [edi], edx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov edx, dword [eax + 8]
mov dword [edi + 8], edx
mov edx, dword [eax + 0xc]
mov dword [edi + 0xc], edx
mov edx, dword [eax + 0x10]
mov dword [edi + 0x10], edx
mov edx, dword [eax + 0x14]
mov dword [edi + 0x14], edx
mov edx, dword [eax + 0x18]
mov dword [edi + 0x18], edx
mov edx, dword [eax + 0x1c]
mov dword [edi + 0x1c], edx
mov edx, dword [eax + 0x20]
mov dword [edi + 0x20], edx
mov edx, dword [eax + 0x24]
mov dword [edi + 0x24], edx
mov edx, dword [eax + 0x28]
mov dword [edi + 0x28], edx
mov edx, dword [eax + 0x2c]
mov dword [edi + 0x2c], edx
mov edx, dword [eax + 0x30]
mov dword [edi + 0x30], edx
mov edx, dword [eax + 0x34]
mov dword [edi + 0x34], edx
mov edx, dword [eax + 0x38]
mov dword [edi + 0x38], edx
mov edx, dword [eax + 0x40]
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x40], edx
mov edx, dword [ebp + 0x14688]
mov eax, dword [ebp + 0x14600]
add edx, 1
mov dword [ebp + 0x14688], edx
test eax, 0x38000000
je 0x10002ce5
mov eax, dword [ebp + 0x14684]
jmp 0x10002c3d
mov eax, dword [esp + 0xac]
push eax
push ebp
call fcn.10005bf8
add esp, 8
cmp eax, 1
jne 0x10002d27
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
add edx, dword [ebp + 0x145f0]
adc eax, 0
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x1461c]
add esi, 1
and eax, 0x80000000
jmp 0x10002e10
mov eax, dword [esp + 0xac]
push eax
push ebp
call fcn.10005bf8
add esp, 8
cmp eax, 2
je 0x100038d4
mov eax, dword [ebp + 0x1461c]
and eax, 0x80000000
je 0x10002da6
mov ecx, dword [esp + 0x30]
mov eax, 0x51eb851f
mov edx, dword [ebp + 0x200]
imul edx, dword [ebp + 0x145f0]
mul edx
shr edx, 5
add edx, dword [ebp + 0x145f0]
mov eax, dword [esp + 0x70]
add eax, edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x6c]
adc eax, 0
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xac]
mov dword [ebp + ecx*4 + 0x4e4], eax
add ecx, 1
mov eax, dword [ebp + 0x1461c]
mov dword [esp + 0x30], ecx
and eax, 0x80000000
jmp 0x10002e10
mov edx, dword [ebp + 0x14600]
test edx, 0x40000000
je 0x10002de3
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
add ecx, dword [ebp + 0x145f0]
adc edx, 0
add dword [esp + 0x84], 1
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
jmp 0x10002e10
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
add ecx, dword [ebp + 0x145f0]
adc edx, 0
add dword [esp + 0x88], 1
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
test eax, eax
je 0x10002e31
mov eax, dword [ebp + 0x14620]
add eax, dword [ebp + 0x14624]
jne 0x10002e76
mov eax, dword [ebp + 0x145f0]
mov dword [esp + 0xa0], eax
jmp 0x10002e76
mov eax, dword [ebp + 0x14600]
test eax, 0x40000000
je 0x10002e5b
mov eax, dword [ebp + 0x14620]
add eax, dword [ebp + 0x14624]
jne 0x10002e76
mov eax, dword [ebp + 0x145f0]
mov dword [esp + 0x9c], eax
jmp 0x10002e76
mov eax, dword [ebp + 0x14620]
add eax, dword [ebp + 0x14624]
jne 0x10002e76
mov eax, dword [ebp + 0x145f0]
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0x14684]
mov edx, dword [ebp + 0x14688]
add dword [esp + 0xac], 1
jmp 0x10002c3d
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0x4c]
lea eax, [edx + edx]
add eax, eax
sub eax, edx
mov dword [ebp + 0x14688], 0
mov dword [ebp + edi*4 + 0x4e4], edx
add eax, eax
add eax, eax
add eax, eax
cdq
sub ecx, eax
mov eax, dword [ebp + 0x47c]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x50]
sbb ecx, edx
mov dword [esp + 0x50], ecx
test eax, eax
je 0x100030b1
cmp eax, 1
jne 0x10002f63
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
add ecx, eax
mov eax, dword [esp + 0x98]
adc eax, edx
mov edx, dword [esp + 0x70]
add ecx, edx
mov edx, dword [esp + 0x6c]
adc eax, edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x1c], eax
fild qword [esp + 0x18]
mov eax, dword [esp + 0x7c]
add ecx, eax
mov eax, dword [esp + 0x74]
adc eax, edx
xor edx, edx
sub edx, ecx
mov ecx, 0
sbb ecx, eax
mov eax, dword [esp + 0x4c]
add edx, eax
mov eax, dword [esp + 0x50]
adc ecx, eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
fild qword [esp + 0x18]
fdivp st(1)
fstp qword [ebp + 0x144f8]
jmp 0x100031da
cmp eax, 2
jne 0x100031da
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
test eax, eax
jge 0x10002f81
add edx, 0x3ff
adc eax, 0
shrd edx, eax, 0xa
fild dword [ebp + 0x48c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x7c]
sar eax, 0xa
mov dword [esp + 0x1c], eax
fild qword [esp + 0x18]
fdivrp st(1)
mov eax, dword [esp + 0x80]
fst qword [ebp + 0x14500]
test eax, eax
jge 0x10002fba
add edx, 0x3ff
adc eax, 0
shrd edx, eax, 0xa
fild dword [ebp + 0x490]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x18], edx
sar eax, 0xa
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x1c], eax
fild qword [esp + 0x18]
fdivrp st(1)
mov eax, dword [esp + 0x94]
fst qword [ebp + 0x14508]
add eax, edx
mov edx, dword [esp + 0x98]
adc edx, ecx
mov ecx, dword [esp + 0x70]
add eax, ecx
mov ecx, dword [esp + 0x6c]
adc edx, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x1c], edx
fild qword [esp + 0x18]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x1c], eax
fild qword [esp + 0x18]
fdivrp st(3)
fxch st(2)
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp qword [esp]
fldcw word [esp + 8]
mov ecx, dword [esp]
sub edx, ecx
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 4]
sbb ecx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1c], eax
fild qword [esp + 0x18]
fdivrp st(1)
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp qword [esp]
fldcw word [esp + 8]
sub edx, dword [esp]
sbb ecx, dword [esp + 4]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
fild qword [esp + 0x18]
fdivp st(1)
fstp qword [ebp + 0x144f8]
jmp 0x100031da
fild dword [ebp + 0x480]
fdivr qword [0x10320078]
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x94]
add edi, eax
mov eax, dword [esp + 0x98]
adc eax, edx
mov edx, dword [esp + 0x70]
add edi, edx
mov edx, dword [esp + 0x6c]
adc eax, edx
add ecx, edi
adc esi, eax
mov edx, dword [esp + 0x7c]
add ecx, edx
mov edx, dword [esp + 0x80]
adc esi, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1c], esi
fild qword [esp + 0x18]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
fild qword [esp + 0x18]
fdivp st(1)
fmulp st(1)
mov dword [esp + 0x18], edi
fst qword [ebp + 0x14508]
fst qword [ebp + 0x14500]
mov dword [esp + 0x1c], eax
fild qword [esp + 0x18]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x1c], eax
fild qword [esp + 0x18]
fdiv st(2)
mov dword [esp + 0x1c], edx
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp qword [esp]
fldcw word [esp + 8]
mov edi, dword [esp]
mov eax, dword [esp + 4]
sub ecx, edi
sbb esi, eax
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x18], eax
fild qword [esp + 0x18]
fdivrp st(2)
fxch st(1)
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp qword [esp]
fldcw word [esp + 8]
sub ecx, dword [esp]
sbb esi, dword [esp + 4]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
fild qword [esp + 0x18]
fdivp st(1)
mov esi, dword [esp + 0x34]
fstp qword [ebp + 0x144f8]
mov eax, dword [esp + 0x84]
test eax, eax
je 0x1000321d
fld qword [0x10320080]
fdiv qword [ebp + 0x144f8]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
fild qword [esp + 0x18]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fdivp st(1)
fmulp st(1)
fstp qword [ebp + 0x14518]
mov eax, dword [esp + 0x88]
test eax, eax
je 0x10003262
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
fild qword [esp + 0x18]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fdivp st(1)
fld qword [0x10320080]
fdiv qword [ebp + 0x144f8]
fmulp st(1)
fst qword [ebp + 0x14510]
jmp 0x1000327d
mov eax, dword [esp + 0x84]
test eax, eax
je 0x10003884
fld qword [ebp + 0x14518]
fst qword [ebp + 0x14510]
mov eax, dword [ebp + 0x21c]
xor edx, edx
mov dword [esp + 0x4c], edx
test eax, eax
je 0x10003499
fild dword [ebp + 0x238]
fmul st(1)
fild dword [ebp + 0x234]
fmul st(2)
fld qword [0x10320070]
fmul st(2), st(0)
fxch st(2)
fadd st(3)
mov eax, dword [ebp + 0x220]
fst qword [ebp + 0x14530]
fsubr st(3)
fstp qword [ebp + 0x14540]
fld qword [0x10320068]
fmul st(1), st(0)
fxch st(1)
fadd st(3)
fst qword [ebp + 0x14538]
test eax, eax
fsubrp st(3)
fxch st(2)
fstp qword [ebp + 0x14548]
je 0x10003365
fld qword [0x10320080]
fld qword [ebp + 0x144f8]
fcom st(1)
fnstsw ax
sahf
jbe 0x10003350
fld qword [0x10320078]
fld qword [0x10320060]
fdivrp st(2)
fadd st(1), st(0)
fild dword [ebp + 0x224]
fmulp st(2)
fxch st(3)
fmulp st(1)
faddp st(2)
fxch st(1)
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp dword [esp + 0x20]
fldcw word [esp + 8]
mov edx, 0x14
mov ecx, dword [esp + 0x20]
cmp ecx, 0x14
mov eax, ecx
jg 0x10003348
mov eax, edx
mov dword [ebp + 0x23c], eax
jmp 0x10003373
fstp st(2)
fstp st(1)
mov dword [ebp + 0x23c], 0x64
mov eax, 0x64
jmp 0x10003373
fstp st(0)
fld qword [0x10320080]
mov eax, dword [ebp + 0x23c]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmulp st(2)
fadd st(1), st(0)
mov eax, dword [ebp + 0x238]
fxch st(1)
fmul qword [0x10320058]
fst qword [ebp + 0x14550]
fsubr st(1)
fst qword [ebp + 0x14558]
cmp eax, 0x64
jle 0x10004db5
mov eax, dword [ebp + 0x230]
cmp eax, 2
je 0x10003451
cmp eax, 1
jne 0x100033f5
fld qword [ebp + 0x14510]
fld qword [ebp + 0x14510]
fld qword [ebp + 0x14540]
fdivr st(4)
fmul st(1), st(0)
fxch st(1)
fadd st(4)
fdivr st(4)
fmul qword [0x10320040]
fmulp st(3)
fxch st(2)
fst qword [ebp + 0x14558]
fmulp st(1)
fmulp st(1)
fsubp st(1)
fstp qword [ebp + 0x14550]
jmp 0x1000349b
test eax, eax
jne 0x10004dbe
fld qword [ebp + 0x14510]
fmul qword [0x10320048]
fld qword [ebp + 0x14540]
fdivr st(3)
fmulp st(1)
fmul qword [0x10320050]
fcos
fld qword [0x10320040]
fld qword [0x10320040]
fsub st(2)
fdivr st(4)
fld qword [0x10320038]
fxch st(1)
fmulp st(2)
fxch st(1)
fmulp st(3)
fxch st(2)
fst qword [ebp + 0x14558]
fxch st(1)
faddp st(2)
fmulp st(1)
faddp st(1)
fstp qword [ebp + 0x14550]
jmp 0x1000349b
fld st(1)
fld qword [ebp + 0x14510]
fmul qword [0x10320048]
fld qword [ebp + 0x14540]
fdivr st(4)
fmulp st(1)
fmul qword [0x10320050]
fsin
fadd st(1), st(0)
fxch st(1)
fdivr st(3)
fxch st(1)
fchs
fxch st(1)
fmul qword [0x10320040]
fmulp st(2)
fxch st(1)
fst qword [ebp + 0x14558]
fmulp st(1)
faddp st(1)
fstp qword [ebp + 0x14550]
jmp 0x1000349b
fstp st(0)
mov eax, dword [ebp + 0x14688]
fldz
fstp qword [esp + 0x28]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x4c]
cmp eax, dword [ebp + 0x14684]
jge 0x10003906
add eax, eax
add eax, eax
lea edx, [eax + eax]
add edx, edx
add edx, edx
add edx, edx
add edx, eax
add edx, dword [ebp + 0x14678]
mov eax, dword [edx]
mov ecx, dword [edx + 0x3c]
mov dword [edi], eax
mov eax, dword [edx + 4]
mov dword [edi + 4], eax
mov eax, dword [edx + 8]
mov dword [edi + 8], eax
mov eax, dword [edx + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [edx + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [edx + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [edx + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [edx + 0x1c]
mov dword [edi + 0x1c], eax
mov eax, dword [edx + 0x20]
mov dword [edi + 0x20], eax
mov eax, dword [edx + 0x24]
mov dword [edi + 0x24], eax
mov eax, dword [edx + 0x28]
mov dword [edi + 0x28], eax
mov eax, dword [edx + 0x2c]
mov dword [edi + 0x2c], eax
mov eax, dword [edx + 0x30]
mov dword [edi + 0x30], eax
mov eax, dword [edx + 0x34]
mov dword [edi + 0x34], eax
mov eax, dword [edx + 0x38]
mov dword [edi + 0x38], eax
mov eax, dword [edx + 0x40]
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x40], eax
mov eax, dword [ebp + 0x14688]
add eax, 1
mov dword [ebp + 0x14688], eax
test esi, esi
jne 0x100035cd
mov ecx, dword [ebp + 0x14620]
mov dword [esp + 0x4c], esi
lea edx, [ecx + 0x58]
sar edx, 2
shr edx, 0x1d
lea edx, [ecx + edx + 0x58]
sar edx, 3
lea esi, [ecx + ecx]
add esi, esi
sub esi, ecx
add esi, esi
add esi, esi
sub esi, ecx
lea ecx, [esi + esi + 0xf0]
sar ecx, 2
shr ecx, 0x1d
lea ecx, [ecx + esi*2 + 0xf0]
mov esi, dword [esp + 0x9c]
sar ecx, 3
cmp edx, esi
jle 0x1000359d
mov esi, edx
mov dword [ebp + 0x144e8], esi
mov esi, dword [esp + 0xa4]
cmp edx, esi
jg 0x100035b0
mov edx, esi
mov esi, dword [esp + 0x4c]
mov dword [ebp + 0x144ec], edx
mov edx, dword [esp + 0xa0]
cmp ecx, edx
jle 0x100035c7
mov edx, ecx
mov dword [ebp + 0x144f0], edx
mov edx, dword [ebp + 0x14600]
test edx, 0x38000000
jne 0x100034ba
push esi
push ebp
call fcn.10005bf8
add esp, 8
test eax, eax
jne 0x10003876
mov eax, dword [ebp + 0x1461c]
test eax, 0x80000000
jne 0x10003876
fild dword [ebp + 0x145f0]
fld qword [0x10320080]
mov eax, dword [ebp + 0x145f0]
shr eax, 0x1f
fxch st(1)
fadd dword [eax*4 + 0x10320090]
fdiv qword [ebp + 0x144f8]
fld qword [esp + 0x38]
fadd st(1)
mov edx, dword [ebp + 0x14600]
fld qword [ebp + 0x14510]
fxch st(1)
fstp qword [esp + 0x38]
and edx, 0x40000000
je 0x10003650
fld qword [ebp + 0x14518]
fdivr st(1)
fmulp st(2)
mov eax, dword [ebp + 0x21c]
test eax, eax
je 0x100037e7
fcom st(1)
fnstsw ax
sahf
jae 0x1000372c
fstp st(2)
fcom qword [ebp + 0x14538]
fnstsw ax
sahf
jb 0x1000368d
fld qword [ebp + 0x14550]
fsub qword [ebp + 0x14558]
fmul st(1)
fstp qword [esp + 0x28]
jmp 0x10003822
mov eax, dword [ebp + 0x230]
cmp eax, 2
je 0x100036fb
cmp eax, 1
jne 0x100036be
fld st(0)
fsub st(2)
fmul qword [ebp + 0x14558]
fdiv qword [ebp + 0x14548]
fsubr qword [ebp + 0x14550]
fmul st(1)
fstp qword [esp + 0x28]
jmp 0x10003822
test eax, eax
jne 0x10003822
fld st(0)
fsub st(2)
fmul qword [0x10320048]
fdiv qword [ebp + 0x14548]
fmul qword [0x10320050]
fcos
fadd qword [0x10320038]
fmul qword [ebp + 0x14558]
fadd qword [ebp + 0x14550]
fmul st(1)
fstp qword [esp + 0x28]
jmp 0x10003822
fld st(0)
fsub st(2)
fmul qword [0x10320048]
fdiv qword [ebp + 0x14548]
fmul qword [0x10320050]
fsin
fchs
fmul qword [ebp + 0x14558]
fadd qword [ebp + 0x14550]
fmul st(1)
fstp qword [esp + 0x28]
jmp 0x10003822
fxch st(1)
fcom qword [ebp + 0x14530]
fnstsw ax
sahf
ja 0x10003746
fstp st(2)
fxch st(1)
fst qword [esp + 0x28]
jmp 0x10003822
mov eax, dword [ebp + 0x230]
cmp eax, 2
je 0x100037b5
cmp eax, 1
jne 0x1000377b
fstp st(2)
fld st(1)
fsub st(1)
fmul qword [ebp + 0x14558]
fdiv qword [ebp + 0x14540]
fsubr qword [ebp + 0x14550]
fmul st(2)
fstp qword [esp + 0x28]
fxch st(1)
jmp 0x10003822
test eax, eax
jne 0x10004dc7
fld st(0)
fsub st(2)
fmul qword [0x10320048]
fdiv qword [ebp + 0x14540]
fmul qword [0x10320050]
fcos
fsubp st(3)
fxch st(2)
fmul qword [ebp + 0x14558]
fadd qword [ebp + 0x14550]
fmul st(2)
fstp qword [esp + 0x28]
fxch st(1)
jmp 0x10003822
fstp st(2)
fld st(1)
fsub st(1)
fmul qword [0x10320048]
fdiv qword [ebp + 0x14540]
fmul qword [0x10320050]
fsin
fchs
fmul qword [ebp + 0x14558]
fadd qword [ebp + 0x14550]
fmul st(2)
fstp qword [esp + 0x28]
fxch st(1)
jmp 0x10003822
fstp st(2)
fcom st(1)
fnstsw ax
sahf
jbe 0x1000380a
fild dword [ebp + 0x214]
fld st(2)
fsub st(2)
fmulp st(1)
fmul qword [0x10320068]
fadd st(1)
fstp qword [esp + 0x28]
jmp 0x10003822
fild dword [ebp + 0x218]
fld st(2)
fsub st(2)
fmulp st(1)
fmul qword [0x10320068]
fadd st(1)
fstp qword [esp + 0x28]
fstp st(0)
test edx, edx
je 0x1000384d
fild dword [ebp + 0x144e8]
fld qword [ebp + 0x14518]
fdivrp st(2)
fld qword [esp + 0x28]
fmulp st(2)
fcom st(1)
fnstsw ax
sahf
jb 0x10003845
fst st(1)
fstp st(0)
fstp qword [esp + 0x28]
jmp 0x1000386a
fstp st(0)
fild dword [ebp + 0x144ec]
fld qword [esp + 0x28]
fcom st(1)
fnstsw ax
sahf
fxch st(1)
jae 0x10003864
fst st(1)
fstp st(0)
fstp qword [esp + 0x28]
fld qword [esp + 0x40]
fadd qword [esp + 0x28]
fstp qword [esp + 0x40]
mov eax, dword [ebp + 0x14688]
add esi, 1
jmp 0x100034ba
push 0x10320260
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffff9c
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
push dword [ebp + 0x4cc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp + 0x4cc], 0xffffffff
push 0x10320224
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffff9c
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
add edx, dword [ebp + 0x145f0]
adc eax, 0
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0x1461c]
add esi, 1
and eax, 0x80000000
jmp 0x10002e10
mov edi, dword [esp + 0x30]
fld qword [esp + 0x38]
fdiv qword [esp + 0x40]
mov eax, dword [ebp + 0x21c]
fst qword [ebp + 0x14520]
test eax, eax
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x34]
mov dword [ebp + 0x14688], 0
je 0x10003938
fstp st(0)
jmp 0x1000398d
fld qword [ebp + 0x14510]
fmulp st(1)
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp dword [esp + 0x20]
fldcw word [esp + 8]
mov edx, dword [esp + 0x20]
lea eax, [esp + 0xb8]
push edx
push 0x103202e0
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0xb8]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp + 0x21c]
test eax, eax
je 0x10003dc1
mov eax, dword [ebp + 0x228]
test eax, eax
je 0x100039ad
mov eax, dword [ebp + 0x23c]
mov dword [ebp + 0x22c], eax
jmp 0x100039b3
mov eax, dword [ebp + 0x22c]
fild dword [ebp + 0x22c]
fmul qword [0x10320070]
fadd qword [0x10320080]
fld qword [esp + 0x40]
fld qword [esp + 0x38]
mov edx, dword [esp + 0x4c]
fld qword [ebp + 0x14510]
fxch st(1)
fsub st(2)
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fxch st(2)
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp dword [esp + 0x20]
fldcw word [esp + 8]
fmul st(1), st(0)
fxch st(1)
fmul qword [0x10320068]
fxch st(3)
fmulp st(1)
fadd st(1)
fdivrp st(1)
mov eax, dword [esp + 0x20]
fstp qword [ebp + 0x14520]
sub edx, esi
sub edx, edi
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fdivp st(1)
mov edi, 1
fstp qword [ebp + 0x14528]
lea esi, [esp + 0x180]
push eax
push 0x10320318
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x180]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
fld qword [ebp + 0x14528]
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp dword [esp + 0x20]
fldcw word [esp + 8]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x180]
push eax
push 0x10320330
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x180]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
fld qword [ebp + 0x14538]
fld qword [0x10320040]
fmul st(1)
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp dword [esp + 0x20]
fldcw word [esp + 8]
mov ecx, dword [esp + 0x20]
mov esi, 1
add ecx, 1
test ecx, ecx
jle 0x10004dd0
fldz
fstp qword [esp + 0x40]
mov dword [esp + 0x1e4], 1
fld qword [ebp + 0x14510]
mov dword [esp + 0x18], esi
fild dword [esp + 0x18]
fcom st(1)
fnstsw ax
fld st(0)
sahf
jbe 0x10003bf1
fxch st(1)
fcom st(3)
fnstsw ax
sahf
jb 0x10003b3c
fld qword [ebp + 0x14550]
fsub qword [ebp + 0x14558]
fmul st(1)
fstp qword [esp + 0x40]
fld qword [0x10320080]
jmp 0x10003cb3
mov eax, dword [ebp + 0x230]
cmp eax, 2
je 0x10003bb8
cmp eax, 1
jne 0x10003b75
fld st(0)
fsub st(3)
fmul qword [ebp + 0x14558]
fdiv qword [ebp + 0x14548]
fld qword [0x10320080]
fxch st(1)
fsubr qword [ebp + 0x14550]
fmul st(2)
fstp qword [esp + 0x40]
jmp 0x10003cb3
fld qword [0x10320080]
test eax, eax
jne 0x10003cb3
fld st(1)
fsub st(4)
fmul qword [0x10320048]
fdiv qword [ebp + 0x14548]
fmul qword [0x10320050]
fcos
fadd qword [0x10320038]
fmul qword [ebp + 0x14558]
fadd qword [ebp + 0x14550]
fmul st(2)
fstp qword [esp + 0x40]
jmp 0x10003cb3
fld st(0)
fsub st(3)
fmul qword [0x10320048]
fdiv qword [ebp + 0x14548]
fld qword [0x10320080]
fxch st(1)
fmul qword [0x10320050]
fsin
fchs
fmul qword [ebp + 0x14558]
fadd qword [ebp + 0x14550]
fmul st(2)
fstp qword [esp + 0x40]
jmp 0x10003cb3
fxch st(1)
fcom qword [ebp + 0x14530]
fnstsw ax
sahf
ja 0x10003c11
fld qword [0x10320080]
fxch st(1)
fst qword [esp + 0x40]
fxch st(1)
jmp 0x10003cb3
mov eax, dword [ebp + 0x230]
cmp eax, 2
je 0x10003c7f
cmp eax, 1
jne 0x10003c47
fld st(0)
fsub st(3)
fmul qword [ebp + 0x14558]
fdiv qword [ebp + 0x14540]
fld qword [0x10320080]
fxch st(1)
fsubr qword [ebp + 0x14550]
fmul st(2)
fstp qword [esp + 0x40]
jmp 0x10003cb3
fld qword [0x10320080]
test eax, eax
jne 0x10003cb3
fld st(1)
fsub st(4)
fmul qword [0x10320048]
fdiv qword [ebp + 0x14540]
fmul qword [0x10320050]
fcos
fsubr st(1)
fmul qword [ebp + 0x14558]
fadd qword [ebp + 0x14550]
fmul st(2)
fstp qword [esp + 0x40]
jmp 0x10003cb3
fld st(0)
fsub st(3)
fmul qword [0x10320048]
fdiv qword [ebp + 0x14540]
fld qword [0x10320080]
fxch st(1)
fmul qword [0x10320050]
fsin
fchs
fmul qword [ebp + 0x14558]
fadd qword [ebp + 0x14550]
fmul st(2)
fstp qword [esp + 0x40]
fld qword [ebp + 0x144f8]
fcom st(1)
fnstsw ax
sahf
jbe 0x10003cc8
fstp st(3)
fld st(1)
fmul st(3)
fxch st(3)
fstp st(0)
fxch st(2)
fadd st(0)
fld qword [esp + 0x40]
fmul qword [ebp + 0x14520]
fadd qword [ebp + 0x14528]
fdivr st(3)
fmulp st(1)
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp dword [esp + 0x20]
fldcw word [esp + 8]
mov edx, dword [esp + 0x20]
cmp edx, 1
jle 0x10003dae
cmp edx, edi
jne 0x10003d1c
fstp st(1)
fstp st(1)
fstp st(0)
jmp 0x10003db4
fstp st(3)
fdiv st(1)
fxch st(1)
fsubp st(2)
fxch st(1)
fmul qword [0x10320078]
fmulp st(1)
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp dword [esp + 0x20]
fldcw word [esp + 8]
lea ecx, [esp + 0x180]
mov edi, edx
mov eax, dword [esp + 0x20]
push eax
push esi
push edx
push 0x10320344
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea eax, [esp + 0x180]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
fld qword [ebp + 0x14538]
fld qword [0x10320040]
fmul st(1)
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp dword [esp + 0x20]
fldcw word [esp + 8]
mov ecx, dword [esp + 0x20]
add ecx, 1
jmp 0x10003db4
fstp st(1)
fstp st(1)
fstp st(0)
add esi, 1
cmp esi, ecx
jle 0x10003afb
fstp st(0)
mov dword [ebp + 0x14564], 1
xor eax, eax
mov dword [ebp + 0x14560], eax
mov dword [ebp + 0x14568], eax
mov dword [ebp + 0x1456c], eax
jmp 0x10002b5c
mov edx, dword [ebp + 0x14688]
mov eax, ecx
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0xa8]
cmp edx, eax
jge 0x100040ca
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, edx
add eax, dword [ebp + 0x14678]
mov edx, dword [eax]
mov ecx, dword [eax + 0x3c]
mov dword [edi], edx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov edx, dword [eax + 8]
mov dword [edi + 8], edx
mov edx, dword [eax + 0xc]
mov dword [edi + 0xc], edx
mov edx, dword [eax + 0x10]
mov dword [edi + 0x10], edx
mov edx, dword [eax + 0x14]
mov dword [edi + 0x14], edx
mov edx, dword [eax + 0x18]
mov dword [edi + 0x18], edx
mov edx, dword [eax + 0x1c]
mov dword [edi + 0x1c], edx
mov edx, dword [eax + 0x20]
mov dword [edi + 0x20], edx
mov edx, dword [eax + 0x24]
mov dword [edi + 0x24], edx
mov edx, dword [eax + 0x28]
mov dword [edi + 0x28], edx
mov edx, dword [eax + 0x2c]
mov dword [edi + 0x2c], edx
mov edx, dword [eax + 0x30]
mov dword [edi + 0x30], edx
mov edx, dword [eax + 0x34]
mov dword [edi + 0x34], edx
mov edx, dword [eax + 0x38]
mov dword [edi + 0x38], edx
mov edx, dword [eax + 0x40]
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x40], edx
mov ecx, dword [ebp + 0x14688]
lea edx, [ebp + 0x14634]
add ecx, ecx
add ecx, ecx
lea eax, [ecx + ecx]
add eax, eax
add eax, eax
add eax, eax
add eax, ecx
add eax, dword [ebp + 0x1467c]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x14]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x18], ecx
mov ecx, dword [eax + 0x1c]
mov dword [edx + 0x1c], ecx
mov ecx, dword [eax + 0x20]
mov dword [edx + 0x20], ecx
mov ecx, dword [eax + 0x24]
mov dword [edx + 0x24], ecx
mov ecx, dword [eax + 0x28]
mov dword [edx + 0x28], ecx
mov ecx, dword [eax + 0x2c]
mov dword [edx + 0x2c], ecx
mov ecx, dword [eax + 0x30]
mov dword [edx + 0x30], ecx
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x38]
mov dword [edx + 0x38], ecx
mov ecx, dword [eax + 0x3c]
mov dword [edx + 0x3c], ecx
mov ecx, dword [eax + 0x40]
mov dword [edx + 0x40], ecx
mov edx, dword [ebp + 0x14688]
mov eax, dword [ebp + 0x14600]
add edx, 1
mov dword [ebp + 0x14688], edx
test eax, 0x38000000
je 0x10003f24
mov eax, dword [ebp + 0x14684]
jmp 0x10003df7
mov eax, dword [esp + 0xac]
push eax
push ebp
call fcn.10005bf8
add esp, 8
test eax, eax
jne 0x1000403d
mov eax, dword [ebp + 0x1461c]
and eax, 0x80000000
je 0x10003f9f
mov edx, dword [ebp + 0x14634]
imul edx, dword [ebp + 0x200]
mov ecx, dword [esp + 0x30]
mov eax, 0x51eb851f
mul edx
shr edx, 5
mov eax, dword [esp + 0x54]
add eax, edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x58]
adc eax, 0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xac]
mov dword [ebp + ecx*4 + 0x4e4], eax
add ecx, 1
mov eax, dword [ebp + 0x1461c]
mov dword [esp + 0x30], ecx
and eax, 0x80000000
jmp 0x1000404b
mov edx, dword [ebp + 0x14600]
test edx, 0x40000000
je 0x10003ff5
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x68]
add edx, dword [ebp + 0x145f0]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x90]
adc edx, 0
add ecx, dword [ebp + 0x14634]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x64]
adc edx, 0
mov dword [esp + 0x64], edx
add dword [esp + 0x84], 1
jmp 0x1000404b
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x60]
add edx, dword [ebp + 0x145f0]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x98]
adc edx, 0
add ecx, dword [ebp + 0x14634]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x5c]
adc edx, 0
mov dword [esp + 0x5c], edx
add dword [esp + 0x88], 1
jmp 0x1000404b
mov eax, dword [ebp + 0x1461c]
add esi, 1
and eax, 0x80000000
test eax, eax
je 0x1000406c
mov eax, dword [ebp + 0x14620]
add eax, dword [ebp + 0x14624]
jne 0x100040b1
mov eax, dword [ebp + 0x145f0]
mov dword [esp + 0xa0], eax
jmp 0x100040b1
mov eax, dword [ebp + 0x14600]
test eax, 0x40000000
je 0x10004096
mov eax, dword [ebp + 0x14620]
add eax, dword [ebp + 0x14624]
jne 0x100040b1
mov eax, dword [ebp + 0x145f0]
mov dword [esp + 0x9c], eax
jmp 0x100040b1
mov eax, dword [ebp + 0x14620]
add eax, dword [ebp + 0x14624]
jne 0x100040b1
mov eax, dword [ebp + 0x145f0]
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0x14684]
mov edx, dword [ebp + 0x14688]
add dword [esp + 0xac], 1
jmp 0x10003df7
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
mov dword [ebp + 0x14688], 0
mov dword [ebp + edi*4 + 0x4e4], eax
fld qword [0x10320080]
mov eax, dword [esp + 0x60]
add edx, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xac], edx
mov dword [esp + 0x18], edx
adc eax, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x1c], eax
fild qword [esp + 0x18]
fdivr st(1)
add ecx, edx
mov edx, dword [esp + 0x58]
adc edx, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
fild qword [esp + 0x18]
fmul st(1)
mov edx, dword [esp + 0x84]
fst qword [ebp + 0x144f8]
test edx, edx
je 0x10004171
fld st(2)
fdiv st(1)
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x1c], ecx
fild qword [esp + 0x18]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fdivp st(1)
fmulp st(1)
fstp qword [ebp + 0x14518]
mov edx, dword [esp + 0x88]
test edx, edx
je 0x100041ad
fdivr st(2)
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x1c], ecx
fild qword [esp + 0x18]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fdivp st(1)
fmulp st(1)
fst qword [ebp + 0x14510]
jmp 0x100041ca
fstp st(0)
mov edx, dword [esp + 0x84]
test edx, edx
je 0x100048a8
fld qword [ebp + 0x14518]
fst qword [ebp + 0x14510]
mov edx, dword [ebp + 0x21c]
xor ecx, ecx
mov dword [esp + 0x4c], ecx
test edx, edx
je 0x1000442a
fild dword [ebp + 0x238]
fmul st(1)
fild dword [ebp + 0x234]
fmul st(2)
fld qword [0x10320070]
fmul st(2), st(0)
fxch st(2)
fadd st(3)
mov edx, dword [ebp + 0x220]
fst qword [ebp + 0x14530]
fsubr st(3)
fstp qword [ebp + 0x14540]
fld qword [0x10320068]
fmul st(1), st(0)
fxch st(1)
fadd st(3)
fst qword [ebp + 0x14538]
test edx, edx
fsubrp st(3)
fxch st(2)
fstp qword [ebp + 0x14548]
je 0x10004300
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x90]
add edx, ecx
mov ecx, dword [esp + 0x98]
adc ecx, edi
mov edi, dword [esp + 0xac]
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], ecx
sub edx, edi
sbb ecx, eax
mov edi, dword [esp + 0x30]
jl 0x100042eb
or edx, ecx
je 0x100042eb
fild dword [ebp + 0x224]
fld qword [0x10320078]
mov eax, dword [esp + 0x94]
mov ecx, 0x14
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
fild qword [esp + 0x18]
fmulp st(5)
fxch st(4)
fdivr qword [0x10320060]
fadd st(4)
fmulp st(1)
fmulp st(1)
faddp st(2)
fxch st(1)
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp dword [esp + 0x20]
fldcw word [esp + 8]
mov edx, dword [esp + 0x20]
cmp edx, 0x14
mov eax, edx
jg 0x100042e3
mov eax, ecx
mov dword [ebp + 0x23c], eax
jmp 0x1000430a
fstp st(0)
fstp st(1)
mov dword [ebp + 0x23c], 0x64
mov eax, 0x64
jmp 0x1000430a
fstp st(2)
fstp st(1)
mov eax, dword [ebp + 0x23c]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmulp st(1)
fadd st(1)
mov eax, dword [ebp + 0x238]
fmul qword [0x10320058]
fst qword [ebp + 0x14550]
fsubr st(1)
fst qword [ebp + 0x14558]
cmp eax, 0x64
jle 0x1000442c
mov eax, dword [ebp + 0x230]
cmp eax, 2
je 0x100043e4
cmp eax, 1
jne 0x1000438c
fld qword [ebp + 0x14510]
fld qword [ebp + 0x14510]
fld qword [ebp + 0x14540]
fdivr st(4)
fmul st(1), st(0)
fxch st(1)
fadd st(4)
fdivr qword [0x10320040]
fmulp st(3)
fxch st(2)
fst qword [ebp + 0x14558]
fmulp st(1)
fmulp st(1)
fsub st(1), st(0)
fxch st(1)
fst qword [ebp + 0x14550]
fxch st(1)
jmp 0x1000442c
test eax, eax
jne 0x1000442c
fld qword [ebp + 0x14510]
fmul qword [0x10320048]
fdiv qword [ebp + 0x14540]
fmul qword [0x10320050]
fcos
fld qword [0x10320040]
fld qword [0x10320040]
fsub st(2)
fdivp st(1)
fld qword [0x10320038]
fxch st(1)
fmulp st(3)
fxch st(2)
fst qword [ebp + 0x14558]
fxch st(1)
faddp st(2)
fmulp st(1)
fadd st(1), st(0)
fxch st(1)
fst qword [ebp + 0x14550]
fxch st(1)
jmp 0x1000442c
fld st(1)
fld qword [ebp + 0x14510]
fmul qword [0x10320048]
fdiv qword [ebp + 0x14540]
fmul qword [0x10320050]
fsin
fadd st(1), st(0)
fxch st(1)
fdivr qword [0x10320040]
fxch st(1)
fchs
fxch st(1)
fmulp st(2)
fxch st(1)
fst qword [ebp + 0x14558]
fmulp st(1)
fadd st(1), st(0)
fxch st(1)
fst qword [ebp + 0x14550]
fxch st(1)
jmp 0x1000442c
fstp st(1)
fstp st(1)
fstp st(0)
mov eax, dword [ebp + 0x14688]
fldz
fstp qword [esp + 0x28]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x4c]
cmp eax, dword [ebp + 0x14684]
jge 0x100048c9
add eax, eax
add eax, eax
lea edx, [eax + eax]
add edx, edx
add edx, edx
add edx, edx
add edx, eax
add edx, dword [ebp + 0x14678]
mov eax, dword [edx]
mov ecx, dword [edx + 0x3c]
mov dword [edi], eax
mov eax, dword [edx + 4]
mov dword [edi + 4], eax
mov eax, dword [edx + 8]
mov dword [edi + 8], eax
mov eax, dword [edx + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [edx + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [edx + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [edx + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [edx + 0x1c]
mov dword [edi + 0x1c], eax
mov eax, dword [edx + 0x20]
mov dword [edi + 0x20], eax
mov eax, dword [edx + 0x24]
mov dword [edi + 0x24], eax
mov eax, dword [edx + 0x28]
mov dword [edi + 0x28], eax
mov eax, dword [edx + 0x2c]
mov dword [edi + 0x2c], eax
mov eax, dword [edx + 0x30]
mov dword [edi + 0x30], eax
mov eax, dword [edx + 0x34]
mov dword [edi + 0x34], eax
mov eax, dword [edx + 0x38]
mov dword [edi + 0x38], eax
mov eax, dword [edx + 0x40]
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x40], eax
mov ecx, dword [ebp + 0x14688]
lea edx, [ebp + 0x14634]
add ecx, ecx
add ecx, ecx
lea eax, [ecx + ecx]
add eax, eax
add eax, eax
add eax, eax
add eax, ecx
add eax, dword [ebp + 0x1467c]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x14]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x18], ecx
mov ecx, dword [eax + 0x1c]
mov dword [edx + 0x1c], ecx
mov ecx, dword [eax + 0x20]
mov dword [edx + 0x20], ecx
mov ecx, dword [eax + 0x24]
mov dword [edx + 0x24], ecx
mov ecx, dword [eax + 0x28]
mov dword [edx + 0x28], ecx
mov ecx, dword [eax + 0x2c]
mov dword [edx + 0x2c], ecx
mov ecx, dword [eax + 0x30]
mov dword [edx + 0x30], ecx
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x38]
mov dword [edx + 0x38], ecx
mov ecx, dword [eax + 0x3c]
mov dword [edx + 0x3c], ecx
mov ecx, dword [eax + 0x40]
mov dword [edx + 0x40], ecx
mov eax, dword [ebp + 0x14688]
add eax, 1
mov dword [ebp + 0x14688], eax
test esi, esi
jne 0x100045f1
mov edx, dword [ebp + 0x14620]
mov dword [esp + 0xac], eax
lea eax, [edx + 0x58]
sar eax, 2
shr eax, 0x1d
lea eax, [edx + eax + 0x58]
sar eax, 3
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
sub ecx, edx
lea edx, [ecx + ecx + 0xf0]
sar edx, 2
shr edx, 0x1d
lea edx, [edx + ecx*2 + 0xf0]
mov ecx, dword [esp + 0x9c]
sar edx, 3
cmp eax, ecx
jle 0x100045be
mov ecx, eax
mov dword [ebp + 0x144e8], ecx
mov ecx, dword [esp + 0xa4]
cmp eax, ecx
jg 0x100045d1
mov eax, ecx
mov dword [ebp + 0x144ec], eax
mov eax, dword [esp + 0xa0]
cmp edx, eax
jle 0x100045e4
mov eax, edx
mov dword [ebp + 0x144f0], eax
mov eax, dword [esp + 0xac]
mov edx, dword [ebp + 0x14600]
test edx, 0x38000000
jne 0x1000444f
push esi
push ebp
call fcn.10005bf8
add esp, 8
test eax, eax
jne 0x1000489a
mov eax, dword [ebp + 0x1461c]
test eax, 0x80000000
jne 0x1000489a
fild dword [ebp + 0x14634]
fld qword [0x10320080]
mov eax, dword [ebp + 0x14634]
shr eax, 0x1f
fxch st(1)
fadd dword [eax*4 + 0x10320090]
fdiv qword [ebp + 0x144f8]
fld qword [esp + 0x38]
fadd st(1)
mov edx, dword [ebp + 0x14600]
fld qword [ebp + 0x14510]
fxch st(1)
fstp qword [esp + 0x38]
and edx, 0x40000000
je 0x10004674
fld qword [ebp + 0x14518]
fdivr st(1)
fmulp st(2)
mov eax, dword [ebp + 0x21c]
test eax, eax
je 0x1000480b
fcom st(1)
fnstsw ax
sahf
jae 0x10004750
fstp st(2)
fcom qword [ebp + 0x14538]
fnstsw ax
sahf
jb 0x100046b1
fld qword [ebp + 0x14550]
fsub qword [ebp + 0x14558]
fmul st(1)
fstp qword [esp + 0x28]
jmp 0x10004846
mov eax, dword [ebp + 0x230]
cmp eax, 2
je 0x1000471f
cmp eax, 1
jne 0x100046e2
fld st(0)
fsub st(2)
fmul qword [ebp + 0x14558]
fdiv qword [ebp + 0x14548]
fsubr qword [ebp + 0x14550]
fmul st(1)
fstp qword [esp + 0x28]
jmp 0x10004846
test eax, eax
jne 0x10004846
fld st(0)
fsub st(2)
fmul qword [0x10320048]
fdiv qword [ebp + 0x14548]
fmul qword [0x10320050]
fcos
fadd qword [0x10320038]
fmul qword [ebp + 0x14558]
fadd qword [ebp + 0x14550]
fmul st(1)
fstp qword [esp + 0x28]
jmp 0x10004846
fld st(0)
fsub st(2)
fmul qword [0x10320048]
fdiv qword [ebp + 0x14548]
fmul qword [0x10320050]
fsin
fchs
fmul qword [ebp + 0x14558]
fadd qword [ebp + 0x14550]
fmul st(1)
fstp qword [esp + 0x28]
jmp 0x10004846
fxch st(1)
fcom qword [ebp + 0x14530]
fnstsw ax
sahf
ja 0x1000476a
fstp st(2)
fxch st(1)
fst qword [esp + 0x28]
jmp 0x10004846
mov eax, dword [ebp + 0x230]
cmp eax, 2
je 0x100047d9
cmp eax, 1
jne 0x1000479f
fstp st(2)
fld st(1)
fsub st(1)
fmul qword [ebp + 0x14558]
fdiv qword [ebp + 0x14540]
fsubr qword [ebp + 0x14550]
fmul st(2)
fstp qword [esp + 0x28]
fxch st(1)
jmp 0x10004846
test eax, eax
jne 0x10004dd7
fld st(0)
fsub st(2)
fmul qword [0x10320048]
fdiv qword [ebp + 0x14540]
fmul qword [0x10320050]
fcos
fsubp st(3)
fxch st(2)
fmul qword [ebp + 0x14558]
fadd qword [ebp + 0x14550]
fmul st(2)
fstp qword [esp + 0x28]
fxch st(1)
jmp 0x10004846
fstp st(2)
fld st(1)
fsub st(1)
fmul qword [0x10320048]
fdiv qword [ebp + 0x14540]
fmul qword [0x10320050]
fsin
fchs
fmul qword [ebp + 0x14558]
fadd qword [ebp + 0x14550]
fmul st(2)
fstp qword [esp + 0x28]
fxch st(1)
jmp 0x10004846
fstp st(2)
fcom st(1)
fnstsw ax
sahf
jbe 0x1000482e
fild dword [ebp + 0x214]
fld st(2)
fsub st(2)
fmulp st(1)
fmul qword [0x10320068]
fadd st(1)
fstp qword [esp + 0x28]
jmp 0x10004846
fild dword [ebp + 0x218]
fld st(2)
fsub st(2)
fmulp st(1)
fmul qword [0x10320068]
fadd st(1)
fstp qword [esp + 0x28]
fstp st(0)
test edx, edx
je 0x10004871
fild dword [ebp + 0x144e8]
fld qword [ebp + 0x14518]
fdivrp st(2)
fld qword [esp + 0x28]
fmulp st(2)
fcom st(1)
fnstsw ax
sahf
jb 0x10004869
fst st(1)
fstp st(0)
fstp qword [esp + 0x28]
jmp 0x1000488e
fstp st(0)
fild dword [ebp + 0x144ec]
fld qword [esp + 0x28]
fcom st(1)
fnstsw ax
sahf
fxch st(1)
jae 0x10004888
fst st(1)
fstp st(0)
fstp qword [esp + 0x28]
fld qword [esp + 0x40]
fadd qword [esp + 0x28]
fstp qword [esp + 0x40]
mov eax, dword [ebp + 0x14688]
add esi, 1
jmp 0x1000444f
fstp st(0)
fstp st(0)
push 0x10320260
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffff9c
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
mov edi, dword [esp + 0x30]
fld qword [esp + 0x38]
fdiv qword [esp + 0x40]
mov eax, dword [ebp + 0x21c]
fst qword [ebp + 0x14520]
test eax, eax
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x34]
mov dword [ebp + 0x14688], 0
je 0x100048fe
fstp st(0)
jmp 0x1000398d
fld qword [ebp + 0x14510]
fmulp st(1)
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp dword [esp + 0x20]
fldcw word [esp + 8]
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x11c]
push edx
push 0x103202e0
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp + 0x21c]
jmp 0x1000398d
mov esi, dword [esp + 0x34]
mov ebp, dword [ebx + 8]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x30]
jmp 0x10002b97
mov eax, dword [ebp + 0x4d0]
cmp eax, 0xffffffff
je 0x1000497e
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp + 0x35c]
xor edx, edx
push edx
push 0x80
push 3
push edx
push 1
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp + 0x4d0], eax
cmp eax, 0xffffffff
je 0x10004d2e
lea edx, [esp + 0xb0]
lea ecx, [esp + 0xb4]
push 0
push ecx
push 4
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x10004cd8
mov eax, dword [esp + 0xb4]
cmp eax, 4
jne 0x10004cd8
mov eax, dword [esp + 0xb0]
cmp eax, 0xffffffec
je 0x10004a34
push dword [ebp + 0x4cc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp + 0x4d0]
mov dword [ebp + 0x4cc], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp + 0x4d0], 0xffffffff
push 0x10320170
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffff9c
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
lea eax, [ebp + 0x145f0]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x30], edi
mov edi, eax
mov dword [esp + 0x34], esi
lea eax, [esp + 0xb4]
push 0
push eax
push 0x44
push edi
push dword [ebp + 0x4cc]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x10004d21
mov eax, dword [esp + 0xb4]
cmp eax, 0x44
jne 0x10004c52
lea esi, [ebp + 0x14634]
lea eax, [esp + 0xb4]
push 0
push eax
push 0x44
push esi
push dword [ebp + 0x4d0]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x10004da8
mov eax, dword [esp + 0xb4]
cmp eax, 0x44
jne 0x10004d9b
mov edx, dword [ebp + 0x14680]
mov eax, dword [esp + 0x48]
cmp eax, edx
jl 0x10004b5c
lea eax, [edx + edx]
add eax, eax
add eax, edx
mov edx, eax
sar edx, 1
shr edx, 0x1e
add edx, eax
sar edx, 2
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea eax, [ecx + edx*4 + 0x44]
push eax
push dword [ebp + 0x14678]
call fcn.1007639e
mov edx, dword [ebp + 0x14680]
mov dword [ebp + 0x14678], eax
lea eax, [edx + edx]
add eax, eax
add eax, edx
mov edx, eax
sar edx, 1
shr edx, 0x1e
add edx, eax
sar edx, 2
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea eax, [ecx + edx*4 + 0x44]
push eax
push dword [ebp + 0x1467c]
call fcn.1007639e
add esp, 0x10
mov ecx, dword [ebp + 0x14680]
mov dword [ebp + 0x1467c], eax
lea edx, [ecx + ecx]
add edx, edx
add edx, ecx
mov eax, edx
sar eax, 1
shr eax, 0x1e
add eax, edx
sar eax, 2
add eax, 1
mov dword [ebp + 0x14680], eax
mov edx, dword [esp + 0x48]
lea eax, [edx + edx]
add eax, eax
lea edx, [eax + eax]
add edx, edx
add edx, edx
add edx, edx
add edx, eax
mov eax, dword [ebp + 0x14678]
mov ecx, dword [edi]
add eax, edx
mov dword [eax], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov ecx, dword [edi + 0xc]
mov dword [eax + 0xc], ecx
mov ecx, dword [edi + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [edi + 0x14]
mov dword [eax + 0x14], ecx
mov ecx, dword [edi + 0x18]
mov dword [eax + 0x18], ecx
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [edi + 0x20]
mov dword [eax + 0x20], ecx
mov ecx, dword [edi + 0x24]
mov dword [eax + 0x24], ecx
mov ecx, dword [edi + 0x28]
mov dword [eax + 0x28], ecx
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x2c], ecx
mov ecx, dword [edi + 0x30]
mov dword [eax + 0x30], ecx
mov ecx, dword [edi + 0x34]
mov dword [eax + 0x34], ecx
mov ecx, dword [edi + 0x38]
mov dword [eax + 0x38], ecx
mov ecx, dword [edi + 0x3c]
mov dword [eax + 0x3c], ecx
mov ecx, dword [edi + 0x40]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp + 0x1467c]
mov ecx, dword [esi + 0x38]
add edx, eax
mov eax, dword [esi]
mov dword [edx], eax
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [esi + 0x1c]
mov dword [edx + 0x1c], eax
mov eax, dword [esi + 0x20]
mov dword [edx + 0x20], eax
mov eax, dword [esi + 0x24]
mov dword [edx + 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [edx + 0x28], eax
mov eax, dword [esi + 0x2c]
mov dword [edx + 0x2c], eax
mov eax, dword [esi + 0x30]
mov dword [edx + 0x30], eax
mov eax, dword [esi + 0x34]
mov dword [edx + 0x34], eax
mov eax, dword [esi + 0x3c]
mov esi, dword [esi + 0x40]
mov dword [edx + 0x38], ecx
mov dword [edx + 0x3c], eax
mov dword [edx + 0x40], esi
add dword [esp + 0x48], 1
jmp 0x10004a4b
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x26
je 0x10004c69
test eax, eax
jne 0x10004c92
xor eax, eax
push eax
push eax
push 4
push dword [ebp + 0x4cc]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
xor eax, eax
push eax
push eax
push 4
push dword [ebp + 0x4d0]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x10002bbc
push dword [ebp + 0x4cc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp + 0x4d0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x103201f0
mov eax, 0xffffffff
mov dword [ebp + 0x4cc], eax
mov dword [ebp + 0x4d0], eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffff9c
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
push dword [ebp + 0x4cc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp + 0x4d0]
mov dword [ebp + 0x4cc], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp + 0x4d0], 0xffffffff
push 0x103201c0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffff9c
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
jmp 0x10004c5a
push dword [ebp + 0x4cc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp + 0x4cc], 0xffffffff
push 0x10320198
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffff9c
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
push 0x10320118
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffff9c
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
push 0x10320098
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffff9c
add esp, 0x1f4
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
jmp 0x10004c5a
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
jmp 0x10004c5a
fstp st(0)
fstp st(0)
jmp 0x1000349b
fstp st(0)
fstp st(0)
jmp 0x1000349b
fstp st(2)
fxch st(1)
jmp 0x10003822
fstp st(0)
jmp 0x10003dc1
fstp st(2)
fxch st(1)
jmp 0x10004846