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

Disassembly:
sub esp, 0x50
push ebx
push ebp
push esi
push edi
call fcn.005443b0
xor esi, esi
push esi
lea eax, [esi + 0xd]
mov ecx, 0x6d3108
call fcn.00582ed0
add esp, 4
cmp eax, esi
je 0x5c7df4
push eax
call fcn.005443b0
call fcn.00544310
mov dword [esp + 0x14], eax
jmp 0x5c7df8
mov dword [esp + 0x14], esi
call fcn.005443b0
push esi
mov eax, 0x10
mov ecx, 0x6d3118
call fcn.00582ed0
add esp, 4
cmp eax, esi
je 0x5c7e25
push eax
call fcn.005443b0
call fcn.00544310
mov dword [esp + 0x18], eax
jmp 0x5c7e29
mov dword [esp + 0x18], esi
call fcn.005443b0
push esi
mov eax, 0xd
mov ecx, 0x6d312c
call fcn.00582ed0
add esp, 4
cmp eax, esi
je 0x5c7e56
push eax
call fcn.005443b0
call fcn.00544310
mov dword [esp + 0x1c], eax
jmp 0x5c7e5a
mov dword [esp + 0x1c], esi
call fcn.005443b0
push esi
mov eax, 0xe
mov ecx, 0x6d2940
call fcn.00582ed0
add esp, 4
cmp eax, esi
je 0x5c7e87
push eax
call fcn.005443b0
call fcn.00544240
mov dword [esp + 0x20], eax
jmp 0x5c7e8b
mov dword [esp + 0x20], esi
mov edi, dword [esp + 0x78]
imul edi, edi, 0xec8
add edi, 0x954708
cmp byte [esp + 0x84], 0
jne 0x5c7ec2
cmp byte [esp + 0x7c], 0
jne 0x5c7ebb
xor eax, eax
cmp edi, 0x954708
sete al
cmp eax, esi
je 0x5c7ec2
mov byte [esp + 0x7c], 1
jmp 0x5c7ec7
mov byte [esp + 0x7c], 0
mov al, byte [esp + 0x74]
cmp al, 1
jne 0x5c7ed9
movss xmm0, dword [0x6d29e4]
jmp 0x5c7ee1
movss xmm0, dword [0x6e5b00]
cmp al, 1
setne al
mov byte [esp + 0x24], al
movzx eax, byte [esp + 0x70]
xor bl, bl
test al, 1
movss dword [esp + 0x84], xmm0
je 0x5c7f08
movss xmm0, dword [0x725938]
jmp 0x5c7f10
movss xmm0, dword [0x72593c]
lea ecx, [eax - 3]
mov dword [esp + 0x70], ecx
fild dword [esp + 0x70]
add eax, 0xfffffffe
cmp dword [esp + 0x80], esi
fmul dword [esp + 0x84]
mov dword [esp + 0x70], eax
movss dword [esp + 0x28], xmm0
fadd dword [0x953ca4]
fild dword [esp + 0x70]
fmul qword [0x6f9ba8]
faddp st(1)
fsub qword [0x6fa2c8]
fstp dword [esp + 0x2c]
je 0x5c801d
call fcn.005443b0
push esi
mov eax, 0xa
mov ecx, str.ICON_GHOST
call fcn.00582ed0
add esp, 4
cmp eax, esi
je 0x5c7f83
push eax
call fcn.005443b0
call fcn.00544310
mov ebp, eax
jmp 0x5c7f85
xor ebp, ebp
fld dword [esp + 0x28]
movss xmm0, dword [0x6d29d4]
fsub qword [0x6fa7b0]
lea eax, [esp + 0x38]
lea esi, [esp + 0x48]
movss dword [esp + 0x40], xmm0
fsub qword [0x6fa2c8]
movss dword [esp + 0x44], xmm0
fstp dword [esp + 0x38]
fld dword [esp + 0x2c]
fadd qword [0x6f9d80]
fsub qword [0x6f9af0]
fstp dword [esp + 0x3c]
call fcn.00546560
mov ecx, dword [0x953c8c]
mov edx, eax
mov eax, dword [esp + 0x68]
push eax
push ecx
call fcn.006498c0
mov ecx, dword [edx]
sub esp, 8
mov dword [esp + 0x80], eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x80]
push eax
push ebp
mov ebp, dword [esp + 0x7c]
push ebp
call fcn.005c6900
add esp, 0x1c
xor esi, esi
jmp 0x5c8021
mov ebp, dword [esp + 0x64]
cmp byte [esp + 0x6c], 0
je 0x5c8196
cmp dword [esp + 0x14], esi
je 0x5c8372
cmp dword [esp + 0x18], esi
je 0x5c8372
cmp dword [esp + 0x1c], esi
je 0x5c8372
movss xmm0, dword [esp + 0x28]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [0x6af968]
lea eax, [esp + 0x38]
lea esi, [esp + 0x48]
movss dword [esp + 0x40], xmm0
movss dword [esp + 0x44], xmm0
call fcn.00546560
mov edx, dword [eax]
movzx edi, byte [esp + 0x68]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x24]
push ecx
push ebp
mov ecx, edi
call fcn.005c7440
movss xmm0, dword [esp + 0x44]
fld dword [esp + 0x40]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [0x6fa998]
fadd qword [0x6fa240]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [0x6af968]
lea eax, [esp + 0x50]
fstp dword [esp + 0x50]
lea esi, [esp + 0x60]
movss dword [esp + 0x5c], xmm0
call fcn.00546560
mov edx, dword [eax]
add esp, 8
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x28]
push ecx
push ebp
mov ecx, edi
call fcn.005c7440
fld dword [esp + 0x44]
fld qword [0x6fa240]
movss xmm0, dword [esp + 0x40]
fadd st(1), st(0)
movss dword [esp + 0x50], xmm0
movss xmm0, dword [0x6af968]
fxch st(1)
lea eax, [esp + 0x50]
fstp dword [esp + 0x54]
lea esi, [esp + 0x60]
movss dword [esp + 0x58], xmm0
fsubr dword [esp + 0x9c]
fstp dword [esp + 0x5c]
call fcn.00546560
mov edx, dword [eax]
add esp, 8
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x2c]
push ecx
push ebp
mov ecx, edi
call fcn.005c7440
add esp, 0x18
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0x24
cmp dword [esp + 0x20], esi
je 0x5c8372
cmp edi, esi
je 0x5c8372
mov ecx, dword [edi + 0x92c]
mov eax, dword [edi + 0x928]
push ecx
push eax
call fcn.0053cad0
call fcn.0053c0e0
cmp eax, esi
mov byte [esp + 0x84], 0
je 0x5c81d8
cmp dword [eax + 0x3c], 1
sete byte [esp + 0x84]
mov cl, byte [esp + 0x74]
xor eax, eax
test cl, 2
mov byte [esp + 0x70], 1
mov byte [esp + 0x71], 2
mov byte [esp + 0x72], 4
mov dword [esp + 0x48], eax
mov ebp, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov esi, eax
mov ebx, eax
je 0x5c821a
mov esi, dword [esp + 0x80]
test esi, esi
je 0x5c8214
add esi, 0xc
jmp 0x5c821a
lea esi, [edi + 0x7b0]
test cl, 1
je 0x5c8236
mov eax, dword [edi + 0x2e4]
test eax, eax
je 0x5c8230
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x50], eax
mov ebp, dword [edi + 0x2d4]
test cl, 4
je 0x5c8250
mov edx, dword [esp + 0x78]
push edx
call fcn.005c57d0
mov cl, byte [esp + 0x78]
add esp, 4
mov dword [esp + 0x54], eax
fld dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
fadd qword [0x6f9d80]
lea eax, [esp + 0x70]
mov dword [esp + 0x78], eax
mov dword [esp + 0x1c], 3
fstp dword [esp + 0x80]
mov edx, dword [esp + 0x78]
mov al, byte [edx]
test cl, al
je 0x5c8355
cmp byte [esp + 0x84], 0
mov byte [esp + 0x48], al
je 0x5c829c
mov eax, dword [0x72592c]
mov dword [esp + 0x6c], eax
jmp 0x5c82b9
cmp byte [esp + 0x7c], 0
je 0x5c82af
mov ecx, dword [0x953c88]
mov dword [esp + 0x6c], ecx
jmp 0x5c82b9
mov edx, dword [0x953c8c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x48]
fld dword [0x6f6c94]
mov ecx, dword [esp + 0x68]
sub esp, 0x18
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x68]
mov dword [eax + 4], ebp
mov dword [eax + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + 0xc], edx
push edi
mov dword [eax + 0x10], esi
sub esp, 8
mov dword [eax + 0x14], ebx
fstp dword [esp + 4]
fld1
mov eax, dword [esp + 0x44]
fstp dword [esp]
mov byte [esp + 0x93], cl
mov edx, dword [esp + 0x90]
fld dword [esp + 0xa4]
push eax
mov eax, dword [esp + 0x8c]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x5c]
fadd qword [0x6f9c40]
fstp dword [esp + 0xa0]
fld dword [esp + 0xa0]
fstp dword [esp]
push ecx
push eax
call fcn.005c7490
fld dword [esp + 0x80]
fadd qword [0x6fa7b8]
mov cl, byte [esp + 0x74]
fstp dword [esp + 0x80]
mov eax, 1
add dword [esp + 0x78], eax
sub dword [esp + 0x1c], eax
jne 0x5c8275
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0x24
pop edi
pop esi
pop ebp
mov al, bl
pop ebx
add esp, 0x50
ret 0x24