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

Disassembly:
fld dword [0x69d1a0]
push ebx
push esi
push edi
push ebp
sub esp, 0x78
mov dword [esp + 8], 0
fchs
fstp dword [esp + 0xc]
mov ebp, 0x7db890
cmp byte [ebp + 0xc], 0
mov eax, dword [esp + 8]
mov ebx, dword [eax*4 + 0x94b710]
je 0x5c711c
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x5c6a9a
mov dl, byte [ecx + 0x50]
and dl, 7
movzx eax, dl
cmp eax, 3
jne 0x5c6a9a
call fcn.004f4880
test al, al
jne 0x5c6a9a
mov dword [ebp + 4], 0
test ebx, ebx
fldz
je 0x5c7116
mov eax, dword [ebp]
cmp eax, 0xd
je 0x5c6ab1
cmp eax, 0xe
jne 0x5c6b2b
fld dword [ebx + 0xc8]
fcomp dword [0x69d1a4]
fnstsw ax
test ah, 0x45
jne 0x5c6b2b
fld dword [ebx + 0x70]
fabs
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst st(1)
fcomp dword [0x69d1a8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c6b2b
fld dword [ebx + 0x74]
fabs
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst st(1)
fcomp dword [0x69d1a8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c6b2b
fld dword [ebx + 0x78]
fabs
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst st(1)
fcomp dword [0x69d1a8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5c6b2b
mov dword [ebx + 0xc8], 0x3cf5c28f
fld dword [0x97542c]
mov dword [esp + 4], ebx
add dword [esp + 4], 4
add dword [esp + 4], 0x30
mov eax, dword [esp + 4]
fmul dword [ebx + 0x70]
lea edi, [esp + 0x18]
fadd dword [eax]
fstp dword [esp + 0x3c]
fld dword [0x97542c]
fmul dword [ebx + 0x74]
lea esi, [esp + 0x3c]
fadd dword [eax + 4]
fstp dword [esp + 0x40]
fld dword [0x97542c]
fmul dword [ebx + 0x78]
fadd dword [eax + 8]
fstp dword [esp + 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x18]
fcomp dword [0x69d1ac]
fnstsw ax
and ah, 0x45
cmp ah, 1
je 0x5c6bc9
cmp ah, 0x40
je 0x5c6bc9
fld dword [esp + 0x18]
fcomp dword [0x69d1b0]
fnstsw ax
test ah, 5
je 0x5c6bc9
fld dword [esp + 0x1c]
fst st(1)
fcomp dword [0x69d1b4]
fnstsw ax
and ah, 0x45
cmp ah, 1
je 0x5c6bc9
cmp ah, 0x40
je 0x5c6bc9
fcom dword [0x69d1b8]
fnstsw ax
test ah, 5
jne 0x5c6bf0
push ebx
mov byte [ebp + 0xc], 0
fstp st(0)
call fcn.004db330
test ebx, ebx
pop ecx
je 0x5c711c
mov ecx, ebx
mov edi, dword [ecx]
push 1
call dword [edi + 8]
jmp 0x5c711c
cmp dword [ebp], 0xe
jne 0x5c7136
mov eax, dword [ebp + 8]
add eax, 0xffffb3d4
cmp dword [0x974b34], eax
jbe 0x5c7140
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48], 0x3e4ccccd
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x48]
push 0
push 0
push 0
push 0
push dword [0x69d1a0]
push 0
push eax
mov dword [esp + 0x6c], 0
push dword [esp + 0x20]
push 0x17
fstp st(0)
call fcn.00564910
mov eax, dword [esp + 0x30]
add esp, 0x24
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], 0xbe4ccccd
lea eax, [esp + 0x54]
mov dword [esp + 0x5c], 0
push 0
push 0
push 0
push 0
push dword [0x69d1a0]
push 0
push eax
push dword [esp + 0x20]
push 0x17
call fcn.00564910
mov edx, dword [esp + 0x30]
add esp, 0x24
mov eax, edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
lea eax, [esp + 0x60]
push 0
push 0
push 0
push 0
push dword [0x69d1a0]
push 0
push eax
mov dword [esp + 0x84], 0
push dword [esp + 0x20]
push 0x17
call fcn.00564910
mov eax, dword [0x974b34]
add esp, 0x24
and eax, 0x200
je 0x5c6cec
mov eax, dword [ebp + 4]
push eax
mov eax, dword [esp + 8]
push dword [0x69d1bc]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call fcn.004d4db0
add esp, 0x14
cmp dword [ebp], 0x10
jne 0x5c6d3a
mov dword [esp + 0x6c], 0
lea eax, [esp + 0x6c]
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
push 0xbb8
push 0
push 0
push 0
push dword [0x69d1a0]
push 0
push dword [0x69d1c0]
push eax
lea eax, [ebp + 0x10]
push dword [esp + 0x24]
push eax
push 0x4b
call fcn.00564960
add esp, 0x2c
mov eax, dword [ebp + 8]
cmp dword [0x974b34], eax
fldz
fldz
fldz
jbe 0x5c6e70
test eax, eax
je 0x5c6e70
mov eax, dword [ebp]
cmp eax, 0xd
jne 0x5c6dc0
mov ecx, dword [ebp + 4]
mov al, byte [ecx + 0x50]
and al, 7
cmp al, 3
jne 0x5c7180
fcompp
fstp st(0)
call fcn.004f4950
test al, al
je 0x5c70f7
mov esi, dword [ebp + 4]
mov ecx, esi
push 0x22
call fcn.004ffa30
lea eax, [eax + eax*2]
cmp dword [esi + eax*8 + 0x408], 0x22
jne 0x5c6db3
mov ecx, esi
push 0x22
call fcn.004ffa30
lea eax, [eax + eax*2]
cmp dword [esi + eax*8 + 0x414], 0
jne 0x5c70f7
mov dword [ebp + 8], 0
jmp 0x5c70f7
cmp eax, 0xc
jne 0x5c6de3
fcompp
mov eax, dword [ebp + 4]
push 1
push 0
push dword [esp + 0xc]
push 0
push eax
push 0
fstp st(0)
call fcn.005c5740
add esp, 0x18
jmp 0x5c6e4b
cmp eax, 0xf
jne 0x5c6e06
fcompp
mov eax, dword [ebp + 4]
push 1
push 0
push dword [esp + 0xc]
push 1
push eax
push 0
fstp st(0)
call fcn.005c5740
add esp, 0x18
jmp 0x5c6e4b
cmp eax, 0x10
jne 0x5c7147
mov edi, dword [ebp + 4]
mov al, byte [edi + 0x50]
and al, 7
movzx edx, al
cmp edx, 2
jne 0x5c6e32
mov eax, dword [edi + 0x1a8]
push 1
push 0
push dword [esp + 0xc]
push 2
push eax
jmp 0x5c6e3d
push 1
push 0
push dword [esp + 0xc]
push 2
push edi
fcompp
push 0
fstp st(0)
call fcn.005c5740
add esp, 0x18
push ebx
mov byte [ebp + 0xc], 0
call fcn.004db330
test ebx, ebx
pop ecx
je 0x5c70f7
mov ecx, ebx
mov ebx, dword [ecx]
push 1
call dword [ebx + 8]
jmp 0x5c70f7
mov eax, dword [ebp]
cmp eax, 0x10
jne 0x5c6fb0
mov eax, dword [esp + 4]
lea edi, [esp + 0x24]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x9b6e60], ebx
mov al, byte [ebx + 0x52]
shr al, 3
and al, 1
jne 0x5c7150
fcompp
lea eax, [ebp + 0x10]
lea edx, [esp + 0x24]
push 0
push 0
push 0
push 1
push 1
push 1
push 1
push edx
push eax
fstp st(0)
call fcn.004da580
add esp, 0x24
test al, al
je 0x5c6ee6
lea eax, [esp + 0x24]
push eax
call fcn.005ac9c0
test al, al
pop ecx
jne 0x5c6ee6
lea eax, [esp + 0x24]
push eax
call fcn.005afcb0
test al, al
pop ecx
je 0x5c6f7d
mov eax, dword [ebp]
cmp eax, 0xc
jne 0x5c6f08
mov eax, dword [ebp + 4]
push 1
push 0
push dword [esp + 0xc]
push 0
push eax
push 0
call fcn.005c5740
add esp, 0x18
jmp 0x5c6f65
cmp eax, 0xf
jne 0x5c6f27
mov eax, dword [ebp + 4]
push 1
push 0
push dword [esp + 0xc]
push 1
push eax
push 0
call fcn.005c5740
add esp, 0x18
jmp 0x5c6f65
cmp eax, 0x10
jne 0x5c6f65
mov edi, dword [ebp + 4]
mov al, byte [edi + 0x50]
and al, 7
movzx edx, al
cmp edx, 2
jne 0x5c6f50
mov eax, dword [edi + 0x1a8]
push 1
push 0
push dword [esp + 0xc]
push 2
push eax
jmp 0x5c6f5b
push 1
push 0
push dword [esp + 0xc]
push 2
push edi
push 0
call fcn.005c5740
add esp, 0x18
push ebx
mov byte [ebp + 0xc], 0
call fcn.004db330
test ebx, ebx
pop ecx
je 0x5c6f7d
mov ecx, ebx
mov esi, dword [ecx]
push 1
call dword [esi + 8]
mov dword [0x9b6e60], 0
fld dword [ebx + 0x70]
fmul dword [0x69d1c4]
fstp dword [ebx + 0x70]
fld dword [ebx + 0x74]
fmul dword [0x69d1c4]
fstp dword [ebx + 0x74]
fld dword [ebx + 0x78]
fmul dword [0x69d1c4]
fstp dword [ebx + 0x78]
jmp 0x5c70f7
cmp eax, 0xf
jne 0x5c7190
mov eax, dword [esp + 4]
lea edi, [esp + 0x30]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x9b6e60], ebx
mov eax, dword [ebp + 4]
test eax, eax
je 0x5c701d
fld dword [ebp + 0x18]
add eax, 0x34
fsub dword [eax + 8]
fstp st(1)
fld dword [ebp + 0x14]
fsub dword [eax + 4]
fstp st(2)
fld dword [ebp + 0x10]
fsub dword [eax]
fstp st(3)
fld st(1)
fstp st(2)
fld st(1)
fmul st(0)
fld st(3)
fmul st(0)
faddp st(1)
fld st(1)
fstp st(4)
fld st(3)
fmul st(0)
faddp st(1)
fstp st(3)
fld st(2)
fcomp dword [0x69d1c8]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x5c7170
mov al, byte [ebx + 0x52]
shr al, 3
and al, 1
jne 0x5c7160
fcompp
lea eax, [ebp + 0x10]
lea edi, [esp + 0x30]
push 0
push 0
push 0
push 1
push 1
push 1
push 1
push edi
push eax
fstp st(0)
call fcn.004da580
add esp, 0x24
test al, al
jne 0x5c70ed
mov eax, dword [ebp]
cmp eax, 0xc
jne 0x5c7078
mov eax, dword [ebp + 4]
push 1
push 0
push dword [esp + 0xc]
push 0
push eax
push 0
call fcn.005c5740
add esp, 0x18
jmp 0x5c70d5
cmp eax, 0xf
jne 0x5c7097
mov eax, dword [ebp + 4]
push 1
push 0
push dword [esp + 0xc]
push 1
push eax
push 0
call fcn.005c5740
add esp, 0x18
jmp 0x5c70d5
cmp eax, 0x10
jne 0x5c70d5
mov edi, dword [ebp + 4]
mov al, byte [edi + 0x50]
and al, 7
movzx edx, al
cmp edx, 2
jne 0x5c70c0
mov eax, dword [edi + 0x1a8]
push 1
push 0
push dword [esp + 0xc]
push 2
push eax
jmp 0x5c70cb
push 1
push 0
push dword [esp + 0xc]
push 2
push edi
push 0
call fcn.005c5740
add esp, 0x18
push ebx
mov byte [ebp + 0xc], 0
call fcn.004db330
test ebx, ebx
pop ecx
je 0x5c70ed
mov ecx, ebx
mov esi, dword [ecx]
push 1
call dword [esi + 8]
mov dword [0x9b6e60], 0
mov eax, dword [esp + 4]
fld dword [eax]
fstp dword [ebp + 0x10]
mov eax, dword [esp + 4]
fld dword [eax + 4]
fstp dword [ebp + 0x14]
mov eax, dword [esp + 4]
fld dword [eax + 8]
fstp dword [ebp + 0x18]
jmp 0x5c711c
fstp st(0)
mov byte [ebp + 0xc], 0
inc dword [esp + 8]
add ebp, 0x1c
cmp dword [esp + 8], 0x20
jl 0x5c6a60
add esp, 0x78
pop ebp
pop edi
pop esi
pop ebx
ret
fstp st(0)
jmp 0x5c6cec
fstp st(0)
jmp 0x5c6cec
fcompp
fstp st(0)
jmp 0x5c6e4b
fcompp
fstp st(0)
jmp 0x5c6ee6
fcompp
fstp st(0)
jmp 0x5c7056
fcompp
fstp st(0)
jmp 0x5c70ed
fcompp
fstp st(0)
jmp 0x5c70f7
fcompp
fstp st(0)
jmp 0x5c70f7