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

Disassembly:
sub esp, 0x50
test byte [0x79b4a0], 1
push esi
push edi
mov esi, ecx
jne 0x421fe4
or byte [0x79b4a0], 1
push 0x422390
call fcn.00461600
add esp, 4
fld dword [esi + 0x20]
fadd dword [esp + 0x6c]
sub esp, 4
sub esp, 4
fst dword [esp + 0x14]
fadd dword [esi + 0x84]
sub esp, 4
fstp dword [esp + 8]
fld dword [esi + 0x7c]
fadd dword [esp + 0x18]
sub esp, 4
fstp dword [esp + 8]
fld dword [esi + 0x80]
fsub dword [esp + 0x1c]
mov ecx, 0x79b460
fstp dword [esp + 4]
fld dword [esi + 0x78]
fsub dword [esp + 0x1c]
fstp dword [esp]
call fcn.00426cf0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
push eax
push edx
lea eax, [esp + 0x44]
push ecx
lea edx, [esp + 0x44]
push eax
push edx
mov ecx, 0x79b460
call fcn.00426fc0
test al, al
jne 0x42208c
fld dword [0x4701ac]
pop edi
pop esi
add esp, 0x50
ret 0x14
fld dword [esp + 0x3c]
fsub dword [esp + 0x34]
fstp dword [esp + 0x14]
fld dword [esp + 0x40]
fsub dword [esp + 0x38]
fstp dword [esp + 0x20]
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
faddp st(1)
fcom dword [0x79b458]
fstp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
je 0x4220e5
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00421c10
pop edi
pop esi
add esp, 0x50
ret 0x14
fld dword [esp + 0x1c]
fsqrt
fst dword [esp + 0x24]
fdivr dword [esp + 0x14]
mov dword [esp + 0x18], 0xc7c34f80
mov dword [esp + 8], 0
cmp dword [esp + 0x24], 0x80000000
fstp dword [esp + 0x14]
fld dword [esp + 0x20]
fdiv dword [esp + 0x24]
fst dword [esp + 0x20]
fchs
fstp dword [esp + 0x44]
ja 0x4221fa
fld dword [esp + 0xc]
fchs
fstp dword [esp + 0x30]
fld dword [esp + 8]
fmul dword [esp + 0x14]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], eax
fadd dword [esp + 0x34]
fstp dword [esp + 0x1c]
fld dword [esp + 8]
fmul dword [esp + 0x20]
fadd dword [esp + 0x38]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 0x41
je 0x4221e0
fld dword [esp + 0x44]
fmul dword [esp + 0x10]
sub esp, 4
fsub dword [esi + 0xc]
fadd dword [esp + 0x20]
fdiv dword [esi + 0x20]
fstp dword [esp]
call fcn.0041d8f0
fld dword [esp + 0x14]
fmul dword [esp + 0x18]
add esp, 4
mov edi, eax
sub esp, 4
fsub dword [esi + 0x10]
fadd dword [esp + 0x30]
fdiv dword [esi + 0x20]
fstp dword [esp]
call fcn.0041d8f0
add esp, 4
mov ecx, dword [esi + 0x18]
imul ecx, edi
add ecx, eax
mov eax, dword [esi + 0x28]
fld dword [eax + ecx*8]
fcomp dword [esp + 0x18]
mov edx, dword [eax + ecx*8]
fnstsw ax
test ah, 0x41
jne 0x4221ca
mov dword [esp + 0x18], edx
fld dword [esi + 0x24]
fadd dword [esp + 0x10]
fcom dword [esp + 0xc]
fstp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x422168
fld dword [esi + 0x24]
fadd dword [esp + 8]
fcom dword [esp + 0x24]
fstp dword [esp + 8]
fnstsw ax
test ah, 0x41
jne 0x422131
fld dword [esp + 0xc]
fmul dword [esp + 0xc]
mov dword [esp + 8], 0
cmp dword [esp + 0xc], 0x80000000
fstp dword [esp + 0x1c]
ja 0x422379
fld dword [esp + 8]
fmul dword [esp + 0x14]
fld dword [esp + 8]
fmul dword [esp + 0x20]
fld dword [esp + 0x34]
fsub st(2)
fstp dword [esp + 0x2c]
fld dword [esp + 0x38]
fsub st(1)
fstp dword [esp + 0x30]
fxch st(1)
fadd dword [esp + 0x3c]
fstp dword [esp + 0x24]
fadd dword [esp + 0x40]
fstp dword [esp + 0x54]
fld dword [esp + 8]
fmul dword [esp + 8]
fsubr dword [esp + 0x1c]
fsqrt
fst dword [esp + 0x50]
fchs
fcom dword [esp + 0x50]
fstp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
je 0x42235f
fld dword [esp + 0x44]
fmul dword [esp + 0x10]
sub esp, 4
fstp dword [esp + 0x4c]
fld dword [esp + 0x14]
fmul dword [esp + 0x18]
fstp dword [esp + 0x50]
fld dword [esp + 0x4c]
fsub dword [esi + 0xc]
fadd dword [esp + 0x30]
fdiv dword [esi + 0x20]
fstp dword [esp]
call fcn.0041d8f0
fld dword [esp + 0x34]
fsub dword [esi + 0x10]
add esp, 4
mov edi, eax
sub esp, 4
fadd dword [esp + 0x50]
fdiv dword [esi + 0x20]
fstp dword [esp]
call fcn.0041d8f0
add esp, 4
mov ecx, dword [esi + 0x18]
imul ecx, edi
add ecx, eax
mov eax, dword [esi + 0x28]
fld dword [eax + ecx*8]
fcomp dword [esp + 0x18]
mov edx, dword [eax + ecx*8]
fnstsw ax
test ah, 0x41
jne 0x4222eb
mov dword [esp + 0x18], edx
fld dword [esp + 0x48]
fsub dword [esi + 0xc]
sub esp, 4
fadd dword [esp + 0x28]
fdiv dword [esi + 0x20]
fstp dword [esp]
call fcn.0041d8f0
fld dword [esp + 0x58]
fsub dword [esi + 0x10]
add esp, 4
mov edi, eax
sub esp, 4
fadd dword [esp + 0x50]
fdiv dword [esi + 0x20]
fstp dword [esp]
call fcn.0041d8f0
add esp, 4
mov ecx, dword [esi + 0x18]
imul ecx, edi
add ecx, eax
mov eax, dword [esi + 0x28]
fld dword [eax + ecx*8]
fcomp dword [esp + 0x18]
mov edx, dword [eax + ecx*8]
fnstsw ax
test ah, 0x41
jne 0x422345
mov dword [esp + 0x18], edx
fld dword [esi + 0x24]
fadd dword [esp + 0x10]
fcom dword [esp + 0x50]
fstp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x422279
fld dword [esi + 0x24]
fadd dword [esp + 8]
fcom dword [esp + 0xc]
fstp dword [esp + 8]
fnstsw ax
test ah, 0x41
jne 0x42221c
fld dword [esp + 0x18]
pop edi
pop esi
add esp, 0x50
ret 0x14