Function at 0x401910
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x4c
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x130]
xor esi, esi
xor ecx, ecx
cmp eax, esi
jle 0x401999
xor edx, edx
mov eax, dword [edi + 0x134]
fld dword [eax + edx + 0x18]
add eax, edx
fld st(0)
add eax, 0x94
fmul dword [eax - 0x74]
inc ecx
fld st(1)
add edx, 0x13c
fmul dword [eax - 0x70]
fstp dword [esp + 0x38]
fxch st(1)
fmul dword [eax - 0x6c]
fstp dword [esp + 0x3c]
fadd dword [eax - 0x94]
fstp dword [esp + 0x28]
mov ebx, dword [esp + 0x28]
fld dword [esp + 0x38]
fadd dword [eax - 0x90]
fstp dword [esp + 0x2c]
fld dword [esp + 0x3c]
fadd dword [eax - 0x8c]
mov dword [eax], ebx
mov ebx, dword [esp + 0x2c]
mov dword [eax + 4], ebx
fstp dword [esp + 0x30]
mov ebx, dword [esp + 0x30]
mov dword [eax + 8], ebx
cmp ecx, dword [edi + 0x130]
jl 0x401928
cmp dword [edi + 0x130], esi
mov dword [esp + 0x24], esi
jle 0x401c79
mov dword [esp + 0x20], esi
push ebp
mov edi, edi
mov esi, dword [edi + 0x134]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esi + ecx + 0x10c]
mov ebp, dword [esi + ecx + 0x110]
add esi, ecx
test ebx, ebx
je 0x401c53
test ebp, ebp
je 0x401c53
push esi
mov ecx, edi
call fcn.00401340
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0x74]
push 0x41800000
push ecx
mov ecx, dword [esp + 0x68]
lea eax, [esi + 0x78]
push eax
push edx
call fcn.004e8ce0
fstp dword [esp + 0x18]
push ebx
mov ecx, edi
call fcn.00401340
mov ecx, dword [ebx + 0x70]
mov edx, dword [ebx + 0x74]
push 0x41800000
push ecx
mov ecx, dword [esp + 0x68]
lea eax, [ebx + 0x78]
push eax
push edx
call fcn.004e8ce0
fstp dword [esp + 0x10]
push ebp
mov ecx, edi
call fcn.00401340
mov ecx, dword [ebp + 0x70]
mov edx, dword [ebp + 0x74]
push 0x41800000
push ecx
mov ecx, dword [esp + 0x68]
lea eax, [ebp + 0x78]
push eax
push edx
call fcn.004e8ce0
fld dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x401a5b
fld dword [esp + 0x10]
jmp 0x401a5d
fld st(0)
fld dword [esp + 0x18]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x401a78
mov eax, dword [esp + 0x18]
fstp st(0)
mov dword [esp + 0x1c], eax
jmp 0x401a95
fld dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x401a91
mov ecx, dword [esp + 0x10]
fstp st(0)
mov dword [esp + 0x1c], ecx
jmp 0x401a95
fstp dword [esp + 0x1c]
fld dword [esi + 0x18]
mov edx, dword [esi + 0x18]
fsub dword [0x59e44c]
mov dword [esp + 0x20], edx
fstp dword [esp + 0x14]
fld dword [esi + 0x18]
fadd dword [0x59e448]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x401bfc
fld dword [esp + 0x14]
lea eax, [esi + 0x94]
fmul dword [esi + 0x20]
push esi
fld dword [esp + 0x18]
fmul dword [esi + 0x24]
fld dword [esp + 0x18]
fmul dword [esi + 0x28]
fstp dword [esp + 0x50]
fxch st(1)
fadd dword [esi]
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
mov dword [eax], ecx
fadd dword [esi + 4]
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
fld dword [esp + 0x50]
mov dword [eax + 4], edx
fadd dword [esi + 8]
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
mov ecx, edi
call fcn.00401340
mov edx, dword [esi + 0x70]
mov ecx, dword [esp + 0x60]
push 0x41800000
push edx
lea eax, [esi + 0x78]
push eax
mov eax, dword [esi + 0x74]
push eax
call fcn.004e8ce0
fstp dword [esp + 0x18]
push ebx
mov ecx, edi
call fcn.00401340
mov ecx, dword [ebx + 0x70]
mov edx, dword [ebx + 0x74]
push 0x41800000
push ecx
mov ecx, dword [esp + 0x68]
lea eax, [ebx + 0x78]
push eax
push edx
call fcn.004e8ce0
fstp dword [esp + 0x10]
push ebp
mov ecx, edi
call fcn.00401340
mov eax, dword [ebp + 0x70]
mov ecx, dword [ebp + 0x74]
push 0x41800000
push eax
lea eax, [ebp + 0x78]
push eax
push ecx
mov ecx, dword [esp + 0x70]
call fcn.004e8ce0
fld dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x401b8f
fld dword [esp + 0x10]
jmp 0x401b91
fld st(0)
fld dword [esp + 0x18]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x401ba8
fstp st(0)
fld dword [esp + 0x18]
jmp 0x401bbb
fld dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x401bbb
fstp st(0)
fld dword [esp + 0x10]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x401bd4
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x1c]
mov dword [esp + 0x20], edx
jmp 0x401bd6
fstp st(0)
fld dword [esp + 0x14]
fadd dword [0x59e444]
fstp dword [esp + 0x14]
fld dword [esi + 0x18]
fadd dword [0x59e448]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
je 0x401ac1
fld dword [esp + 0x20]
add esi, 0x94
fmul dword [esi - 0x74]
fld dword [esp + 0x20]
fmul dword [esi - 0x70]
fld dword [esp + 0x20]
fmul dword [esi - 0x6c]
fstp dword [esp + 0x58]
fxch st(1)
fadd dword [esi - 0x94]
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
fadd dword [esi - 0x90]
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
fld dword [esp + 0x58]
fadd dword [esi - 0x8c]
mov dword [esi], eax
mov dword [esi + 4], ecx
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
mov dword [esi + 8], edx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ecx, dword [edi + 0x130]
inc eax
add edx, 0x13c
cmp eax, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edx
jl 0x4019b0
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret 4