Function at 0x405910
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
cmp dword [0x464a8c], 0
push ebx
push esi
push edi
mov dword [esp + 0x38], 0x7fffffff
mov dword [esp + 0x3c], 0
jne 0x40664a
cmp dword [0x465f6c], 0
je 0x40664a
cmp dword [0x464a9c], 0
je 0x405968
push str.Phase_One_correction..._n
call fcn.00434a96
add eax, 0x40
push eax
call fcn.00435780
add esp, 8
mov eax, dword [0x465c54]
mov ecx, dword [0x486344]
push 0
push eax
push ecx
call fcn.00435f77
add esp, 0xc
call fcn.00401190
mov edx, dword [0x486344]
push 1
push 6
push edx
mov word [0x465c48], ax
call fcn.00435f77
add esp, 0xc
push 0
call fcn.00401240
add eax, dword [0x465c54]
push eax
mov eax, dword [0x486344]
push eax
call fcn.00435f77
add esp, 0xc
call fcn.00401240
mov esi, eax
mov dword [esp + 0x34], esi
call fcn.00401240
test esi, esi
je 0x40664a
dec dword [esp + 0x34]
call fcn.00401240
mov ebx, eax
call fcn.00401240
mov edi, eax
call fcn.00401240
mov ecx, dword [0x486344]
push ecx
mov esi, eax
call fcn.00435c4a
mov edx, dword [0x465c54]
add esp, 4
push 0
add edx, esi
mov dword [esp + 0x18], eax
mov eax, dword [0x486344]
push edx
push eax
call fcn.00435f77
add esp, 0xc
cmp ebx, 0x419
jne 0x405b35
call fcn.00401240
xor esi, esi
lea esp, [esp]
push 8
call fcn.004012e0
fstp dword [esp + esi*4 + 0x68]
inc esi
add esp, 4
cmp esi, 8
jl 0x405a30
fld dword [0x486338]
xor ecx, ecx
fsub dword [esp + 0x80]
mov dword [esp + 0x1c], ecx
fmul dword [esp + 0x7c]
fadd qword [0x4517d8]
fadd dword [esp + 0x70]
fstp dword [esp + 0x70]
fld dword [esp + 0x78]
fld dword [esp + 0x70]
fld dword [esp + 0x68]
fld dword [0x4519a8]
fld qword [0x4517b0]
fild dword [esp + 0x1c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fld st(0)
fmul st(6)
fadd st(5)
fmulp st(1)
fadd st(3)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x405aae
fst dword [esp + 0x18]
jmp 0x405ab6
fxch st(2)
fst dword [esp + 0x18]
fxch st(2)
fld dword [esp + 0x18]
fcomp qword [0x4517a8]
fnstsw ax
test ah, 5
jp 0x405ad1
fstp st(0)
fldz
fstp dword [esp + 0x2c]
jmp 0x405aea
fcom st(1)
fnstsw ax
test ah, 5
jp 0x405ae0
fstp dword [esp + 0x2c]
jmp 0x405aea
fstp st(0)
fxch st(1)
fst dword [esp + 0x2c]
fxch st(1)
fld dword [esp + 0x2c]
inc ecx
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
or eax, 0xc00
cmp ecx, 0x10000
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
fldcw word [esp + 0x20]
fistp dword [esp + 0x20]
mov dx, word [esp + 0x20]
mov word [ecx*2 + 0x46613e], dx
fldcw word [esp + 0x10]
jl 0x405a81
fstp st(0)
fstp st(3)
fstp st(1)
jmp 0x405bf6
cmp ebx, 0x41a
jne 0x405cae
xor esi, esi
push 8
call fcn.004012e0
fstp dword [esp + esi*4 + 0x68]
inc esi
add esp, 4
cmp esi, 4
jl 0x405b43
fld qword [0x4517b0]
xor ecx, ecx
fldz
mov dword [esp + 0x1c], ecx
fldz
fst dword [esp + 0xc]
mov eax, 4
fild dword [esp + 0x1c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fld st(0)
sub eax, 1
fmul dword [esp + 0xc]
fadd dword [esp + eax*4 + 0x64]
fstp dword [esp + 0xc]
jne 0x405b7c
fadd dword [esp + 0xc]
fcom st(3)
fnstsw ax
test ah, 5
jp 0x405bab
fcom st(2)
fnstsw ax
test ah, 5
jp 0x405bab
fstp st(0)
fld st(1)
jmp 0x405bb8
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x405bb8
fstp st(0)
fld st(2)
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x20], eax
inc ecx
cmp ecx, 0x10000
fldcw word [esp + 0x20]
mov dword [esp + 0x1c], ecx
fistp dword [esp + 0x20]
mov ax, word [esp + 0x20]
mov word [ecx*2 + 0x46613e], ax
fldcw word [esp + 0x10]
jl 0x405b67
fstp st(2)
movzx eax, word [0x4ac486]
fstp st(0)
xor edx, edx
fstp st(0)
mov dword [esp + 0x28], edx
test eax, eax
jbe 0x40622b
movzx ecx, word [0x466040]
mov esi, ebx
and esi, 1
mov dword [esp + 0x20], esi
mov eax, esi
imul eax, dword [0x486330]
cmp eax, ecx
jae 0x405c95
movzx ecx, word [0x4ac426]
mov esi, edx
shr edx, cl
movzx ecx, word [0x466104]
and esi, 7
add esi, esi
imul edx, ecx
mov edi, dword [0x466120]
mov ecx, eax
and ecx, 1
add ecx, esi
add ecx, ecx
shr edi, cl
movzx ecx, word [0x4ac426]
mov ebx, eax
shr ebx, cl
and edi, 3
inc eax
add ebx, edx
lea ecx, [edi + ebx*4]
mov edi, dword [0x4ac418]
lea ecx, [edi + ecx*2]
movzx edi, word [ecx]
mov di, word [edi*2 + 0x466140]
mov word [ecx], di
movzx ecx, word [0x466040]
cmp eax, ecx
jb 0x405c46
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
movzx eax, word [0x4ac486]
inc edx
mov dword [esp + 0x28], edx
cmp edx, eax
jb 0x405c1f
jmp 0x40622b
cmp ebx, 0x400
jne 0x4061a6
sub edi, 8
js 0x40622b
lea eax, [edi + 8]
shr eax, 3
mov dword [esp + 0x20], eax
lea ecx, [ecx]
call fcn.00401190
movzx edx, word [0x4660a0]
movzx edi, ax
sub edi, edx
mov dword [esp + 0x1c], edi
call fcn.00401190
movzx esi, ax
movzx eax, word [0x4ac498]
sub esi, eax
call fcn.00401190
movzx ebx, ax
call fcn.00401190
movzx eax, word [0x466040]
cmp edi, eax
jae 0x406196
cmp ebx, 0x83
jne 0x4060e7
movzx eax, word [0x4ac486]
mov dword [esp + 0x28], 0
test eax, eax
jbe 0x406196
movzx esi, word [0x4ac426]
fld qword [0x451938]
fld qword [0x4517d0]
mov ebx, dword [0x4ac418]
fld qword [0x4519a0]
mov eax, edi
fld qword [0x451998]
and eax, 1
mov ecx, esi
shr edi, cl
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov eax, edi
and eax, 7
add eax, eax
add ecx, eax
mov dword [esp + 0x2c], eax
mov eax, dword [0x466120]
add ecx, ecx
shr eax, cl
mov dword [esp + 0x24], 0
and eax, 3
mov dword [esp + 0x18], eax
cmp eax, 1
jne 0x405f24
lea edx, [esp + 0x54]
mov dword [esp + 0x18], edx
mov edi, 0x44e428
movsx eax, byte [edi]
movsx edx, byte [edi + 1]
movzx ecx, word [0x4ac486]
add eax, dword [esp + 0x28]
add edx, dword [esp + 0x1c]
cmp eax, ecx
jae 0x405e10
movzx ecx, word [0x466040]
cmp edx, ecx
jae 0x405e10
mov ecx, eax
and ecx, 7
mov ebx, edx
and ebx, 1
lea ecx, [ebx + ecx*2]
mov ebx, dword [0x466120]
add ecx, ecx
shr ebx, cl
mov ecx, esi
shr eax, cl
movzx ecx, word [0x466104]
imul eax, ecx
mov ecx, esi
shr edx, cl
and ebx, 3
add eax, edx
lea edx, [ebx + eax*4]
mov ebx, dword [0x4ac418]
movzx eax, word [ebx + edx*2]
jmp 0x405e12
xor eax, eax
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov dword [edx], eax
add ecx, eax
add edi, 2
add edx, 4
cmp edi, 0x44e430
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], edx
jl 0x405dae
mov eax, dword [esp + 0x54]
add eax, eax
add eax, eax
sub eax, ecx
cdq
mov edi, eax
mov eax, dword [esp + 0x58]
add eax, eax
add eax, eax
xor edi, edx
sub edi, edx
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x88], edi
cmp edi, eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x8c], eax
mov edi, 1
jl 0x405e7b
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x5c]
add eax, eax
add eax, eax
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x90], eax
cmp dword [esp + edi*4 + 0x88], eax
jge 0x405ea6
mov dword [esp + 0xc], 2
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x60]
add eax, eax
add eax, eax
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x94], eax
cmp dword [esp + edi*4 + 0x88], eax
jge 0x405ed1
mov dword [esp + 0xc], 3
mov edi, dword [esp + 0xc]
sub ecx, dword [esp + edi*4 + 0x54]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
mov dword [esp + 0x18], ecx
mov edi, dword [esp + 0x28]
or eax, 0xc00
fild dword [esp + 0x18]
mov dword [esp + 0x18], eax
movzx eax, word [0x466104]
fdiv st(4)
mov ecx, esi
shr edi, cl
fadd st(3)
imul edi, eax
fldcw word [esp + 0x18]
add edi, dword [esp + 0x44]
fistp dword [esp + 0x18]
mov dx, word [esp + 0x18]
mov word [ebx + edi*8 + 2], dx
fldcw word [esp + 0x10]
jmp 0x4060c2
mov eax, 0x44e438
mov dword [esp + 0xc], eax
movsx edx, byte [eax + 1]
movsx eax, byte [eax]
movzx ecx, word [0x4ac486]
add edx, dword [esp + 0x1c]
add eax, edi
cmp eax, ecx
jae 0x405f8b
movzx ecx, word [0x466040]
cmp edx, ecx
jae 0x405f8b
mov ecx, eax
and ecx, 7
mov edi, edx
and edi, 1
lea ecx, [edi + ecx*2]
mov edi, dword [0x466120]
add ecx, ecx
shr edi, cl
mov ecx, esi
shr eax, cl
movzx ecx, word [0x466104]
imul eax, ecx
mov ecx, esi
shr edx, cl
and edi, 3
add eax, edx
lea edx, [edi + eax*4]
movzx ecx, word [ebx + edx*2]
mov edi, dword [esp + 0x28]
jmp 0x405f8d
xor ecx, ecx
mov eax, dword [esp + 0xc]
add dword [esp + 0x24], ecx
add eax, 2
cmp eax, 0x44e440
mov dword [esp + 0xc], eax
jl 0x405f2d
movzx eax, word [0x4ac486]
mov edx, dword [esp + 0x1c]
add edx, 0xfffffffe
cmp edi, eax
jae 0x406002
movzx eax, word [0x466040]
cmp edx, eax
jae 0x406002
mov ecx, esi
mov eax, edi
shr eax, cl
mov ecx, eax
movzx eax, word [0x466104]
imul ecx, eax
mov eax, ecx
mov ecx, esi
shr edx, cl
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffffe
and ecx, 1
add ecx, dword [esp + 0x2c]
add eax, edx
mov edx, dword [0x466120]
add ecx, ecx
shr edx, cl
and edx, 3
lea eax, [edx + eax*4]
movzx ecx, word [ebx + eax*2]
mov dword [esp + 0xc], ecx
jmp 0x40600a
mov dword [esp + 0xc], 0
movzx eax, word [0x4ac486]
mov edx, dword [esp + 0x1c]
add edx, 2
mov dword [esp + 0x30], edx
cmp edi, eax
jae 0x406066
movzx eax, word [0x466040]
cmp edx, eax
jae 0x406066
mov ecx, esi
mov eax, edi
shr eax, cl
mov ecx, eax
movzx eax, word [0x466104]
imul ecx, eax
mov eax, ecx
mov ecx, esi
shr edx, cl
mov ecx, dword [esp + 0x30]
and ecx, 1
add ecx, dword [esp + 0x2c]
add eax, edx
mov edx, dword [0x466120]
add ecx, ecx
shr edx, cl
and edx, 3
lea eax, [edx + eax*4]
movzx eax, word [ebx + eax*2]
jmp 0x406068
xor eax, eax
mov ecx, dword [esp + 0xc]
fnstcw word [esp + 0x10]
add eax, ecx
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x30], eax
movzx eax, word [0x466104]
fmul st(2)
fild dword [esp + 0x24]
mov ecx, esi
fmul st(2)
shr edi, cl
fadd st(4)
imul edi, eax
faddp st(1)
fldcw word [esp + 0x30]
fistp dword [esp + 0x30]
add edi, dword [esp + 0x44]
mov eax, dword [esp + 0x18]
mov dx, word [esp + 0x30]
lea ecx, [eax + edi*4]
fldcw word [esp + 0x10]
mov word [ebx + ecx*2], dx
mov ecx, dword [esp + 0x28]
movzx eax, word [0x4ac486]
inc ecx
mov dword [esp + 0x28], ecx
cmp ecx, eax
jb 0x405d6b
fstp st(2)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x406196
cmp ebx, 0x81
jne 0x406196
movzx edx, word [0x4ac486]
cmp esi, edx
jae 0x406196
mov eax, esi
and eax, 7
mov ecx, edi
and ecx, 1
lea ecx, [ecx + eax*2]
mov eax, dword [0x466120]
add ecx, ecx
shr eax, cl
xor ebx, ebx
mov dword [esp + 0x24], 0
and eax, 3
cmp eax, 1
setne bl
mov dword [esp + 0x18], eax
add ebx, ebx
add ebx, ebx
lea eax, [ebx + 8]
cmp ebx, eax
mov dword [esp + 0x30], eax
jge 0x406164
mov edi, edi
movsx edx, byte [ebx*2 + 0x44e429]
movsx eax, byte [ebx*2 + 0x44e428]
add edx, edi
add eax, esi
call fcn.00405400
add dword [esp + 0x24], eax
inc ebx
cmp ebx, dword [esp + 0x30]
jl 0x406140
movzx ecx, word [0x4ac426]
movzx eax, word [0x466104]
mov edx, dword [esp + 0x24]
shr esi, cl
shr edi, cl
mov ecx, dword [esp + 0x18]
add edx, 4
imul esi, eax
sar edx, 3
add esi, edi
lea eax, [ecx + esi*4]
mov ecx, dword [0x4ac418]
mov word [ecx + eax*2], dx
sub dword [esp + 0x20], 1
jne 0x405cd0
jmp 0x40622b
cmp ebx, 0x401
jne 0x4061b4
push 2
push 1
jmp 0x406223
cmp ebx, 0x416
je 0x40621f
cmp ebx, 0x410
je 0x40621f
cmp ebx, 0x40b
jne 0x4061d0
push 4
jmp 0x406221
cmp ebx, 0x412
jne 0x40622b
mov edx, dword [0x486344]
push 1
push 0x24
push edx
call fcn.00435f77
add esp, 0xc
call fcn.00401190
movzx eax, ax
sub eax, dword [0x486334]
cdq
xor eax, edx
sub eax, edx
cmp dword [esp + 0x38], eax
jle 0x40622b
mov dword [esp + 0x38], eax
mov eax, dword [0x486344]
push eax
call fcn.00435c4a
add esp, 4
sub eax, 0x26
mov dword [esp + 0x3c], eax
jmp 0x40622b
push 2
push 0
call fcn.00405460
add esp, 8
mov ecx, dword [esp + 0x14]
mov edx, dword [0x486344]
push 0
push ecx
push edx
call fcn.00435f77
add esp, 0xc
cmp dword [esp + 0x34], 0
jne 0x4059d1
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x40664a
push 0
push eax
mov eax, dword [0x486344]
push eax
call fcn.00435f77
add esp, 0xc
xor esi, esi
jmp 0x406270
call fcn.00401240
and eax, 0x7fff
mov dword [esp + esi*4 + 0x64], eax
inc esi
cmp esi, 9
jl 0x406270
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
imul ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
imul esi, edi
lea ecx, [esi + ebx]
push 6
push ecx
call fcn.004348ad
add esp, 8
mov dword [esp + 0x4c], eax
test eax, eax
je 0x406651
lea eax, [eax + esi*4]
mov dword [esp + 0x50], eax
lea eax, [eax + ebx*4]
lea edx, [eax + esi*2]
mov dword [esp + 0x44], eax
mov eax, dword [0x486344]
push eax
push 2
lea ecx, [esp + 0x2c]
push 1
push ecx
mov dword [esp + 0x58], edx
mov byte [esp + 0x34], 0xff
mov byte [esp + 0x35], 0xff
call fcn.00435763
add esp, 0x10
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + ecx + 0x68]
imul edx, dword [esp + ecx + 0x70]
lea eax, [esp + ecx + 0x70]
lea ecx, [esp + ecx + 0x68]
test edx, edx
jle 0x40632a
mov edx, dword [esp + 0xc]
mov ebx, dword [ecx]
mov esi, dword [esp + edx + 0x4c]
imul ebx, dword [eax]
push 8
call fcn.004012e0
fstp dword [esi]
add esp, 4
add esi, 4
sub ebx, 1
jne 0x406316
mov eax, dword [esp + 0xc]
add eax, 4
cmp eax, 8
mov dword [esp + 0xc], eax
jl 0x4062f0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + ecx + 0x68]
imul edx, dword [esp + ecx + 0x70]
lea eax, [esp + ecx + 0x70]
lea ecx, [esp + ecx + 0x68]
test edx, edx
jle 0x4063ca
mov edx, dword [esp + 0xc]
mov ebx, dword [ecx]
mov esi, dword [esp + edx + 0x44]
imul ebx, dword [eax]
mov eax, dword [0x486344]
push eax
push 2
lea ecx, [esp + 0x18]
push 1
push ecx
mov byte [esp + 0x20], 0xff
mov byte [esp + 0x21], 0xff
call fcn.00435763
movzx ax, byte [esp + 0x21]
mov edx, 0x4949
add esp, 0x10
cmp word [0x465c48], dx
jne 0x4063af
movzx cx, byte [esp + 0x10]
shl ax, 8
or ax, cx
movzx eax, ax
jmp 0x4063bf
movzx dx, byte [esp + 0x10]
shl dx, 8
or dx, ax
movzx eax, dx
mov word [esi], ax
add esi, 2
sub ebx, 1
jne 0x406368
mov eax, dword [esp + 0xc]
add eax, 4
cmp eax, 8
mov dword [esp + 0xc], eax
jl 0x406342
movzx eax, word [0x4ac486]
mov dword [esp + 0x28], 0
test eax, eax
jbe 0x40663d
fld qword [0x4517b8]
fld1
fld qword [0x4517d0]
movzx eax, word [0x466040]
mov dword [esp + 0x1c], 0
test eax, eax
jbe 0x40661f
movzx ecx, word [0x4ac484]
fild dword [esp + 0x70]
movzx edx, word [0x4ac498]
fstp dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], ecx
add edx, eax
fild dword [esp + 0x14]
mov dword [esp + 0x14], edx
fstp qword [esp + 0x88]
fild dword [esp + 0x14]
test edx, edx
jge 0x406457
fadd dword [0x451808]
mov ecx, eax
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
and ecx, 7
add ecx, ecx
mov dword [esp + 0x2c], ecx
movzx ecx, word [0x4ac426]
shr eax, cl
movzx ecx, word [0x466104]
imul eax, ecx
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0x1c]
mov edx, esi
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
test edx, edx
jge 0x406499
fadd dword [0x451808]
fmul dword [esp + 0x30]
fdiv qword [esp + 0x88]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld st(0)
call fcn.00436cf0
mov edx, dword [0x466120]
mov ecx, esi
and ecx, 1
add ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
fisub dword [esp + 0x14]
add ecx, ecx
shr edx, cl
movzx ecx, word [0x4ac426]
shr esi, cl
and edx, 3
fstp dword [esp + 0x18]
add esi, dword [esp + 0x40]
lea ecx, [edx + esi*4]
mov edx, dword [0x4ac418]
lea ecx, [edx + ecx*2]
mov dword [esp + 0x20], ecx
movzx ecx, word [ecx]
mov dword [esp + 0x14], ecx
lea ecx, [eax + 2]
cmp eax, ecx
fild dword [esp + 0x14]
fmul st(2)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
jge 0x4065c7
mov edx, eax
imul edx, edi
lea esi, [esp + 0x54]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x44]
mov ebx, edx
lea edx, [esi + edx*2]
sub ecx, eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
xor ecx, ecx
xor edx, edx
test edi, edi
jle 0x406588
mov esi, dword [esp + 0x34]
movzx eax, word [esi]
mov dword [esp + 0x14], eax
lea edx, [ebx + ecx]
fild dword [esp + 0x14]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x40655d
inc ecx
add esi, 2
cmp ecx, edi
jl 0x40653e
test ecx, ecx
je 0x406588
cmp ecx, edi
je 0x406588
mov ecx, dword [esp + 0x44]
movzx eax, word [ecx + edx*2]
movzx ecx, word [ecx + edx*2 - 2]
mov dword [esp + 0x14], eax
sub eax, ecx
fild dword [esp + 0x14]
mov dword [esp + 0x14], eax
fsub st(1)
fidiv dword [esp + 0x14]
jmp 0x40658a
fldz
mov eax, dword [esp + 0x4c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
add ebx, edi
fld st(0)
fsubr st(5)
fmul dword [eax + edx*4]
fld dword [eax + edx*4 - 4]
mov eax, dword [esp + 0x3c]
fmulp st(2)
add eax, 4
mov dword [esp + 0x3c], eax
faddp st(1)
fstp dword [eax - 4]
lea eax, [edi + edi]
add dword [esp + 0x34], eax
sub dword [esp + 0x38], 1
jne 0x406532
fld dword [esp + 0x18]
fld st(0)
fsubr st(5)
fmul dword [esp + 0x54]
fld dword [esp + 0x58]
fmulp st(2)
faddp st(1)
fmul st(2)
faddp st(1)
fmul st(4)
call fcn.00436cf0
cmp eax, 0xffff
jge 0x4065f9
xor edx, edx
test eax, eax
setl dl
dec edx
and eax, edx
jmp 0x4065fe
mov eax, 0xffff
mov ecx, dword [esp + 0x20]
mov word [ecx], ax
mov eax, dword [esp + 0x1c]
movzx ecx, word [0x466040]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, ecx
jb 0x406481
fstp st(0)
mov eax, dword [esp + 0x28]
movzx ecx, word [0x4ac486]
inc eax
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x406403
fstp st(1)
fstp st(1)
fstp st(0)
mov edx, dword [esp + 0x4c]
push edx
call fcn.0043481f
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4ac404]
push str.phase_one_correct__
push eax
push str._s:_Out_of_memory_in__s_n
call fcn.00434a96
add eax, 0x40
push eax
call fcn.00435780
add esp, 0x10
push 1
push 0x4660c0
call fcn.00435cb8
int3