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

Disassembly:
sub esp, 0x44
push esi
mov esi, ecx
cmp byte [esi + 0x2e], 0
push edi
je 0x5c9ebd
mov eax, dword [esi + 0x58]
add eax, 0x28
push eax
lea ecx, [esi + 0x110]
push ecx
push 4
push 0x682690
mov ecx, esi
mov byte [esi + 0x2e], 0
call fcn.005c87a0
cmp byte [esi + 0x2f], 0
je 0x5c9ee3
mov edx, dword [esi + 0x5c]
add edx, 0x20
push edx
lea eax, [esi + 0x120]
push eax
push 2
push 0x6826a0
mov ecx, esi
mov byte [esi + 0x2f], 0
call fcn.005c87a0
cmp byte [esi + 0x30], 0
je 0x5c9fef
mov ecx, dword [esi + 0x38]
mov byte [esi + 0x30], 0
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x18]
push eax
call edx
fild dword [esp + 0x18]
mov eax, dword [esp + 0x18]
test eax, eax
jge 0x5c9f12
fadd dword [0x62b8ec]
fld1
mov ecx, dword [esp + 0x1c]
test ecx, ecx
fld st(0)
fdiv st(2)
fild dword [esp + 0x1c]
jge 0x5c9f2a
fadd dword [0x62b8ec]
mov edx, dword [esi + 0x78]
fld st(2)
test edx, edx
fdiv st(1)
fild dword [esi + 0x78]
jge 0x5c9f3e
fadd dword [0x62b8ec]
mov eax, dword [esi + 0x7c]
fld st(0)
test eax, eax
fmul st(4)
fstp dword [esp + 0x24]
fild dword [esi + 0x7c]
jge 0x5c9f56
fadd dword [0x62b8ec]
fst dword [esp + 0x10]
mov eax, dword [esi + 0x20]
fmul st(2)
push 1
lea edx, [esp + 0x28]
push edx
fstp dword [esp + 0x30]
xor edi, edi
fild dword [esi + 0x70]
push edi
fld dword [0x62e818]
push eax
fmul st(1), st(0)
fxch st(1)
fsub st(6)
faddp st(2)
fxch st(1)
fsubrp st(6)
fxch st(5)
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x3c]
fild dword [esi + 0x74]
fmulp st(4)
fxch st(3)
fsubrp st(2)
fxch st(1)
fadd dword [esp + 0x20]
fsubrp st(2)
fmulp st(1)
fchs
fstp dword [esp + 0x40]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x178]
call eax
fld dword [esi + 0x80]
mov edx, dword [esp + 0x1c]
fstp dword [esp + 0x44]
mov ecx, dword [esp + 0x18]
fld dword [esi + 0x84]
mov eax, dword [esi + 0x20]
fstp dword [esp + 0x48]
mov dword [esp + 0x40], edx
lea edx, [esp + 0x34]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xbc]
call eax
cmp dword [esi + 0x34], 0
je 0x5ca0c0
push ebx
mov ebx, 0x6826a8
push ebp
lea edi, [esi + 0x130]
lea ecx, [esi + 0x90]
sub ebx, esi
xor ebp, ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], ecx
sub ebx, 0x130
mov edi, edi
mov edx, 1
mov ecx, ebp
shl edx, cl
test dword [esi + 0x34], edx
je 0x5ca098
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
add eax, 0x28
sub eax, edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
mov ecx, dword [eax + edi]
cmp dword [edi], ecx
je 0x5ca06a
push ecx
mov dword [edi], ecx
mov ecx, dword [ebx + edi]
mov eax, dword [esi + 0x20]
mov edx, dword [eax]
mov edx, dword [edx + 0x114]
push ecx
push ebp
push eax
call edx
test eax, eax
jl 0x5ca07f
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
add ecx, 1
add edi, 4
cmp ecx, 6
mov dword [esp + 0x14], ecx
jb 0x5ca045
jmp 0x5ca098
cmp eax, 0x88760868
jne 0x5ca098
cmp byte [esi + 0x2c], 0
jne 0x5ca094
add dword [esi + 0x28], 1
mov byte [esi + 0x2c], 1
mov byte [esi + 0x2d], 0
mov edi, dword [esp + 0x18]
add dword [esp + 0x10], 4
add ebp, 1
add edi, 0x18
sub ebx, 0x18
cmp ebp, 0x10
mov dword [esp + 0x18], edi
jl 0x5ca020
pop ebp
mov dword [esi + 0x34], 0
pop ebx
pop edi
mov al, 1
pop esi
add esp, 0x44
ret