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

Disassembly:
mov ecx, dword [0x9feb00]
sub esp, 0x9c
push ebx
mov ebx, dword [esp + 0xc4]
mov eax, dword [ebx + 0x5c]
cmp ecx, dword [eax]
push ebp
push esi
push edi
je 0x5c1c76
mov esi, dword [eax]
call fcn.005ad050
push 0
mov eax, 1
xor ecx, ecx
call fcn.005b46a0
add esp, 4
fld dword [esp + 0xb8]
mov ebp, dword [0x9beef8]
fld st(0)
mov edi, dword [0xb160a8]
fsub dword [esp + 0xb0]
push ecx
mov dword [esp + 0x1c], ebp
xor esi, esi
fst dword [esp + 0x2c]
fld dword [esp + 0xcc]
fld st(0)
fld dword [esp + 0xc4]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0xc0]
fld st(0)
fsub dword [esp + 0xb8]
fst qword [esp + 0x4c]
fstp dword [esp + 0x24]
fld dword [esp + 0xd0]
fld st(0)
fsub dword [esp + 0xc8]
fstp dword [esp + 0x34]
fld st(2)
fsub dword [esp + 0xb4]
fst qword [esp + 0x5c]
fstp dword [esp + 0x40]
fld st(3)
fsub st(6)
fstp dword [esp + 0x38]
fld dword [esp + 0xc8]
fsub dword [esp + 0xb8]
fst qword [esp + 0x44]
fstp dword [esp + 0x3c]
fld st(0)
fsub st(2)
fstp dword [esp + 0x30]
fld qword [esp + 0x44]
fmulp st(5)
fld qword [esp + 0x5c]
fmul qword [esp + 0x4c]
fsubp st(5)
fxch st(4)
fstp dword [esp + 0x20]
fld st(2)
fsubp st(2)
fsub st(3)
fmulp st(1)
fxch st(3)
fsubrp st(1)
fld dword [esp + 0xc8]
fsubrp st(2)
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x2c]
fsub dword [esp + 0x28]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.0057d624
fcomp dword [0x881028]
add esp, 4
fnstsw ax
test ah, 5
jp 0x5c1da3
fld dword [esp + 0x20]
push ecx
fsub dword [esp + 0x34]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.0057d624
fcomp dword [0x881028]
add esp, 4
fnstsw ax
test ah, 5
jp 0x5c1da3
mov esi, 1
fld dword [esp + 0x3c]
push ecx
fsub dword [esp + 0x38]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.0057d624
fcomp dword [0x881028]
add esp, 4
fnstsw ax
test ah, 5
jp 0x5c1df8
fld dword [esp + 0x38]
push ecx
fsub dword [esp + 0x30]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.0057d624
fcomp dword [0x881028]
add esp, 4
fnstsw ax
test ah, 5
jp 0x5c1df8
add esi, 1
cmp esi, 2
jne 0x5c2148
cmp dword [0xa05cac], 0
jne 0x5c1e13
cmp dword [0xa05cb0], 0
je 0x5c1e24
push 0
mov eax, 1
xor ecx, ecx
call fcn.005b46a0
add esp, 4
mov esi, dword [0x9beed8]
cmp esi, 1
mov ebp, dword [0x9beee4]
mov edx, dword [0x9beedc]
je 0x5c1e5a
cmp ebp, 4
jne 0x5c1e5a
mov eax, dword [0x9beee0]
lea ecx, [eax + esi*2]
add ecx, esi
lea eax, [edx + 6]
cmp eax, dword [ecx*4 + 0x87bf90]
jl 0x5c1fad
test edx, edx
je 0x5c1f91
mov ecx, dword [0x9beee0]
lea eax, [ecx + esi*2]
add eax, esi
mov ecx, dword [eax*4 + 0x87bfa8]
cmp dword [0xa05cd4], ecx
je 0x5c1eb6
mov eax, dword [0x9bed28]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x164]
call eax
mov esi, dword [0x9beed8]
mov ecx, dword [0x9beee0]
mov ebp, dword [0x9beee4]
lea edx, [ecx + esi*2]
add edx, esi
mov eax, dword [edx*4 + 0x87bfa8]
mov edx, dword [0x9beedc]
mov dword [0xa05cd4], eax
test esi, esi
mov ebx, dword [0x9bed28]
je 0x5c1ef1
test ebx, ebx
je 0x5c1ef1
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xb0]
push 0x8c0138
push 0x100
push ebx
call edx
mov ebp, dword [0x9beee4]
mov edx, dword [0x9beedc]
mov esi, dword [0x9beed8]
mov ebx, dword [0x9bed28]
cmp ebp, 4
jne 0x5c1f06
mov eax, 0x55555556
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x5c1f3f
cmp ebp, 2
jne 0x5c1f14
mov eax, edx
cdq
sub eax, edx
sar eax, 1
jmp 0x5c1f3f
cmp ebp, 6
jne 0x5c1f1e
lea eax, [edx - 2]
jmp 0x5c1f3f
cmp ebp, 5
jne 0x5c1f28
lea eax, [edx - 2]
jmp 0x5c1f3f
cmp ebp, 3
jne 0x5c1f32
lea eax, [edx - 1]
jmp 0x5c1f3f
mov eax, ebp
sub eax, 1
neg eax
sbb eax, eax
not eax
and eax, edx
mov ecx, dword [0x9beee0]
mov edx, dword [ebx]
mov edx, dword [edx + 0x14c]
lea ecx, [ecx + esi*2]
add ecx, esi
add ecx, ecx
mov esi, dword [ecx + ecx + 0x87bfc0]
add ecx, ecx
mov ecx, dword [ecx + 0x9beec0]
push esi
push ecx
push eax
push ebp
push ebx
call edx
cmp dword [0x9beed8], 0
je 0x5c1f91
mov eax, dword [0x9bed28]
test eax, eax
je 0x5c1f91
mov ecx, dword [eax]
mov edx, dword [ecx + 0xb0]
push 0xb16148
push 0x100
push eax
call edx
mov eax, dword [0x9beee0]
mov dword [0x9beedc], 0
mov ecx, dword [eax*4 + 0x9beec0]
mov dword [0x9beefc], ecx
mov eax, dword [0x9beefc]
fld dword [esp + 0xb0]
mov dword [0x9beed8], 0
mov dword [0x9beee4], 4
fstp dword [eax]
mov ecx, dword [esp + 0x18]
fld dword [esp + 0xb8]
fst dword [eax + 0x1c]
mov dword [eax + 0x64], ecx
fstp dword [eax + 0x8c]
mov dword [eax + 0x10], ecx
fld dword [esp + 0xc0]
lea edx, [eax + 0x1c]
fst dword [eax + 0x38]
lea ebx, [eax + 0x8c]
fstp dword [eax + 0x70]
lea ecx, [eax + 0x70]
fld dword [esp + 0xc8]
lea ebp, [eax + 0x38]
fstp dword [eax + 0x54]
mov dword [esp + 0x18], ecx
fld dword [esp + 0xb4]
mov ecx, dword [esp + 0xd0]
fstp dword [eax + 4]
fld dword [esp + 0xbc]
fst dword [eax + 0x20]
fstp dword [eax + 0x90]
fld dword [esp + 0xc4]
fst dword [eax + 0x3c]
fstp dword [eax + 0x74]
fld dword [esp + 0xcc]
fstp dword [eax + 0x58]
fld dword [ecx + 0x20]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [eax + 0x14]
fst dword [eax + 0x4c]
fstp dword [eax + 0x84]
fld dword [ecx + 0x30]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [eax + 0x30]
fst dword [eax + 0x68]
fstp dword [eax + 0xa0]
fld dword [ecx + 0x24]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [eax + 0x18]
fst dword [eax + 0x34]
fstp dword [eax + 0xa4]
fld dword [ecx + 0x44]
mov dword [eax + 0x94], edi
fstp dword [esp + 0x14]
mov dword [eax + 0x78], edi
fld dword [esp + 0x14]
mov dword [eax + 0x5c], edi
fst dword [eax + 0x50]
mov dword [eax + 0x40], edi
fst dword [eax + 0x6c]
mov dword [eax + 0x24], edi
fstp dword [eax + 0x88]
mov dword [eax + 8], edi
fldz
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 1
jne 0x5c212a
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 1
jne 0x5c212c
mov eax, dword [esp + 0x18]
mov ecx, 7
mov esi, edx
lea edi, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
mov esi, eax
lea edi, [esp + 0x90]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
mov esi, ebp
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
mov esi, ebx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [esp + 0x74]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [esp + 0x90]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
jmp 0x5c212c
fstp st(0)
add dword [0x9beefc], 0xa8
add dword [0x9beedc], 6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
fld dword [esp + 0x20]
push ecx
fld dword [esp + 0x2c]
fld st(1)
fmulp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.0057f9c9
fstp dword [esp + 0x20]
fld dword [esp + 0x34]
fld dword [esp + 0x28]
fld st(1)
fmulp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.0057f9c9
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fdiv dword [esp + 0x20]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [esp + 0x28]
fdiv dword [esp + 0x1c]
fstp dword [esp + 0x14]
fsub dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.0057d624
fcomp dword [0x881b94]
add esp, 4
fnstsw ax
test ah, 5
jp 0x5c2207
fld dword [esp + 0x20]
push ecx
fdiv dword [esp + 0x20]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [esp + 0x34]
fdiv dword [esp + 0x1c]
fstp dword [esp + 0x14]
fsub dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.0057d624
fstp st(0)
add esp, 4
fld dword [esp + 0x38]
push ecx
fld dword [esp + 0x40]
fld st(1)
fmulp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.0057f9c9
fstp dword [esp + 0x1c]
fld dword [esp + 0x30]
fld dword [esp + 0x38]
fld st(1)
fmulp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.0057f9c9
fstp dword [esp + 0x20]
fld dword [esp + 0x40]
fdiv dword [esp + 0x1c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [esp + 0x38]
fdiv dword [esp + 0x20]
fstp dword [esp + 0x14]
fsub dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.0057d624
fcomp dword [0x881b94]
add esp, 4
fnstsw ax
test ah, 5
jp 0x5c22c6
fld dword [esp + 0x38]
push ecx
fdiv dword [esp + 0x1c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [esp + 0x30]
fdiv dword [esp + 0x20]
fstp dword [esp + 0x14]
fsub dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.0057d624
fstp st(0)
add esp, 4
fld dword [0x881ca4]
fcom dword [ebx + 0x20]
fnstsw ax
fld qword [0x881c98]
test ah, 0x41
fldz
jne 0x5c22e4
fst dword [esp + 0x30]
jmp 0x5c22f8
fld dword [ebx + 0x50]
fsub dword [ebx + 0x20]
fld dword [ebx + 0x48]
fsub dword [ebx + 0x18]
fdivp st(1)
fmul st(2)
fstp dword [esp + 0x30]
fld dword [ebx + 0x50]
fld qword [0x881c88]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
fld qword [0x881c78]
jp 0x5c231a
fxch st(2)
fst dword [esp + 0x18]
jmp 0x5c2330
fld dword [ebx + 0x50]
fsub dword [ebx + 0x20]
fld dword [ebx + 0x48]
fsub dword [ebx + 0x18]
fdivp st(1)
fmul st(1)
fstp dword [esp + 0x18]
fxch st(2)
fxch st(4)
fcomp dword [ebx + 0x24]
fnstsw ax
test ah, 0x41
jne 0x5c2346
fstp st(2)
fxch st(2)
fst dword [esp + 0x1c]
jmp 0x5c235e
fld dword [ebx + 0x54]
fsub dword [ebx + 0x24]
fld dword [ebx + 0x4c]
fsub dword [ebx + 0x1c]
fdivp st(1)
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x1c]
fxch st(2)
fld dword [ebx + 0x54]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c2370
fstp st(1)
jmp 0x5c2382
fstp st(0)
fld dword [ebx + 0x54]
fsub dword [ebx + 0x24]
fld dword [ebx + 0x4c]
fsub dword [ebx + 0x1c]
fdivp st(1)
fmulp st(1)
fstp dword [esp + 0x14]
push ecx
fld dword [0x881c70]
fstp dword [esp + 0x64]
fld1
fstp dword [esp + 0x68]
fld dword [0x881c6c]
fstp dword [esp + 0x6c]
fld dword [0x881c68]
fstp dword [esp + 0x70]
fld dword [0x881c64]
fstp dword [esp + 0x74]
fld dword [esp + 0xcc]
fsub dword [esp + 0xb4]
fstp dword [esp + 0x2c]
fld dword [esp + 0xd0]
fsub dword [esp + 0xb8]
fstp dword [esp + 0x28]
fld dword [esp + 0xc4]
fsub dword [esp + 0xbc]
fstp dword [esp + 0x24]
fld dword [esp + 0xc8]
fsub dword [esp + 0xc0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [esp + 0x24]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.0057f9c9
fstp qword [esp + 0x44]
fld dword [esp + 0x28]
fmul st(0), st(0)
fld dword [esp + 0x2c]
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.0057f9c9
mov eax, dword [0xb15fa8]
fadd qword [esp + 0x44]
mov edx, eax
imul edx, eax
fstp qword [esp + 0x44]
mov eax, dword [0xb15fa4]
mov ecx, eax
imul ecx, eax
add edx, ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fstp dword [esp]
call fcn.0057f9c9
fadd st(0), st(0)
add esp, 4
mov ecx, 5
lea edx, [esp + 0x60]
fdivr qword [esp + 0x40]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [edx]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5c249c
sub ecx, 1
add edx, 4
test ecx, ecx
jg 0x5c2487
fstp st(0)
mov eax, 0xaeed68
fld dword [esp + 0x3c]
mov edx, 8
fld qword [0x881c58]
fdiv st(1), st(0)
fxch st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0x38]
fdiv st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0x34]
fdiv st(1)
fstp dword [esp + 0x58]
fld dword [esp + 0x2c]
fdiv st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0xb0]
fstp dword [esp + 0x20]
fld dword [esp + 0xb4]
fstp dword [esp + 0x24]
fld dword [esp + 0xb8]
fstp dword [esp + 0x28]
fld dword [esp + 0xbc]
fstp dword [esp + 0x2c]
fld dword [ebx + 0x50]
fadd dword [esp + 0x18]
fld dword [ebx + 0x20]
fadd dword [esp + 0x30]
fsubp st(1)
fdiv st(1)
fstp dword [esp + 0x3c]
fld dword [ebx + 0x24]
fadd dword [esp + 0x1c]
fld dword [esp + 0x14]
fadd dword [ebx + 0x54]
fsub st(1)
fdiv st(2)
fstp dword [esp + 0x54]
fstp dword [esp + 0x34]
fld dword [esp + 0x28]
mov ecx, 8
fld dword [esp + 0x20]
fld st(0)
fsubp st(2)
fxch st(1)
fdiv st(2)
fstp dword [esp + 0x10]
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fld st(0)
fsubp st(2)
fxch st(1)
fdiv st(3)
fstp dword [esp + 0x38]
fxch st(1)
fstp dword [esp + 0x18]
fstp dword [esp + 0x1c]
fld dword [ebx + 0x20]
fadd dword [esp + 0x30]
fstp dword [esp + 0x14]
fld dword [esp + 0x34]
fld dword [esp + 0x10]
fld dword [esp + 0x38]
fld dword [esp + 0x18]
mov dword [eax + 8], edi
fst dword [eax]
mov dword [eax + 0x10], ebp
fld dword [esp + 0x1c]
add eax, 0x1c
sub ecx, 1
fst dword [eax - 0x18]
fld1
fstp dword [eax - 0x10]
fld dword [esp + 0x14]
fst dword [eax - 8]
fxch st(5)
fst dword [eax - 4]
fld dword [esp + 0x3c]
faddp st(6)
fxch st(5)
fstp dword [esp + 0x14]
fld st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fadd st(1)
fstp dword [esp + 0x1c]
jne 0x5c2582
sub edx, 1
fstp st(1)
fstp st(0)
fadd dword [esp + 0x54]
fstp dword [esp + 0x34]
fld dword [esp + 0x20]
fadd dword [esp + 0x50]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fadd dword [esp + 0x48]
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fadd dword [esp + 0x58]
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fadd dword [esp + 0x40]
fstp dword [esp + 0x2c]
jne 0x5c2534
push 8
fstp st(0)
push 0xaeed68
lea eax, [ecx + 8]
call fcn.005ae8c0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret