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

Disassembly:
sub esp, 0xc0
mov eax, dword [0x102220c0]
xor eax, esp
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xc4]
push ebx
mov ebx, dword [0x10468548]
push ebp
mov dword [esp + 0x5c], eax
mov ebp, ecx
push esi
mov eax, dword [ebx + 0x1bec]
mov esi, dword [esp + 0xdc]
push edi
mov dword [esp + 0x34], edx
mov byte [eax + 0xa8], 1
mov edi, dword [ebx + 0x1bec]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], esi
mov dword [esp + 0x38], edi
cmp byte [edi + 0xab], 0
jne 0x1018cb1c
mov ecx, dword [edi + 0xe0]
xor edx, edx
mov eax, dword [edi + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, ebp
call fcn.1016c950
mov ebp, eax
cmp dword [ebx + 0x1c24], ebp
jne 0x1018c0eb
mov dword [ebx + 0x1c28], ebp
cmp dword [ebx + 0x1c5c], ebp
jne 0x1018c0fa
mov byte [ebx + 0x1c60], 1
test byte [ebx + 0x1cd4], 1
mov dword [esp + 0x30], ebp
je 0x1018c111
movss xmm1, dword [ebx + 0x1cd8]
jmp 0x1018c119
movss xmm1, dword [edi + 0x1f0]
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1018c15b
cmp dword [edi + 0x1d0], 0
movss xmm0, dword [edi + 0x288]
jne 0x1018c13b
cmp dword [ebx + 0x1f2c], 0
je 0x1018c143
movss xmm0, dword [edi + 0x258]
subss xmm0, dword [edi + 0xec]
addss xmm0, xmm1
movss xmm1, dword [0x10214420]
maxss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
mov eax, dword [esp + 0x44]
mov ecx, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x48], xmm0
cmp eax, 0xffffffff
jae 0x1018c18d
mov dl, byte [ecx]
test dl, dl
je 0x1018c18d
cmp dl, 0x23
jne 0x1018c187
cmp byte [ecx + 1], dl
je 0x1018c18d
inc ecx
cmp ecx, 0xffffffff
jb 0x1018c177
movss xmm5, dword [ebx + 0x1988]
cmp eax, ecx
je 0x1018c1eb
movss xmm3, dword [0x102147a4]
movaps xmm2, xmm5
push 0
push ecx
push eax
push ecx
mov ecx, dword [ebx + 0x1984]
lea eax, [esp + 0x20]
mov dword [esp], 0xbf800000
push eax
call fcn.10183840
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [0x10214418]
movss xmm5, dword [esp + 0x14]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x48]
movss xmm4, dword [edi + 0xec]
lea ecx, [esp + 0x10]
movaps xmm2, xmm5
movaps xmm3, xmm4
addss xmm2, dword [0x102145b8]
addss xmm5, dword [0x10214594]
addss xmm3, xmm0
movaps xmm0, xmm4
addss xmm0, dword [0x102142c8]
addss xmm2, dword [edi + 0xf0]
movss dword [esp + 0x68], xmm4
movss xmm1, dword [edi + 0xf0]
movss dword [esp + 0x70], xmm3
addss xmm5, xmm1
movss dword [esp + 0x28], xmm3
subss xmm3, xmm4
movss dword [esp + 0x74], xmm2
movss dword [esp + 0x2c], xmm2
subss xmm2, xmm1
movss dword [esp + 0x20], xmm0
movss xmm0, dword [ebx + 0x159c]
movss dword [esp + 0x6c], xmm1
movss dword [esp + 0x24], xmm5
movss dword [esp + 0x10], xmm3
movss dword [esp + 0x14], xmm2
call fcn.10177ce0
lea eax, [esp + 0x20]
mov edx, ebp
push eax
lea ecx, [esp + 0x6c]
call fcn.10177e10
test al, al
je 0x1018cb1c
test esi, esi
jne 0x1018c2b0
mov eax, dword [esp + 0x34]
shl eax, 4
mov esi, dword [eax + 0x10212970]
mov dword [esp + 0x40], esi
jmp 0x1018c312
cmp dword [esp + 0x34], 4
jne 0x1018c312
mov ecx, 0x10207528
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1018c2e0
test dl, dl
je 0x1018c2dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1018c2e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1018c2c0
xor eax, eax
jmp 0x1018c2e5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1018c312
cmp byte [esi], 0x25
jne 0x1018c312
cmp byte [esi + 1], 0x2e
jne 0x1018c312
cmp byte [esi + 2], 0x30
jne 0x1018c312
cmp byte [esi + 3], 0x66
jne 0x1018c312
cmp byte [esi + 4], 0
mov eax, 0x10207528
cmovne eax, esi
mov esi, eax
mov dword [esp + 0x40], eax
mov edx, ebp
lea ecx, [esp + 0x20]
call fcn.1016f400
test al, al
je 0x1018c346
cmp byte [ebx + 0x420], 0
je 0x1018c346
mov edx, edi
mov ecx, ebp
call fcn.1016f1b0
call fcn.10179a30
mov ecx, edi
call fcn.10177410
or dword [ebx + 0x1c38], 3
lea eax, [esp + 0x78]
xorps xmm0, xmm0
push eax
push dword [esp + 0xe8]
mov edx, ebp
lea ecx, [esp + 0x28]
push esi
push dword [esp + 0xe8]
movups xmmword [esp + 0x88], xmm0
push dword [esp + 0xe8]
push dword [esp + 0x78]
push dword [esp + 0x4c]
call fcn.1018bdc0
mov byte [esp + 0x1f], al
test al, al
je 0x1018c3a3
mov ecx, dword [0x10468548]
mov word [ecx + 0x1c35], 0x101
mov ecx, dword [ecx + 0x1bec]
or dword [ecx + 0x13c], 4
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10240d9c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10534040]
cmp eax, dword [esi + 4]
jle 0x1018c420
push 0x10534040
call fcn.101b5d2d
add esp, 4
cmp dword [0x10534040], 0xffffffff
jne 0x1018c420
push 0x18
mov dword [0x1053404c], 0
mov dword [0x10534050], 0
call fcn.101b5aa6
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
push 0x101e2a80
mov dword [0x1053404c], eax
call fcn.101b5a79
add esp, 4
push 0x10534040
call fcn.101b5cdc
add esp, 4
mov eax, dword [0x1053403c]
cmp eax, dword [esi + 4]
jle 0x1018c48e
push 0x1053403c
call fcn.101b5d2d
add esp, 4
cmp dword [0x1053403c], 0xffffffff
jne 0x1018c48e
push 0x18
mov dword [0x10534058], 0
mov dword [0x1053405c], 0
call fcn.101b5aa6
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
push 0x101e2a70
mov dword [0x10534058], eax
call fcn.101b5a79
add esp, 4
push 0x1053403c
call fcn.101b5cdc
add esp, 4
mov eax, dword [0x10534054]
cmp eax, dword [esi + 4]
jle 0x1018c4fc
push 0x10534054
call fcn.101b5d2d
add esp, 4
cmp dword [0x10534054], 0xffffffff
jne 0x1018c4fc
push 0x18
mov dword [0x10534044], 0
mov dword [0x10534048], 0
call fcn.101b5aa6
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
push 0x101e2a60
mov dword [0x10534044], eax
call fcn.101b5a79
add esp, 4
push 0x10534054
call fcn.101b5cdc
add esp, 4
lea eax, [esp + 0x30]
mov ecx, 0x1053404c
push eax
lea eax, [esp + 0x54]
push eax
call fcn.101a0e20
mov esi, dword [esp + 0x58]
cmp byte [esi + 0xd], 0
jne 0x1018c51f
cmp ebp, dword [esi + 0x10]
jae 0x1018c525
mov esi, dword [0x1053404c]
lea eax, [esp + 0x30]
mov ecx, 0x10534058
push eax
lea eax, [esp + 0x54]
push eax
call fcn.101a0e20
mov edi, dword [esp + 0x58]
mov eax, dword [0x10534058]
cmp byte [edi + 0xd], 0
jne 0x1018c54d
cmp ebp, dword [edi + 0x10]
jae 0x1018c54f
mov edi, eax
cmp esi, dword [0x1053404c]
jne 0x1018c5a5
lea eax, [esp + 0x10]
mov dword [esp + 0x10], ebp
push eax
lea eax, [esp + 0x54]
mov dword [esp + 0x18], 0
push eax
mov ecx, 0x1053404c
call fcn.1019d7f0
lea eax, [esp + 0x30]
mov ecx, 0x1053404c
push eax
lea eax, [esp + 0x54]
push eax
call fcn.101a0e20
mov esi, dword [esp + 0x58]
cmp byte [esi + 0xd], 0
jne 0x1018c59a
cmp ebp, dword [esi + 0x10]
jae 0x1018c5a0
mov esi, dword [0x1053404c]
mov eax, dword [0x10534058]
cmp edi, eax
jne 0x1018c61d
movss xmm0, dword [esp + 0x28]
sub esp, 8
subss xmm0, dword [esp + 0x28]
mov dword [esp + 0x18], ebp
mulss xmm0, dword [0x102142c8]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x50], xmm0
fld qword [esp + 0x50]
fstp qword [esp]
call fcn.101ddec0
add esp, 8
lea eax, [esp + 0x10]
mov ecx, 0x10534058
fstp dword [esp + 0x14]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.1019d7f0
lea eax, [esp + 0x30]
mov ecx, 0x10534058
push eax
lea eax, [esp + 0x54]
push eax
call fcn.101a0e20
mov edi, dword [esp + 0x58]
cmp byte [edi + 0xd], 0
jne 0x1018c617
cmp ebp, dword [edi + 0x10]
jae 0x1018c61d
mov edi, dword [0x10534058]
movss xmm0, dword [esp + 0x28]
sub esp, 8
subss xmm0, dword [esp + 0x28]
mulss xmm0, dword [0x102142c8]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call fcn.101ddec0
fstp dword [esp + 0x50]
movss xmm0, dword [esp + 0x50]
add esp, 8
movss dword [edi + 0x14], xmm0
movss xmm1, dword [esi + 0x14]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1018c6b5
comiss xmm0, xmm1
movss xmm3, dword [0x102143c0]
movss xmm4, dword [0x10214594]
jbe 0x1018c693
subss xmm0, xmm1
divss xmm0, xmm4
addss xmm0, xmm3
addss xmm1, xmm0
movss dword [esi + 0x14], xmm1
movss xmm2, dword [edi + 0x14]
comiss xmm1, xmm2
jbe 0x1018c6b5
movaps xmm0, xmm1
subss xmm0, xmm2
divss xmm0, xmm4
addss xmm0, xmm3
subss xmm1, xmm0
movss dword [esi + 0x14], xmm1
push dword [esp + 0x40]
mov edx, 0x40
lea ecx, [esp + 0x8c]
push dword [esp + 0x68]
push dword [esp + 0x3c]
call fcn.1018a520
lea ecx, [esp + 0x88]
mov edx, ebp
add eax, ecx
lea ecx, [esp + 0x20]
push 1
mov dword [esp + 0x4c], eax
call fcn.1016e870
movss xmm0, dword [ebx + 0x1560]
movss xmm1, dword [0x10214708]
mulss xmm0, xmm1
mov esi, dword [esp + 0x38]
cvttss2si eax, xmm0
xorps xmm0, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x10214304]
comiss xmm0, xmm2
ja 0x1018c72b
movss xmm0, dword [0x10214420]
minss xmm0, xmm2
movss xmm2, dword [esp + 0x28]
mulss xmm0, xmm1
push 0
push ecx
mov ecx, dword [esi + 0x2c4]
addss xmm0, dword [0x102143b4]
movss dword [esp + 0x18], xmm2
movss xmm2, dword [esp + 0x34]
mov dword [esp], 0x40c00000
movss dword [esp + 0x1c], xmm2
movss xmm2, dword [esp + 0x28]
cvttss2si eax, xmm0
movss dword [esp + 0x40], xmm2
movss xmm2, dword [esp + 0x2c]
shl eax, 0x18
or eax, 0x161616
movss dword [esp + 0x44], xmm2
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.10180f50
movss xmm0, dword [esp + 0x78]
addss xmm0, dword [0x10214460]
push 0
push ecx
mov ecx, 0x15
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [ebx + 0x15a0]
movss dword [esp], xmm0
movss xmm0, dword [0x10214420]
call fcn.1016d800
mov ecx, dword [esi + 0x2c4]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.10180f50
movss xmm0, dword [ebx + 0x1560]
movss xmm1, dword [0x10214708]
mulss xmm0, xmm1
cvttss2si eax, xmm0
xorps xmm0, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x10214304]
comiss xmm0, xmm2
ja 0x1018c826
movss xmm0, dword [0x10214420]
minss xmm0, xmm2
movss xmm2, dword [esp + 0x28]
sub esp, 0xc
mov ecx, dword [esi + 0x2c4]
mulss xmm0, xmm1
mov dword [esp + 8], 0x3f800000
movss dword [esp + 0x1c], xmm2
addss xmm0, dword [0x102143b4]
movss xmm2, dword [esp + 0x38]
mov dword [esp], 0x40c00000
movss dword [esp + 0x20], xmm2
movss xmm2, dword [esp + 0x2c]
cvttss2si eax, xmm0
movss dword [esp + 0x44], xmm2
movss xmm2, dword [esp + 0x30]
shl eax, 0x18
or eax, 0x1e1e1e
movss dword [esp + 0x48], xmm2
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.10180e60
mov ecx, dword [0x10468548]
xorps xmm1, xmm1
movaps xmm2, xmmword [0x10214cc0]
comiss xmm1, xmm2
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
movss xmm4, dword [0x10214420]
movups xmmword [esp + 0x20], xmm2
mov edx, dword [eax + 0x2c4]
mov dword [esp + 0x38], edx
jbe 0x1018c8da
xorps xmm0, xmm0
jmp 0x1018c8e1
movaps xmm0, xmm4
minss xmm0, xmm2
movss xmm2, dword [0x10214708]
movss xmm3, dword [0x102143b4]
movss xmm5, dword [esp + 0x24]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si ecx, xmm0
shl ecx, 0x10
comiss xmm1, xmm5
jbe 0x1018c910
xorps xmm0, xmm0
jmp 0x1018c917
movaps xmm0, xmm4
minss xmm0, xmm5
movss xmm5, dword [esp + 0x28]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm1, xmm5
jbe 0x1018c938
xorps xmm0, xmm0
jmp 0x1018c93f
movaps xmm0, xmm4
minss xmm0, xmm5
movss xmm5, dword [esp + 0x2c]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
or ecx, eax
comiss xmm1, xmm5
jbe 0x1018c95d
xorps xmm0, xmm0
jmp 0x1018c964
movaps xmm0, xmm4
minss xmm0, xmm5
mulss xmm0, xmm2
movups xmm2, xmmword [esp + 0x78]
addss xmm0, xmm3
cvttss2si edi, xmm0
movaps xmm0, xmm2
shufps xmm2, xmm2, 0x55
addss xmm0, dword [0x102144c8]
shl edi, 0x18
addss xmm2, xmm4
or edi, ecx
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x14], xmm2
test edi, 0xff000000
je 0x1018c9e3
movss xmm2, dword [0x10214578]
lea eax, [esp + 0x10]
push 0x23
push ecx
mov dword [esp], 0x40c37a15
xorps xmm3, xmm3
push eax
mov ecx, edx
call fcn.10180670
push edi
mov edi, dword [esp + 0x3c]
mov ecx, edi
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.1017fe80
movss xmm4, dword [0x10214420]
mov dword [edi + 0x54], 0
movss xmm1, dword [ebx + 0x15dc]
movaps xmm0, xmm4
push 0
push ecx
xor ecx, ecx
movss dword [esp], xmm1
cmp dword [ebx + 0x1c24], ebp
sete cl
add ecx, 0x14
call fcn.1016d800
mov ecx, dword [esi + 0x2c4]
push eax
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.10180f50
mov ecx, dword [esp + 0x44]
xor edx, edx
movss xmm0, dword [esp + 0x68]
movss xmm1, dword [esp + 0x6c]
push 1
call fcn.1016da50
mov edx, dword [esp + 0x48]
lea edi, [esp + 0x88]
or eax, 0xffffffff
mov dword [esp + 0x10], 0x3f800000
test edx, edx
mov dword [esp + 0x14], 0
cmove edx, eax
mov eax, edi
cmp eax, edx
jae 0x1018ca7c
mov cl, byte [edi]
test cl, cl
je 0x1018ca7c
cmp cl, 0x23
jne 0x1018ca77
cmp byte [edi + 1], cl
je 0x1018ca7c
inc edi
cmp edi, edx
jb 0x1018ca67
mov eax, edi
lea ecx, [esp + 0x88]
sub eax, ecx
je 0x1018cad3
mov esi, dword [0x10468548]
lea eax, [esp + 0x10]
push 0
push eax
push 0
mov eax, ecx
lea edx, [esp + 0x74]
mov ecx, dword [esi + 0x1bec]
push edi
push eax
lea eax, [esp + 0x84]
mov ecx, dword [ecx + 0x2c4]
push eax
call fcn.1016db80
cmp byte [esi + 0x2f3c], 0
je 0x1018cad3
push edi
lea edx, [esp + 0x8c]
lea ecx, [esp + 0x6c]
call fcn.1017cfa0
mov ecx, dword [0x10468548]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
cmp byte [eax + 0xab], 0
jne 0x1018cb16
movss xmm0, dword [0x102147dc]
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.10177ce0
mov al, byte [esp + 0x1f]
jmp 0x1018cb1e
xor al, al
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101b579a
add esp, 0xc0
ret 0x14