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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4ae04a
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x4c8bb0]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [esi + 0x48], 0
jne 0x4407c8
cmp dword [esi + 0x54], 0
jne 0x4407c8
cmp dword [esi + 0x5c], 0
jne 0x4407c8
fld dword [0x4b8f60]
fld dword [ebp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x4403be
fld dword [ebp + 8]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x4403da
fstp st(1)
fstp st(0)
mov eax, 0xe
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
fld dword [ebp + 0xc]
fst dword [esi + 0x10]
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x440409
fstp st(2)
mov eax, 0xe
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebp + 0x14]
fxch st(2)
fstp dword [esi + 0x3c]
mov dword [esi + 0x38], eax
fxch st(1)
mov ebx, 1
fstp dword [esi + 0xc]
mov dword [esi + 0x34], ebx
fldz
fst dword [esi]
fst dword [esi + 0x14]
fst dword [esi + 0x18]
fst dword [esi + 0x1c]
fxch st(1)
fst dword [esi + 4]
fst dword [esi + 8]
fst dword [esi + 0x20]
fxch st(1)
fst dword [esi + 0x28]
fstp dword [esi + 0x2c]
fld1
fstp dword [esi + 0x30]
fld dword [ebp + 0x18]
fstp dword [esi + 0x24]
fdivr dword [esi + 0x3c]
fld1
fsubrp st(1)
call sub.MSVCR100.dll__CIacos
fadd st(0), st(0)
fdivr qword [0x4b92a8]
call fcn.0049f350
sub ebx, eax
mov dword [esp + 0x2c], ebx
cmp ebx, 3
jge 0x440479
mov ebx, 3
mov dword [esp + 0x2c], ebx
fild dword [esp + 0x2c]
lea edx, [ebx*4]
lea eax, [ebx + ebx*2]
add eax, eax
fdivr qword [0x4b3d18]
mov edi, edx
lea ecx, [ebx + ebx + 2]
sub edi, eax
add edi, ecx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x4c], edx
mov dword [esi + 0x58], eax
fstp qword [esp + 0x34]
cmp edi, 2
je 0x4404cc
mov ecx, esi
call fcn.0043ff70
mov eax, 0xe
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
push edx
push eax
push ecx
mov ecx, esi
call fcn.004400c0
mov edi, eax
xor eax, eax
cmp edi, eax
je 0x4404fc
mov ecx, esi
call fcn.0043ff70
mov eax, edi
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
fldz
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x38]
push edx
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [esp + 0x54]
fld qword [esp + 0x4c]
mov dword [esp + 0x98], eax
fstp qword [esp]
push ebx
call fcn.0043f5f0
mov edi, eax
mov ecx, esi
test edi, edi
je 0x440567
call fcn.0043ff70
lea ecx, [esp + 0x3c]
mov dword [esp + 0x80], 0xffffffff
call fcn.00443100
mov eax, edi
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
fld dword [esi + 0x24]
sub esp, 0x18
fadd dword [esi + 0x10]
fstp qword [esp + 0x10]
fldz
fst qword [esp + 8]
fstp qword [esp]
push 0
call fcn.0043f440
fld dword [esi + 0x24]
fadd dword [esi + 0x10]
mov edi, 1
fstp qword [esp + 0x3c]
test ebx, ebx
jle 0x4405ea
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], ebx
jmp 0x4405b8
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
fld dword [ebp + 8]
sub esp, 0x18
fld st(0)
fmul qword [ecx + eax]
mov ecx, esi
fxch st(1)
fmul qword [eax]
fld qword [esp + 0x54]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
push edi
call fcn.0043f440
add dword [esp + 0x28], 8
inc edi
dec dword [esp + 0x2c]
jne 0x4405b0
fld dword [esi + 0x24]
fstp qword [esp + 0x3c]
test ebx, ebx
jle 0x44064a
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], ebx
jmp 0x440618
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
fld dword [ebp + 8]
sub esp, 0x18
fld st(0)
fmul qword [eax + ecx]
mov ecx, esi
fxch st(1)
fmul qword [eax]
fld qword [esp + 0x54]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
push edi
call fcn.0043f440
add dword [esp + 0x28], 8
inc edi
dec dword [esp + 0x34]
jne 0x440610
fld dword [esi + 0x24]
sub esp, 0x18
fstp qword [esp + 0x10]
mov ecx, esi
fldz
mov dword [esp + 0x54], edi
fst qword [esp + 8]
fstp qword [esp]
push edi
call fcn.0043f440
inc edi
cmp edi, dword [esi + 0x40]
je 0x440687
push 0x1db
push 0x4b8fac
push 0x4b8fc8
call dword [sym.imp.MSVCR100.dll__wassert]
add esp, 0xc
lea ecx, [ebx - 1]
inc ebx
xor edi, edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], ecx
lea eax, [edi + 1]
lea ebx, [edi + 2]
test ecx, ecx
jle 0x4406b9
mov dword [esp + 0x34], ecx
push 0
push ebx
push eax
push edi
mov ecx, esi
call fcn.0043f490
mov eax, ebx
inc edi
inc ebx
dec dword [esp + 0x34]
jne 0x4406a3
push 0
push 1
push eax
push edi
mov ecx, esi
call fcn.0043f490
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
inc edi
mov dword [esp + 0x24], 1
lea ebx, [eax + 1]
test edx, edx
jle 0x440725
mov ecx, ebx
sub ecx, eax
inc ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], edx
push ebx
push eax
mov eax, dword [esp + 0x2c]
push eax
push edi
mov ecx, esi
call fcn.0043f490
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
push ecx
push ebx
push edx
inc edi
push edi
mov ecx, esi
call fcn.0043f490
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], ecx
mov eax, ebx
inc ecx
inc edi
inc ebx
dec dword [esp + 0x34]
mov dword [esp + 0x2c], ecx
jne 0x4406eb
mov ebx, dword [esp + 0x28]
push ebx
push eax
mov eax, dword [esp + 0x2c]
push eax
push edi
mov ecx, esi
call fcn.0043f490
mov ecx, dword [esp + 0x24]
push 1
push ebx
push ecx
inc edi
push edi
mov ecx, esi
call fcn.0043f490
mov ecx, dword [esp + 0x30]
mov eax, ebx
inc edi
inc ebx
test ecx, ecx
jle 0x440779
mov dword [esp + 0x34], ecx
lea esp, [esp]
mov edx, dword [esp + 0x3c]
push ebx
push edx
push eax
push edi
mov ecx, esi
call fcn.0043f490
mov eax, ebx
inc edi
inc ebx
dec dword [esp + 0x34]
jne 0x440760
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
push ecx
push edx
push eax
push edi
mov ecx, esi
call fcn.0043f490
inc edi
cmp edi, dword [esi + 0x4c]
je 0x4407aa
push 0x204
push 0x4b8fe4
push 0x4b9000
call dword [sym.imp.MSVCR100.dll__wassert]
add esp, 0xc
mov ecx, esi
call fcn.0043f740
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, 9
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14