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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0xb8
mov edx, dword [esp + 0xcc]
mov edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov esi, dword [esp + 0xd8]
mov ebp, dword [esp + 0xe8]
mov eax, edi
call fcn.0057bb1c
mov ebx, eax
mov dword [ebp], ebx
cmp esi, 0xe
jl 0x57c1d8
je 0x57c65a
lea ebx, [ebx + ebx*2]
jmp 0x57c5e5
mov edx, dword [esp + 0xcc]
cmp edx, 0x7d00
jge 0x57c272
fld qword [0x600f60]
mov edx, dword [esp + 0xcc]
imul ecx, edi, 0x2ee0
mov dword [esp + 0x88], edx
fild dword [esp + 0x88]
mov dword [esp + 0x88], ecx
fild dword [esp + 0x88]
fdivrp st(1)
fadd st(1)
fstp qword [esp + 0x80]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ecx, edx
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x57c26b
mov ebx, edx
neg ecx
add ecx, 0x41e
shld ebx, eax, 0xb
or ebx, 0x80000000
shr ebx, cl
test edx, edx
jge 0x57c357
neg ebx
jmp 0x57c357
xor ebx, ebx
jmp 0x57c357
fld qword [0x600f60]
mov edx, dword [esp + 0xcc]
cmp edx, 0xfa00
mov dword [esp + 0x88], edx
fild dword [esp + 0x88]
jge 0x57c2f7
imul edx, edi, 0x3e80
mov dword [esp + 0x88], edx
fild dword [esp + 0x88]
fdivrp st(1)
fadd st(1)
fstp qword [esp + 0x80]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ecx, edx
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x57c2f3
mov ebx, edx
neg ecx
add ecx, 0x41e
shld ebx, eax, 0xb
or ebx, 0x80000000
shr ebx, cl
test edx, edx
jge 0x57c357
neg ebx
jmp 0x57c357
xor ebx, ebx
jmp 0x57c357
imul edx, edi, 0x4e20
mov dword [esp + 0x88], edx
fild dword [esp + 0x88]
fdivrp st(1)
fadd st(1)
fstp qword [esp + 0x80]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ecx, edx
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x57c355
mov ebx, edx
neg ecx
add ecx, 0x41e
shld ebx, eax, 0xb
or ebx, 0x80000000
shr ebx, cl
test edx, edx
jge 0x57c357
neg ebx
jmp 0x57c357
xor ebx, ebx
xor eax, eax
mov esi, eax
fld qword [0x600f58]
mov dword [esp + 0x88], ebx
fild dword [esp + 0x88]
fdiv st(1), st(0)
fld qword [0x600f48]
fstp st(0)
fxch st(1)
fstp qword [esp + 0xb0]
fstp qword [esp + 0xa0]
fstp qword [esp + 0xa8]
lea esi, [esi]
lea edi, [edi]
fld qword [esp + 0xb0]
fstp qword [esp]
mov dword [esp + 0x88], esi
fild dword [esp + 0x88]
fmul qword [0x600f48]
fstp qword [esp + 8]
call fcn.00543e1c
fmul qword [esp + 0xa0]
fadd qword [esp + 0xa8]
fstp qword [esp + 0x80]
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov ecx, edi
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x57c41c
mov edx, edi
neg ecx
add ecx, 0x41e
shld edx, eax, 0xb
or edx, 0x80000000
shr edx, cl
test edi, edi
jge 0x57c41e
neg edx
jmp 0x57c41e
xor edx, edx
mov dword [esp + esi*4 + 0x10], edx
inc esi
cmp esi, 0xd
jle 0x57c39c
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
neg edx
add edx, ecx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x18]
neg ecx
add ecx, edx
neg edx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x20]
neg ecx
add ecx, edx
neg edx
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x28]
neg ecx
add ecx, edx
neg edx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x2c]
add edx, ecx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x30]
neg ecx
add ecx, edx
neg edx
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x34]
add edx, ecx
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x38]
neg ecx
add ecx, edx
neg edx
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x3c]
add edx, ecx
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x40]
sub edx, ecx
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x44]
mov ecx, 1
sub edx, dword [esp + 0x40]
mov dword [esp + 0x78], edx
lea ecx, [ecx + ecx*2]
inc ecx
cmp ecx, 0xd
jle 0x57c4dd
mov dword [esp + 0x94], ebx
mov eax, 0x55555556
imul ecx
sar ecx, 0x1f
neg ecx
add ecx, edx
lea ebx, [ecx + 1]
cmp ebx, 0xd
jg 0x57c585
mov ebp, ecx
neg ebp
lea edx, [ebp + ebp]
add edx, edx
lea eax, [ebx + ebx]
add eax, eax
lea eax, [eax + ebp*4]
mov dword [esp + 0x90], ecx
mov edi, dword [esp + ebx*4 + 0x44]
mov esi, ebx
cmp edi, dword [esp + eax + 0x44]
jge 0x57c77c
lea ecx, [ebx + ebx]
add ecx, ecx
lea ebp, [edx + ebx*4]
mov ebp, dword [esp + ebp + 0x44]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x90]
mov esi, esi
mov dword [esp + ecx + 0x44], ebp
sub esi, ebx
cmp esi, ebx
jle 0x57c75c
lea ecx, [esi + esi]
add ecx, ecx
lea ebp, [edx + esi*4]
mov ebp, dword [esp + ebp + 0x44]
cmp ebp, edi
jg 0x57c54c
mov ebx, dword [esp + 0x98]
mov dword [esp + ecx + 0x44], edi
add eax, 4
inc ebx
cmp ebx, 0xd
jle 0x57c520
mov ecx, dword [esp + 0x90]
cmp ecx, 1
jg 0x57c4ed
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0xe8]
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xd0]
xor edx, edx
test esi, esi
jle 0x57c5e5
cmp esi, 6
jl 0x57c5dc
lea ecx, [esi - 6]
lea esi, [esi]
add ebx, dword [esp + edx*4 + 0x48]
add ebx, dword [esp + edx*4 + 0x4c]
add ebx, dword [esp + edx*4 + 0x50]
add ebx, dword [esp + edx*4 + 0x54]
add ebx, dword [esp + edx*4 + 0x58]
add edx, 5
cmp edx, ecx
jle 0x57c5bc
nop
lea esi, [esi]
add ebx, dword [esp + edx*4 + 0x48]
inc edx
cmp edx, esi
jl 0x57c5dc
cmp ebx, edi
jle 0x57c5f6
mov ebx, edi
mov edx, dword [esp + 0xec]
mov dword [edx], edi
jmp 0x57c5ff
mov edx, dword [esp + 0xec]
mov dword [edx], ebx
mov edx, dword [esp + 0xdc]
cmp edx, 1
je 0x57c65e
mov eax, dword [esp + 0xe4]
mov dword [eax], 0
mov eax, dword [esp + 0xec]
mov eax, dword [eax]
sub eax, dword [ebp]
cmp eax, 0x30
jle 0x57c639
mov eax, 0x600f68
add esp, 0xb8
pop ebx
pop ebp
pop esi
pop edi
ret
test eax, eax
jg 0x57c64d
mov eax, 0x600f68
add esp, 0xb8
pop ebx
pop ebp
pop esi
pop edi
ret
xor eax, eax
add esp, 0xb8
pop ebx
pop ebp
pop esi
pop edi
ret
add ebx, ebx
jmp 0x57c5e5
mov esi, dword [ebp]
mov edx, edi
add edx, 0x80000000
adc edx, 0x80000000
sar edx, 1
mov ecx, ebx
sub ecx, esi
lea eax, [edx - 4]
cmp ecx, eax
jle 0x57c68c
mov eax, 0x600f68
add esp, 0xb8
pop ebx
pop ebp
pop esi
pop edi
ret
lea ecx, [edi - 2]
cmp ebx, ecx
jle 0x57c6a3
mov eax, 0x600f68
add esp, 0xb8
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xec]
mov dword [eax], esi
fld qword [0x600f60]
add edx, dword [ebp]
sub edx, dword [ecx]
mov dword [esp + 0x88], edx
fild dword [esp + 0x88]
fmul st(1)
faddp st(1)
fstp qword [esp + 0x80]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
mov ecx, ebx
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x57c715
mov eax, ebx
neg ecx
add ecx, 0x41e
shld eax, edx, 0xb
or eax, 0x80000000
shr eax, cl
test ebx, ebx
jge 0x57c717
neg eax
jmp 0x57c717
xor eax, eax
sub esi, eax
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe0]
mov dword [edx], esi
cmp ecx, 2
jne 0x57c74c
cmp eax, 2
jge 0x57c743
mov eax, 0x600f68
add esp, 0xb8
pop ebx
pop ebp
pop esi
pop edi
ret
test esi, esi
jl 0x57c733
jmp 0x57c618
mov eax, 0x600f68
add esp, 0xb8
pop ebx
pop ebp
pop esi
pop edi
ret
mov ebx, dword [esp + 0x98]
add esi, esi
lea ecx, [esi + esi]
jmp 0x57c571
lea ecx, [ebx + ebx]
add ecx, ecx
jmp 0x57c571