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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4ae06d
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 0x440d2e
cmp dword [esi + 0x54], 0
jne 0x440d2e
cmp dword [esi + 0x5c], 0
jne 0x440d2e
fld dword [0x4b8f60]
fld dword [ebp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x44085e
fld dword [ebp + 8]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x44087a
fstp st(0)
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]
fld st(0)
fsub st(2)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [esi + 0x10]
fcomp st(3)
fnstsw ax
test ah, 0x41
jp 0x4408b5
fstp st(1)
mov eax, 0xe
fstp st(1)
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)
fst dword [esi + 0x3c]
mov dword [esi + 0x38], eax
fxch st(1)
mov dword [esi + 0x34], 2
fst dword [esi]
fst dword [esi + 4]
fldz
fst dword [esi + 8]
fst dword [esi + 0x18]
fst dword [esi + 0x1c]
fxch st(1)
fst dword [esi + 0x14]
fst dword [esi + 0x20]
fxch st(3)
fstp dword [esi + 0xc]
fst dword [esi + 0x28]
fstp dword [esi + 0x2c]
fld1
fstp dword [esi + 0x30]
fld dword [ebp + 0x18]
fstp dword [esi + 0x24]
fdivrp st(1)
fld1
fsubrp st(1)
call sub.MSVCR100.dll__CIacos
fadd st(0), st(0)
fdivr qword [0x4b92b8]
call fcn.0049f350
mov edi, 1
sub edi, eax
mov dword [esp + 0x20], edi
cmp edi, 3
jge 0x44092b
mov dword [esp + 0x20], 3
mov edi, dword [esp + 0x20]
fild dword [esp + 0x20]
lea ecx, [edi*4]
lea eax, [edi + 1]
imul eax, ecx
fdivr qword [0x4b92b0]
lea edx, [eax + eax]
mov dword [esp + 0x14], ecx
lea ecx, [eax + 2]
lea eax, [eax + eax*2]
mov ebx, edx
sub ebx, eax
add ebx, ecx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x4c], edx
mov dword [esi + 0x58], eax
fstp qword [esp + 0x34]
cmp ebx, 2
je 0x440988
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 ebx, eax
xor eax, eax
cmp ebx, eax
je 0x4409b8
mov ecx, esi
call fcn.0043ff70
mov eax, ebx
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 + 0x18]
push ecx
lea edx, [esp + 0x2c]
push edx
sub esp, 0x10
fstp qword [esp + 8]
mov dword [esp + 0x98], eax
fld qword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
fstp qword [esp]
push eax
lea ecx, [esp + 0x58]
call fcn.0043f5f0
mov ebx, eax
mov ecx, esi
test ebx, ebx
je 0x440a27
call fcn.0043ff70
lea ecx, [esp + 0x3c]
mov dword [esp + 0x80], 0xffffffff
call fcn.00443100
mov eax, ebx
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]
cmp dword [esp + 0x14], 0
fadd dword [esi + 0x10]
mov ebx, 1
fstp qword [esp + 0x3c]
jle 0x440aaa
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
sub eax, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], ecx
jmp 0x440a76
mov eax, dword [esp + 0x1c]
fld dword [ebp + 8]
sub esp, 0x18
fld st(0)
mov ecx, esi
fmul qword [eax + edi]
fxch st(1)
fmul qword [edi]
fld qword [esp + 0x54]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
push ebx
call fcn.0043f440
inc ebx
add edi, 8
dec dword [esp + 0x2c]
jne 0x440a72
mov edi, dword [esp + 0x20]
fld dword [ebp + 8]
test edi, edi
jle 0x440b57
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov ecx, edx
sub eax, edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], edi
cmp dword [esp + 0x14], 0
fld st(0)
fmul qword [ecx + eax]
fst qword [esp + 0x34]
fld dword [esi + 0x24]
fld st(2)
fmul qword [ecx]
fsubp st(1)
fstp qword [esp + 0x3c]
jle 0x440b44
mov edi, edx
fstp st(1)
mov edx, dword [esp + 0x14]
mov dword [esp + 0x2c], edx
jmp 0x440b04
fld qword [esp + 0x34]
fld qword [edi + eax]
sub esp, 0x18
fmul st(1)
mov ecx, esi
fld qword [edi]
fmulp st(2)
fld qword [esp + 0x54]
fstp qword [esp + 0x10]
fxch st(1)
fstp qword [esp + 8]
fstp qword [esp]
push ebx
call fcn.0043f440
mov eax, dword [esp + 0x1c]
inc ebx
add edi, 8
dec dword [esp + 0x2c]
jne 0x440b00
fld dword [ebp + 8]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
jmp 0x440b46
fstp st(0)
add ecx, 8
dec dword [esp + 0x28]
mov dword [esp + 0x24], ecx
jne 0x440acd
fsubr dword [esi + 0x24]
sub esp, 0x18
mov ecx, esi
mov dword [esp + 0x54], ebx
fstp qword [esp + 0x10]
fldz
fst qword [esp + 8]
fstp qword [esp]
push ebx
call fcn.0043f440
inc ebx
cmp ebx, dword [esi + 0x40]
je 0x440b94
push 0x274
push 0x4b901c
push 0x4b9038
call dword [sym.imp.MSVCR100.dll__wassert]
add esp, 0xc
mov ecx, dword [esp + 0x14]
dec ecx
xor edi, edi
mov eax, 1
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
lea ebx, [edi + 2]
test ecx, ecx
jle 0x440bc9
mov dword [esp + 0x28], 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 + 0x28]
jne 0x440bb3
push 0
push 1
push eax
push edi
mov ecx, esi
call fcn.0043f490
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
inc ecx
inc edi
mov dword [esp + 0x18], ecx
test eax, eax
jle 0x440cb1
lea edx, [ecx + 1]
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], eax
jmp 0x440c08
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x2c], 0
mov ebx, dword [esp + 0x1c]
mov eax, ecx
mov dword [esp + 0x20], edx
jle 0x440c71
mov ecx, edx
sub ecx, dword [esp + 0x18]
add ecx, ebx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x20]
push edx
push eax
push ebx
push edi
mov ecx, esi
call fcn.0043f490
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
push eax
push ecx
push ebx
inc edi
push edi
mov ecx, esi
call fcn.0043f490
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov ebx, edx
mov eax, ecx
inc ecx
inc edx
inc edi
dec dword [esp + 0x30]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
jne 0x440c2d
mov ecx, dword [esp + 0x18]
push ecx
push eax
push ebx
push edi
mov ecx, esi
call fcn.0043f490
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push edx
push eax
push ebx
inc edi
push edi
mov ecx, esi
call fcn.0043f490
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add dword [esp + 0x28], ecx
mov dword [esp + 0x1c], eax
add eax, ecx
inc edi
dec dword [esp + 0x34]
mov dword [esp + 0x18], eax
jne 0x440c00
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov eax, ecx
lea ebx, [ecx + 1]
test edx, edx
jle 0x440ce3
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0x3c]
push ebx
push ecx
push eax
push edi
mov ecx, esi
call fcn.0043f490
mov eax, ebx
inc edi
inc ebx
dec dword [esp + 0x34]
jne 0x440cc6
mov ecx, dword [esp + 0x1c]
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 0x440d10
push 0x2a3
push 0x4b9054
push 0x4b9070
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