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

Disassembly:
sub esp, 0x270
mov eax, dword [0x43ecb0]
xor eax, esp
mov dword [esp + 0x268], eax
fld qword [0x41dd88]
mov eax, dword [ecx + 0x20]
fst qword [esp + 0x2c]
push ebx
fld qword [0x41dd80]
push ebp
mov ebp, dword [ecx + 0x10]
fstp qword [esp + 0x3c]
fld qword [0x41dd78]
xor ebx, ebx
cmp dword [ecx + 8], ebx
fst qword [esp + 0x44]
fxch st(1)
push edi
fstp qword [esp + 0x50]
mov dword [esp + 0x18], ecx
fld qword [0x41dd70]
mov dword [esp + 0x20], ebp
fstp qword [esp + 0x58]
mov dword [esp + 0x10], ebx
fld qword [0x41dd68]
fstp qword [esp + 0x60]
fstp qword [esp + 0x68]
jle 0x4018b6
lea ecx, [ebp*8]
mov dword [esp + 0xc], eax
sub eax, ecx
mov dword [esp + 0x14], eax
test ebx, ebx
je 0x40182f
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jb 0x40172c
push 1
push esi
call sub.cgraph.dll_agxbmore
add esp, 8
mov ecx, dword [esi + 4]
mov byte [ecx], 0x20
inc dword [esi + 4]
cmp ebx, 1
je 0x401751
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
dec eax
cmp ebx, eax
je 0x401751
lea eax, [esp + 0x38]
mov ecx, 3
jmp 0x40175a
lea eax, [esp + 0x50]
mov ecx, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ecx
fld qword [eax]
xor edi, edi
fst qword [esp + 0x30]
test ebp, ebp
jle 0x4017eb
fld1
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
fsubrp st(1)
fstp qword [esp + 0x28]
test edi, edi
je 0x40179e
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
jb 0x401795
push 1
push esi
call sub.cgraph.dll_agxbmore
add esp, 8
mov edx, dword [esi + 4]
mov byte [edx], 0x2c
inc dword [esi + 4]
fld qword [ebp]
sub esp, 8
fmul qword [esp + 0x38]
lea eax, [esp + 0x78]
fld qword [esp + 0x30]
fmul qword [ebx]
faddp st(1)
fstp qword [esp]
push str._.03f
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
lea ecx, [esp + 0x80]
push ecx
push esi
call sub.cgraph.dll_agxbput
inc edi
add esp, 0x18
add ebx, 8
add ebp, 8
cmp edi, dword [esp + 0x20]
jl 0x40177e
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
jmp 0x4017ed
fstp st(0)
mov edx, dword [esi + 4]
cmp edx, dword [esi + 8]
jb 0x401800
push 1
push esi
call sub.cgraph.dll_agxbmore
add esp, 8
mov eax, dword [esi + 4]
mov byte [eax], 0x20
mov eax, dword [esp + 0x1c]
mov ecx, 1
add dword [esi + 4], ecx
add eax, 8
sub dword [esp + 0x24], ecx
mov dword [esp + 0x1c], eax
jne 0x401762
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
dec edx
cmp ebx, edx
jne 0x401895
xor edi, edi
test ebp, ebp
jle 0x401895
mov ebx, dword [esp + 0xc]
lea esp, [esp]
test edi, edi
je 0x401860
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jb 0x401857
push 1
push esi
call sub.cgraph.dll_agxbmore
add esp, 8
mov ecx, dword [esi + 4]
mov byte [ecx], 0x2c
inc dword [esi + 4]
fld qword [ebx]
sub esp, 8
fstp qword [esp]
lea edx, [esp + 0x78]
push str._.03f
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
lea eax, [esp + 0x80]
push eax
push esi
call sub.cgraph.dll_agxbput
inc edi
add esp, 0x18
add ebx, 8
cmp edi, ebp
jl 0x401840
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
lea eax, [ebp*8]
add dword [esp + 0x14], eax
add dword [esp + 0xc], eax
inc ebx
cmp ebx, dword [ecx + 8]
mov dword [esp + 0x10], ebx
jl 0x401711
mov ecx, dword [esp + 0x274]
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.0041b870
add esp, 0x270
ret