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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xf4
push ebx
push esi
mov esi, dword [ebp + 8]
fld dword [esi]
push edi
mov edi, ecx
mov ecx, dword [ebp + 0xc]
fld dword [ecx]
mov dword [esp + 0x5c], 0
fcompp
fnstsw ax
test ah, 1
jne 0x445c18
fld dword [esi]
fstp qword [esp + 0x90]
fld dword [esi + 4]
fstp qword [esp + 0x80]
fld dword [esi + 8]
fst qword [esp + 0x70]
fld dword [ecx]
fstp qword [esp + 0x50]
fld dword [ecx + 4]
fstp qword [esp + 0x48]
fld dword [ecx + 8]
jmp 0x445c4a
fld dword [ecx]
mov dword [esp + 0x5c], 1
fstp qword [esp + 0x90]
fld dword [ecx + 4]
fstp qword [esp + 0x80]
fld dword [ecx + 8]
fst qword [esp + 0x70]
fld dword [esi]
fstp qword [esp + 0x50]
fld dword [esi + 4]
fstp qword [esp + 0x48]
fld dword [esi + 8]
fsubrp st(1)
fabs
fcomp qword [0x4b8f48]
fnstsw ax
test ah, 0x41
jnp 0x445c73
push 0x25e
push str.sim2update.cxx
push str.fabs_z2_z1____SimEpsEqual
call dword [sym.imp.MSVCR100.dll__wassert]
add esp, 0xc
fld qword [esp + 0x50]
fsub qword [esp + 0x90]
fst qword [esp + 0x40]
fld qword [esp + 0x48]
fsub qword [esp + 0x80]
fst qword [esp + 0xa0]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
call sub.MSVCR100.dll__CIsqrt
fst qword [esp + 0x98]
fcomp qword [0x4b8f48]
fnstsw ax
test ah, 5
jp 0x445ccb
push esi
mov ecx, edi
call fcn.004458d0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [edi + 0x2c]
fld dword [ecx + 0x20]
fst qword [esp + 0xb0]
fld dword [edi + 0x40]
fstp dword [esp + 0x3c]
fld dword [edi + 0x44]
fstp dword [esp + 0x30]
fld dword [edi + 0x48]
fstp dword [esp + 0x34]
fld dword [edi + 0x4c]
fstp dword [esp + 0x38]
fld qword [esp + 0x50]
fld qword [esp + 0x90]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x445d5b
fsub st(2)
fld dword [esp + 0x30]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x445d2b
fstp st(2)
mov eax, 1
fstp st(1)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fld st(2)
faddp st(2)
fxch st(1)
fst qword [esp + 0x88]
fld dword [esp + 0x3c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x445d80
fstp st(2)
mov eax, 1
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fxch st(1)
fsub st(2)
fld dword [esp + 0x30]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x445d2b
fstp st(2)
mov eax, 1
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fld qword [esp + 0x48]
fld qword [esp + 0x80]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x445de4
fsub st(4)
fst qword [esp + 0x68]
fld dword [esp + 0x38]
fcompp
fnstsw ax
test ah, 5
jp 0x445dbd
fstp st(3)
mov eax, 1
fstp st(1)
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fadd st(3)
fst qword [esp + 0x60]
fld dword [esp + 0x34]
fcompp
fnstsw ax
test ah, 0x41
jne 0x445e10
fstp st(2)
mov eax, 1
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fxch st(1)
fsub st(4)
fst qword [esp + 0x68]
fld dword [esp + 0x38]
fcompp
fnstsw ax
test ah, 5
jnp 0x445da7
fadd st(3)
fst qword [esp + 0x60]
fld dword [esp + 0x34]
fcompp
fnstsw ax
test ah, 0x41
je 0x445d47
fld dword [ecx]
sub esp, 8
fld dword [ecx + 8]
mov ecx, edi
fstp qword [esp + 0x50]
fld st(0)
fmul st(1)
fstp qword [esp + 0xb0]
fld st(3)
fmulp st(4)
fxch st(3)
fstp qword [esp + 0xc0]
fld qword [esp + 0x78]
fsubrp st(3)
fxch st(2)
fstp qword [esp + 0x58]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x445e5a
fstp st(0)
fstp qword [esp]
call fcn.0043c200
lea esi, [eax - 1]
jmp 0x445e66
fstp st(1)
fstp qword [esp]
call fcn.0043c200
mov esi, eax
fld dword [esp + 0x34]
sub esp, 8
fld qword [esp + 0x70]
mov ecx, edi
fcom st(1)
fnstsw ax
test ah, 5
jp 0x445e89
fstp st(0)
fstp qword [esp]
call fcn.0043c240
dec eax
jmp 0x445e93
fstp st(1)
fstp qword [esp]
call fcn.0043c240
fld dword [esp + 0x30]
mov dword [esp + 0x3c], eax
fld qword [esp + 0x88]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x445eaf
fstp st(0)
jmp 0x445eb1
fstp st(1)
fld dword [esp + 0x38]
fcom qword [esp + 0x60]
fnstsw ax
test ah, 5
jp 0x445ec6
fstp qword [esp + 0x60]
jmp 0x445ec8
fstp st(0)
sub esp, 8
mov ecx, edi
fstp qword [esp]
call fcn.0043c200
fld qword [esp + 0x60]
sub esp, 8
mov ecx, edi
fstp qword [esp]
mov dword [esp + 0x90], eax
call fcn.0043c240
fld qword [esp + 0x40]
fld qword [esp + 0x98]
mov dword [esp + 0x7c], eax
fdiv st(1), st(0)
fxch st(1)
fst qword [esp + 0xf8]
fld qword [esp + 0xa0]
fdiv st(2)
fst qword [esp + 0xe8]
fld st(0)
fchs
fstp qword [esp + 0xd0]
fld qword [esp + 0xb0]
fld st(0)
fchs
fstp qword [esp + 0xc8]
fld st(0)
faddp st(4)
fxch st(3)
fstp qword [esp + 0xd8]
fld dword [edi + 0x14]
fld qword [0x4b1c50]
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x445fe3
fld st(1)
fdiv st(3)
fst qword [esp + 0xa0]
fld st(1)
fmul qword [0x4b8f50]
fld st(1)
fmul st(4)
fld st(0)
fmul st(2)
fxch st(2)
fmul st(6)
faddp st(2)
fxch st(1)
fdiv st(3)
fadd qword [0x4b1b20]
call fcn.0049f350
fmul st(5)
fld st(4)
mov ebx, eax
fmulp st(6)
faddp st(5)
fxch st(4)
fdivrp st(1)
call fcn.0049f350
fld dword [edi + 8]
fsubr qword [esp + 0x80]
add ebx, eax
mov dword [esp + 0x38], ebx
fdiv dword [edi + 0x14]
call fcn.0049f350
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fld dword [edi + 4]
fsubr qword [esp + 0x90]
fdiv dword [edi + 0x14]
call fcn.0049f350
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fmulp st(4)
fsubrp st(3)
fxch st(2)
fstp qword [esp + 0xe0]
jmp 0x445feb
mov ebx, dword [esp + 0x38]
fstp st(0)
fstp st(2)
mov dword [esp + 0x30], esi
cmp esi, dword [esp + 0x88]
jg 0x44630e
fld qword [esp + 0x48]
jmp 0x446006
mov ebx, dword [esp + 0x38]
fld qword [0x4b1c50]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x446058
fild dword [esp + 0x30]
fmul qword [esp + 0xa0]
fadd qword [esp + 0xe0]
call fcn.0049f350
mov edx, dword [esp + 0x3c]
mov ecx, eax
sub ecx, ebx
add ebx, eax
cmp ecx, edx
jge 0x44603c
mov ecx, edx
mov eax, dword [esp + 0x7c]
cmp ebx, eax
jle 0x446046
mov ebx, eax
cmp ecx, eax
jg 0x4462f6
cmp ebx, edx
jl 0x4462f6
jmp 0x446060
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x7c]
fild dword [esp + 0x30]
mov eax, dword [edi + 0x10]
imul eax, dword [esp + 0x30]
fmul dword [edi + 0x14]
fadd dword [edi + 4]
mov edx, dword [edi + 0x18]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
add eax, ecx
fsub qword [esp + 0x90]
mov dword [esp + 0x40], 0
lea esi, [edx + eax*8]
mov dword [esp + 0x34], ecx
fld st(0)
fmul st(3)
fstp qword [esp + 0xc0]
fmul qword [esp + 0xd0]
fstp qword [esp + 0xf0]
cmp ecx, ebx
jg 0x4462f6
fld dword [esi]
fst qword [esp + 0x68]
fld qword [esp + 0x50]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x4460d3
fstp st(0)
add esi, 8
jmp 0x4462e5
fild dword [esp + 0x34]
fmul dword [edi + 0x14]
fadd dword [edi + 8]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fsub qword [esp + 0x80]
fld st(0)
fmul st(5)
fxch st(1)
fmul st(4)
fadd qword [esp + 0xf0]
fld st(0)
fabs
fld qword [esp + 0xb0]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x44612d
cmp dword [esp + 0x40], 1
fstp st(1)
fstp st(0)
fstp st(0)
fstp st(0)
jne 0x446125
lea eax, [ebx + 1]
mov dword [esp + 0x34], eax
add esi, 8
jmp 0x4462e5
fxch st(2)
mov dword [esp + 0x40], 1
fadd qword [esp + 0xc0]
fld qword [esp + 0xc8]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x446320
fld qword [esp + 0xd8]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x446320
fldz
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x446208
cmp dword [esp + 0x5c], 0
fstp st(2)
fstp st(2)
jne 0x446194
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 0
jle 0x446194
fstp st(0)
add esi, 8
fstp st(0)
jmp 0x4462e5
fstp st(3)
fstp st(3)
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fld qword [esp + 0xb8]
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0x4462ce
fstp st(0)
fabs
call sub.MSVCR100.dll__CIsqrt
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4461d6
fstp st(1)
fld qword [esp + 0x50]
jmp 0x4461f2
fsubp st(1)
fmul st(0), st(0)
fsubr qword [esp + 0xa8]
fabs
call sub.MSVCR100.dll__CIsqrt
fsubr qword [esp + 0x70]
fld qword [esp + 0x48]
fxch st(1)
fcom qword [esp + 0x68]
fnstsw ax
test ah, 5
jp 0x4462ca
fstp dword [esi]
jmp 0x4462d0
fld qword [esp + 0x98]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x446264
fstp st(0)
fstp st(0)
fstp st(3)
fstp st(3)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x446231
fstp st(1)
fld qword [esp + 0x50]
jmp 0x446253
fstp st(2)
fsubrp st(1)
fmul st(0), st(0)
fsubr qword [esp + 0xa8]
fabs
call sub.MSVCR100.dll__CIsqrt
fsubr qword [esp + 0x70]
fld qword [esp + 0x48]
fld qword [esp + 0x68]
fxch st(2)
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x4462ce
fxch st(1)
fstp dword [esi]
jmp 0x4462d0
cmp dword [esp + 0x5c], 0
fstp st(2)
fstp st(2)
je 0x446280
mov edx, dword [ebp + 0x10]
cmp dword [edx], 0
jle 0x446280
fstp st(0)
add esi, 8
fstp st(0)
jmp 0x4462e5
fstp st(3)
fstp st(3)
fxch st(1)
fsub qword [esp + 0x98]
fmul st(0), st(0)
fld st(2)
fmulp st(3)
faddp st(2)
fld qword [esp + 0xb8]
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0x4462ce
fstp st(0)
fabs
call sub.MSVCR100.dll__CIsqrt
fld qword [esp + 0x48]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4461d6
fstp st(1)
fld qword [esp + 0x50]
jmp 0x4461f2
fstp st(0)
jmp 0x4462d0
fstp st(1)
fld qword [esp + 0xe8]
add esi, 8
fld qword [esp + 0xf8]
fxch st(1)
fxch st(2)
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
cmp eax, ebx
jle 0x4460b6
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, dword [esp + 0x88]
jle 0x446002
fstp st(0)
pop edi
fstp st(0)
pop esi
fstp st(0)
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fstp st(0)
add esi, 8
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4462e5