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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x224
push ebx
push esi
push edi
mov esi, ecx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x94]
push ecx
mov ecx, esi
call fcn.00593ce0
mov edi, dword [esi + 0x14]
mov eax, dword [edi + 0x244]
test eax, eax
jne 0x5aee21
lea edx, [esp + 0x90]
push edx
mov ecx, edi
call fcn.005a9800
mov ecx, dword [esi + 0xc]
mov eax, dword [edi + 0x244]
mov edx, dword [ecx]
mov dword [esp + 0xcc], eax
call dword [edx + 8]
fld dword [eax + 4]
mov ecx, dword [esi + 0x10]
fsubr dword [esp + 0x94]
fld dword [eax + 8]
fsubr dword [esp + 0x98]
fld dword [esp + 0x90]
fsub dword [eax]
fstp dword [esp + 0x40]
fxch st(1)
fstp dword [esp + 0x44]
fstp dword [esp + 0x48]
mov eax, dword [ecx]
call dword [eax + 8]
fld dword [eax + 4]
fsubr dword [esp + 0x94]
fld dword [eax + 8]
fsubr dword [esp + 0x98]
fld dword [esp + 0x90]
fsub dword [eax]
fstp dword [esp + 0x30]
fxch st(1)
fstp dword [esp + 0x34]
fstp dword [esp + 0x38]
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
lea eax, [esp + 0x210]
push eax
lea eax, [esp + 0x164]
push eax
call dword [edx + 0x3c]
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
lea eax, [esp + 0x1f0]
push eax
lea eax, [esp + 0x114]
push eax
call dword [edx + 0x3c]
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x214]
push edx
lea eax, [esp + 0x128]
push eax
call fcn.0043d250
fld dword [esp + 0x12c]
fadd dword [esp + 0x16c]
lea edx, [esp + 0x3c]
fld dword [esp + 0x130]
push edx
fadd dword [esp + 0x174]
lea eax, [esp + 0x200]
fld dword [esp + 0x138]
push eax
fadd dword [esp + 0x17c]
fstp dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1cc]
fxch st(1)
mov dword [esp + 0x10c], ecx
fstp dword [esp + 0x104]
lea ecx, [esp + 0x114]
push ecx
fstp dword [esp + 0x10c]
call fcn.0043d250
fld dword [esp + 0x118]
fadd dword [esp + 0x128]
add esp, 0x14
fld dword [esp + 0x108]
lea edx, [esp + 0x24]
fadd dword [esp + 0x118]
fld dword [esp + 0x10c]
fadd dword [esp + 0x11c]
fstp dword [esp + 0x1dc]
fxch st(1)
fstp dword [esp + 0x194]
fld dword [esp + 0x1dc]
fld dword [esp + 0x194]
fsub dword [esp + 0xf4]
fstp dword [esp + 0xd4]
fxch st(1)
fsub dword [esp + 0xf8]
fstp dword [esp + 0xd8]
fsub dword [esp + 0xfc]
fstp dword [esp + 0xdc]
fld dword [esp + 0xd4]
fmul dword [esp + 0x24]
fld dword [esp + 0x2c]
fmul dword [esp + 0xdc]
faddp st(1)
fld dword [esp + 0x28]
fmul dword [esp + 0xd8]
faddp st(1)
fst dword [esp + 0x18]
fchs
fstp dword [esp]
push edx
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x7c]
push ecx
call fcn.0043d130
fld dword [esp + 0x24]
fcomp dword [0x7d7d3c]
add esp, 0x10
fnstsw ax
test ah, 1
je 0x5af6bb
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
mov edx, dword [edi]
push ebx
mov ecx, edi
call dword [edx + 0x70]
fstp dword [esp + 0x18]
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 0x70]
mov al, byte [edi + 0x11]
test al, al
jne 0x5af04e
cmp byte [ebx + 0x11], 3
jne 0x5af04e
mov ecx, dword [esp + 0x18]
fstp st(0)
mov dword [esp + 0x6c], ecx
jmp 0x5af070
mov cl, byte [ebx + 0x11]
test cl, cl
jne 0x5af059
cmp al, 3
je 0x5af06c
fld dword [esp + 0x18]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5af06c
fstp st(0)
fld dword [esp + 0x18]
fstp dword [esp + 0x6c]
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
call dword [edx + 0x5c]
fstp dword [esp + 0x18]
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x5c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x6c]
mov ecx, dword [esi + 0xc]
fadd dword [0x784250]
mov edx, dword [ecx]
fmul dword [esp + 0x14]
fchs
fstp dword [esp + 0xac]
call dword [edx + 0x60]
mov edi, eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x1a8]
push edx
call fcn.0043d250
lea eax, [esp + 0x1ac]
push eax
lea ecx, [esp + 0x1d0]
push edi
push ecx
call fcn.0043ca20
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x1dc]
push eax
lea ecx, [esp + 0x150]
push ecx
call fcn.0043d250
fld dword [esp + 0x40]
fadd dword [esp + 0x3c]
mov ecx, dword [esi + 0x10]
fld dword [esp + 0x154]
mov edx, dword [ecx]
fmul dword [esp + 0x44]
add esp, 0x24
faddp st(1)
fld dword [esp + 0x138]
fmul dword [esp + 0x28]
faddp st(1)
fld dword [esp + 0x134]
fmul dword [esp + 0x24]
faddp st(1)
fstp dword [esp + 0x14]
call dword [edx + 0x60]
mov edi, eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x1e8]
push edx
call fcn.0043d250
lea eax, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x210]
push edi
push ecx
call fcn.0043ca20
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x21c]
push eax
lea ecx, [esp + 0x170]
push ecx
call fcn.0043d250
fld dword [esp + 0x174]
fmul dword [esp + 0x44]
add esp, 0x24
fld dword [esp + 0x158]
fmul dword [esp + 0x28]
faddp st(1)
fld dword [esp + 0x154]
fmul dword [esp + 0x24]
faddp st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x5af1bc
fld dword [esp + 0x18]
jmp 0x5af1c0
fld dword [esp + 0x1c]
fdivr dword [0x7fbf24]
fld dword [esp + 0xac]
fdiv dword [esp + 0x14]
fst dword [esp + 0x18]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5af1e4
fstp dword [esp + 0x18]
jmp 0x5af1e6
fstp st(0)
fld dword [esp + 0x20]
mov ecx, dword [esi + 0x10]
fmul dword [esp + 0x18]
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x54]
fstp dword [esp + 0x54]
push eax
fld dword [esp + 0x2c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x5c]
fld dword [esp + 0x30]
fmul dword [esp + 0x20]
fstp dword [esp + 0x60]
mov edx, dword [ecx]
call dword [edx + 0x4c]
fstp dword [esp + 0x14]
fld dword [esp + 0x50]
lea eax, [esp + 0x40]
fchs
push eax
fld dword [esp + 0x58]
lea eax, [esp + 0x54]
fchs
push eax
fld dword [esp + 0x60]
fchs
fstp dword [esp + 0x230]
mov ecx, dword [esp + 0x230]
fxch st(1)
mov dword [esp + 0x60], ecx
mov ecx, dword [esi + 0xc]
fstp dword [esp + 0x58]
fstp dword [esp + 0x5c]
mov edx, dword [ecx]
call dword [edx + 0x4c]
fcom dword [0x7a24fc]
fnstsw ax
test ah, 0x44
jnp 0x5af6b9
fld dword [esp + 0x14]
fcomp dword [0x7a24fc]
fnstsw ax
test ah, 0x44
jnp 0x5af6b9
fcom dword [0x7d7d3c]
mov ebx, 1
fnstsw ax
test ah, 5
jp 0x5af29c
fchs
jmp 0x5af2bb
fld dword [esp + 0x14]
fcomp dword [0x7d7d3c]
fnstsw ax
test ah, 5
jp 0x5af2b9
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x14]
jmp 0x5af2bb
xor ebx, ebx
fcom dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x5af2cc
fstp dword [esp + 0x68]
jmp 0x5af2d6
mov ecx, dword [esp + 0x14]
fstp st(0)
mov dword [esp + 0x68], ecx
fld dword [esp + 0x68]
mov edx, dword [esi + 0x10]
fmul dword [esp + 0x18]
mov eax, dword [esi + 0xc]
push edx
push eax
mov ecx, esi
fstp dword [esp + 0x1c]
call fcn.00593ea0
fld dword [esp + 0x70]
fmul dword [esp + 0x70]
fld dword [esp + 0x78]
fmul dword [esp + 0x78]
faddp st(1)
fld dword [esp + 0x74]
fmul dword [esp + 0x74]
faddp st(1)
fsqrt
fstp dword [esp + 0x18]
fmul dword [esp + 0x14]
fld dword [esp + 0x18]
fcomp dword [0x7fbf30]
fnstsw ax
test ah, 5
jp 0x5af332
fdiv dword [0x7fbf30]
fmul dword [esp + 0x18]
fld dword [esp + 0x18]
fcomp dword [0x7845a0]
fnstsw ax
test ah, 0x41
jne 0x5af376
fld dword [0x7842a0]
fdiv dword [esp + 0x18]
fmul st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x70]
fmul dword [esp + 0x1c]
fld dword [esp + 0x74]
fmul dword [esp + 0x1c]
fstp dword [esp + 0x184]
fld dword [esp + 0x78]
fmul dword [esp + 0x1c]
jmp 0x5af38f
fstp st(0)
mov dword [esp + 0x184], 0
fld dword [0x7d7d3c]
fld dword [0x7d7d3c]
fld dword [esp + 0x20]
mov edi, dword [esp + 0xcc]
fmul dword [esp + 0x14]
mov ecx, dword [edi + 0x64]
fstp dword [esp + 0x50]
fld dword [esp + 0x24]
fmul dword [esp + 0x14]
fstp dword [esp + 0x54]
fld dword [esp + 0x28]
fmul dword [esp + 0x14]
fstp dword [esp + 0x58]
mov eax, dword [ecx + 0x238]
cmp byte [eax + 0x11], 3
jne 0x5af3de
mov edx, dword [eax + 0x60]
fld dword [edx + 0x78]
fabs
fcomp dword [0x784358]
fnstsw ax
test ah, 5
jnp 0x5af3ff
mov ecx, dword [ecx + 0x23c]
cmp byte [ecx + 0x11], 3
jne 0x5af405
mov eax, dword [ecx + 0x60]
fld dword [eax + 0x78]
fabs
fcomp dword [0x784358]
fnstsw ax
test ah, 5
jp 0x5af405
fmul dword [0x7a18a4]
fxch st(1)
mov ecx, dword [esp + 0x18]
fadd dword [esp + 0x50]
push ecx
lea edx, [esp + 0xb4]
push edx
fstp dword [esp + 0x88]
fld dword [esp + 0x18c]
lea eax, [esp + 0x98]
fadd dword [esp + 0x5c]
push eax
mov ecx, edi
fstp dword [esp + 0x90]
fld dword [esp + 0x64]
fadd st(1)
fstp dword [esp + 0x94]
fstp st(0)
fld dword [esp + 0x8c]
fchs
fstp dword [esp + 0xbc]
fld dword [esp + 0x90]
fchs
fstp dword [esp + 0xc0]
fld dword [esp + 0x94]
fchs
fstp dword [esp + 0xc4]
call fcn.005a9310
mov eax, dword [edi + 0x10]
test eax, eax
je 0x5af5c8
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x14c], ecx
mov cl, byte [eax + 0x11]
test cl, cl
jne 0x5af52c
mov eax, dword [eax + 0x130]
cmp dword [eax + 0x424], 4
jne 0x5af52c
fld dword [eax + 0xb0]
fld dword [eax + 0xb4]
fld dword [eax + 0xb8]
fstp dword [esp + 0xe8]
fld st(1)
fmul dword [esp + 0x40]
fld dword [esp + 0xe8]
fmul dword [esp + 0x48]
faddp st(1)
fld st(1)
fmul dword [esp + 0x44]
faddp st(1)
fstp dword [esp + 0x14]
fxch st(1)
fmul dword [esp + 0x14]
fstp dword [esp + 0x170]
fmul dword [esp + 0x14]
fld dword [esp + 0xe8]
fmul dword [esp + 0x14]
fld dword [esp + 0x40]
fsub dword [esp + 0x170]
fstp dword [esp + 0x40]
fld dword [esp + 0x44]
fsub st(2)
fstp dword [esp + 0x44]
fld dword [esp + 0x48]
fsub st(1)
fstp dword [esp + 0x48]
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x14c]
mov cl, byte [eax + 0x11]
test cl, cl
jne 0x5af5c8
mov eax, dword [eax + 0x130]
cmp dword [eax + 0x424], 4
jne 0x5af5c8
fld dword [eax + 0xb0]
fld dword [eax + 0xb4]
fld dword [eax + 0xb8]
fstp dword [esp + 0xe8]
fld st(1)
fmul dword [esp + 0x30]
fld dword [esp + 0xe8]
fmul dword [esp + 0x38]
faddp st(1)
fld st(1)
fmul dword [esp + 0x34]
faddp st(1)
fstp dword [esp + 0x14]
fxch st(1)
fmul dword [esp + 0x14]
fstp dword [esp + 0x170]
fmul dword [esp + 0x14]
fld dword [esp + 0xe8]
fmul dword [esp + 0x14]
fld dword [esp + 0x30]
fsub dword [esp + 0x170]
fstp dword [esp + 0x30]
fld dword [esp + 0x34]
fsub st(2)
fstp dword [esp + 0x34]
fld dword [esp + 0x38]
fsub st(1)
fstp dword [esp + 0x38]
fstp st(0)
fstp st(0)
mov eax, dword [esi + 0xc]
mov dl, byte [eax + 0x11]
xor edi, edi
test dl, dl
jne 0x5af5ea
mov ecx, dword [esi + 0x10]
cmp byte [ecx + 0x11], 1
jne 0x5af5ea
cmp dword [ecx + 0x120], 0
jle 0x5af5ea
mov edi, eax
jmp 0x5af604
mov ecx, dword [esi + 0x10]
cmp byte [ecx + 0x11], 0
jne 0x5af604
cmp dl, 1
jne 0x5af604
mov edx, dword [eax + 0x120]
test edx, edx
jle 0x5af604
mov edi, ecx
cmp eax, edi
jne 0x5af63c
fld dword [esp + 0xb8]
fmul dword [0x7a18a8]
fld dword [0x7d7d3c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5af633
fstp st(0)
mov dword [esp + 0xb8], 0
jmp 0x5af672
fstp dword [esp + 0xb8]
jmp 0x5af672
cmp ecx, edi
jne 0x5af672
fld dword [esp + 0x88]
fmul dword [0x7a18a8]
fld dword [0x7d7d3c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5af66b
fstp st(0)
mov dword [esp + 0x88], 0
jmp 0x5af672
fstp dword [esp + 0x88]
mov edx, dword [ecx]
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x84]
push eax
call dword [edx + 0x50]
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0xb4]
push eax
call dword [edx + 0x50]
fld dword [esp + 0x68]
fcomp dword [0x784250]
fnstsw ax
test ah, 0x44
jnp 0x5af6bb
test ebx, ebx
je 0x5aee94
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret