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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
push esi
mov esi, dword [0x10350170]
push edi
mov edi, ecx
mov byte [esp + 0xa], dl
mov dword [esp + 0x10], edi
mov eax, dword [esi + 0x1cdc]
mov dword [esp + 0x30], esi
mov byte [eax + 0x8c], 1
mov eax, dword [esi + 0x1cdc]
mov dword [esp + 0x14], eax
cmp byte [eax + 0x8f], 0
jne 0x10185dc1
lea ecx, [esi + 0x1518]
xor edx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.101459e0
mov edi, eax
add esp, 4
cmp dword [esi + 0x1d14], edi
jne 0x1018567c
mov dword [esi + 0x1d18], edi
nop dword [eax]
cmp dword [esi + 0x1d4c], edi
jne 0x1018568f
mov byte [esi + 0x1d50], 1
mov eax, dword [esp + 0x10]
mov ecx, eax
mov dword [esp + 0x18], edi
cmp eax, 0xffffffff
jae 0x101856b6
nop
mov dl, byte [ecx]
test dl, dl
je 0x101856b6
cmp dl, 0x23
jne 0x101856b0
cmp byte [ecx + 1], dl
je 0x101856b6
inc ecx
cmp ecx, 0xffffffff
jb 0x101856a0
movss xmm0, dword ds:[esi + 0x1a70]
cmp eax, ecx
jne 0x101856c9
xorps xmm2, xmm2
jmp 0x1018570f
movss xmm3, dword [0x102fe08c]
movaps xmm2, xmm0
push 0
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x1a6c]
lea eax, [esp + 0x38]
mov dword [esp], 0xbf800000
push eax
call fcn.101609e0
movss xmm0, dword [esp + 0x28]
addss xmm0, dword [0x102fdddc]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x2c]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mov esi, dword [ebp + 0xc]
xorps xmm1, xmm1
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x34], xmm2
movss xmm3, dword [esi + 4]
ucomiss xmm3, xmm1
movss dword [esp + 0x24], xmm3
lahf
test ah, 0x44
jp 0x1018573e
movaps xmm3, xmm0
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esi]
ucomiss xmm0, xmm1
movss dword [esp + 0x1c], xmm0
lahf
test ah, 0x44
jp 0x1018575a
movaps xmm0, xmm2
movss dword [esp + 0x1c], xmm0
mov eax, dword ds:[esp + 0x14]
lea edx, [esp + 0x3c]
movss dword [esp + 0x48], xmm0
mov ecx, 0xd
movss dword [esp + 0x4c], xmm3
mov dword [esp + 0x3c], 0
movss xmm0, dword [eax + 0xd0]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [eax + 0xd4]
movss dword [esp + 0x28], xmm0
mov dword [esp + 0x40], 0x40400000
call fcn.1014a940
xorps xmm1, xmm1
lea ecx, [esp + 0x48]
xorps xmm6, xmm6
call fcn.10139e20
mov ecx, 1
call fcn.1014a9c0
movss xmm0, dword [esi]
mov eax, dword [esp + 0x14]
ucomiss xmm0, xmm6
movss xmm1, dword [eax + 0x218]
lahf
test ah, 0x44
mov eax, dword [ebp + 8]
jnp 0x101857e7
nop word [eax + eax]
test eax, 0x800000
je 0x101857fd
movss xmm2, dword [esp + 0x20]
movss xmm0, dword [esp + 0x34]
subss xmm1, xmm2
maxss xmm0, xmm1
jmp 0x10185809
movss xmm0, dword [esp + 0x1c]
movss xmm2, dword [esp + 0x20]
movss xmm6, dword [0x102fdd94]
movaps xmm4, xmm2
movss dword [esp + 0x60], xmm2
addss xmm4, xmm0
movss xmm0, dword [esp + 0x28]
movss dword [esp + 0x64], xmm0
movaps xmm5, xmm0
addss xmm5, dword [esp + 0x24]
movss dword [esp + 0x48], xmm4
movss dword [esp + 0x68], xmm4
movss dword [esp + 0x4c], xmm5
movss dword [esp + 0x6c], xmm5
test eax, 0x4000000
jne 0x101858a0
mov eax, dword [esp + 0xc]
movss xmm2, dword [eax + 0x48]
movss xmm3, dword [eax + 0x4c]
movaps xmm0, xmm2
mulss xmm0, xmm6
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm6
movd xmm1, eax
cvttss2si eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm2, xmm1
subss xmm3, xmm0
addss xmm2, xmm4
addss xmm3, xmm5
movss dword [esp + 0x68], xmm2
movss dword [esp + 0x6c], xmm3
push ecx
push 0
mov edx, edi
lea ecx, [esp + 0x68]
call fcn.10139c00
add esp, 8
test al, al
je 0x10185dc1
mov ecx, dword [ebp + 8]
lea eax, [esp + 9]
shr ecx, 3
and ecx, 0x20000
mov edx, ecx
or edx, 0x10
test dword [ebp + 8], 0x200000
cmove edx, ecx
mov ecx, edx
or ecx, 0x80
test dword [ebp + 8], 0x400000
cmove ecx, edx
mov edx, edi
push ecx
push eax
lea eax, [esp + 0x13]
push eax
lea ecx, [esp + 0x6c]
call fcn.1017d6c0
mov ecx, dword fs:[0x2c]
add esp, 0xc
mov edx, dword [0x1034dcac]
mov byte [esp + 9], al
mov edx, dword [ecx + edx*4]
mov ecx, dword [0x1035b390]
cmp ecx, dword [edx + 4]
jg 0x10185dc9
lea eax, ds:[esp + 0x18]
mov ecx, 0x1035b394
push eax
lea eax, [esp + 0x40]
push eax
call fcn.10051740
mov esi, dword [esp + 0x44]
mov eax, dword [0x1035b394]
mov dword [esp + 0x1c], eax
cmp byte [esi + 0xd], 0
jne 0x1018595d
cmp edi, dword [esi + 0x10]
jae 0x1018595f
mov esi, eax
nop
cmp esi, eax
jne 0x10185a38
lea eax, [esp + 0x18]
mov dword [esp + 0x7c], 0
push eax
lea eax, [esp + 0x54]
mov dword [esp + 0x7c], 0
push eax
mov ecx, 0x1035b394
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
call fcn.10051740
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x3c], xmm0
cmp byte [eax + 0xd], 0
jne 0x101859b4
cmp edi, dword [eax + 0x10]
jae 0x10185a0e
cmp dword [0x1035b398], 0x71c71c7
nop
je 0x10185e0f
push 0x24
call fcn.1009af98
movups xmm0, xmmword ds:[esp + 0x74]
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [eax + 0x10], edi
movups xmmword [eax + 0x14], xmm0
push eax
push dword [esp + 0x44]
mov dword [eax], ecx
push dword [esp + 0x44]
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, 0x1035b394
mov word [eax + 0xc], 0
call fcn.10052320
mov eax, dword [0x1035b394]
mov dword [esp + 0x1c], eax
lea eax, ds:[esp + 0x18]
mov ecx, 0x1035b394
push eax
lea eax, [esp + 0x40]
push eax
call fcn.10051740
mov esi, dword [esp + 0x44]
cmp byte [esi + 0xd], 0
jne 0x10185a34
cmp edi, dword [esi + 0x10]
jae 0x10185a38
mov esi, dword [esp + 0x1c]
cmp byte [esp + 0xa], 0
movss xmm4, dword [0x102fdde4]
je 0x10185aa5
mov eax, dword [esp + 0xc]
movups xmm0, xmmword [eax + 0x2c4]
movups xmmword [esp + 0x50], xmm0
movss xmm1, dword [esp + 0x50]
movss xmm5, dword [esp + 0x54]
movss xmm6, dword [esp + 0x58]
mov eax, dword [0x10350170]
movss xmm3, dword [esi + 0x14]
comiss xmm1, xmm3
movss xmm2, dword [eax + 0x18]
movss xmm7, dword [0x102fdea8]
jbe 0x10185b70
movaps xmm0, xmm2
mulss xmm0, xmm7
addss xmm0, xmm3
minss xmm0, xmm1
movss dword [esi + 0x14], xmm0
jmp 0x10185b89
mov al, byte [esp + 0xb]
mov edx, 0x2b4
test al, al
mov ecx, 0x2a4
cmovne ecx, edx
mov edx, dword [esp + 0xc]
movups xmm0, xmmword [ecx + edx]
movups xmmword [esp + 0x50], xmm0
jne 0x10185a57
mov eax, dword [esp + 0x14]
sub esp, 8
movss xmm1, dword [esp + 0x5c]
addss xmm1, dword [esp + 0x58]
mov eax, dword [eax + 8]
and eax, 0x4000000
or eax, 0x8000000
addss xmm1, dword [esp + 0x60]
shr eax, 0x1a
add eax, eax
divss xmm1, dword [0x102fde5c]
movss xmm0, dword [edx + eax*8 + 0xc8]
addss xmm0, dword [edx + eax*8 + 0xc4]
addss xmm0, dword [edx + eax*8 + 0xcc]
divss xmm0, dword [0x102fde5c]
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100d7177
movss xmm0, dword [0x102fdd70]
add esp, 8
movss xmm4, dword [0x102fdde4]
fstp dword [esp + 0x24]
comiss xmm0, dword [esp + 0x24]
jbe 0x10185a57
movaps xmm1, xmm4
movaps xmm5, xmm4
subss xmm1, dword [esp + 0x50]
subss xmm5, dword [esp + 0x54]
movaps xmm6, xmm4
subss xmm6, dword [esp + 0x58]
jmp 0x10185a69
comiss xmm3, xmm1
jbe 0x10185b89
movaps xmm0, xmm2
mulss xmm0, xmm7
subss xmm3, xmm0
maxss xmm3, xmm1
movss dword [esi + 0x14], xmm3
movss xmm1, dword [esi + 0x18]
comiss xmm5, xmm1
jbe 0x10185ba4
movaps xmm3, xmm2
mulss xmm3, xmm7
addss xmm3, xmm1
minss xmm3, xmm5
jmp 0x10185bbb
comiss xmm1, xmm5
movaps xmm3, xmm1
jbe 0x10185bc0
movaps xmm0, xmm2
mulss xmm0, xmm7
subss xmm3, xmm0
maxss xmm3, xmm5
movss dword [esi + 0x18], xmm3
movss xmm5, dword [esi + 0x1c]
comiss xmm6, xmm5
jbe 0x10185bdb
movaps xmm1, xmm2
mulss xmm1, xmm7
addss xmm1, xmm5
minss xmm1, xmm6
jmp 0x10185bf2
comiss xmm5, xmm6
movaps xmm1, xmm5
jbe 0x10185bf7
movaps xmm0, xmm2
mulss xmm0, xmm7
subss xmm1, xmm0
maxss xmm1, xmm6
movss dword [esi + 0x1c], xmm1
movss xmm5, dword [esi + 0x20]
movss xmm0, dword [esp + 0x5c]
comiss xmm0, xmm5
jbe 0x10185c1d
mulss xmm2, xmm7
addss xmm2, xmm5
minss xmm2, xmm0
movss dword [esi + 0x20], xmm2
movaps xmm5, xmm2
jmp 0x10185c33
comiss xmm5, xmm0
jbe 0x10185c33
mulss xmm2, xmm7
subss xmm5, xmm2
maxss xmm5, xmm0
movss dword [esi + 0x20], xmm5
movss xmm6, dword ds:[esi + 0x14]
xorps xmm2, xmm2
comiss xmm2, xmm6
jbe 0x10185c47
xorps xmm0, xmm0
jmp 0x10185c4e
movaps xmm0, xmm4
minss xmm0, xmm6
comiss xmm2, xmm3
movss xmm6, dword [0x102fe02c]
movss xmm7, dword [0x102fdd94]
mulss xmm0, xmm6
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x10185c74
xorps xmm0, xmm0
jmp 0x10185c7b
movaps xmm0, xmm4
minss xmm0, xmm3
mulss xmm0, xmm6
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm2, xmm1
jbe 0x10185c96
xorps xmm0, xmm0
jmp 0x10185c9d
movaps xmm0, xmm4
minss xmm0, xmm1
mulss xmm0, xmm6
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm2, xmm5
jbe 0x10185cb8
xorps xmm4, xmm4
jmp 0x10185cbc
minss xmm4, xmm5
mulss xmm4, xmm6
addss xmm4, xmm7
cvttss2si edx, xmm4
shl edx, 0x18
or edx, ecx
xor ecx, ecx
call fcn.10147f80
movss xmm1, dword [esp + 0x28]
xorps xmm6, xmm6
movss xmm0, dword [esp + 0x20]
addss xmm1, xmm6
addss xmm0, dword [0x102fdea8]
mov edx, dword [esp + 0x10]
mov edi, edx
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x28], xmm0
cmp edx, 0xffffffff
jae 0x10185d1c
mov cl, byte [edi]
test cl, cl
je 0x10185d1c
cmp cl, 0x23
jne 0x10185d16
cmp byte [edi + 1], cl
je 0x10185d1c
inc edi
cmp edi, 0xffffffff
jb 0x10185d06
mov eax, edi
sub eax, edx
je 0x10185d77
mov esi, dword [0x10350170]
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x10]
add eax, 0x9c
mov ecx, dword [esi + 0x1cdc]
push eax
lea eax, [esp + 0x3c]
push eax
mov ecx, dword [ecx + 0x284]
lea eax, [esp + 0x54]
push edi
push edx
push eax
lea edx, [esp + 0x40]
call fcn.10142ea0
add esp, 0x18
cmp byte [esi + 0x3780], 0
je 0x10185d77
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x28]
push edi
call fcn.10133380
add esp, 4
mov ecx, 1
call fcn.10148620
mov cl, byte [esp + 9]
test cl, cl
je 0x10185db8
mov eax, dword [esp + 0x14]
test dword [eax + 8], 0x4000000
je 0x10185db8
test byte ds:[ebp + 8], 1
jne 0x10185db8
mov eax, dword [esp + 0x30]
test byte [eax + 0x1cfc], 0x20
jne 0x10185db8
call fcn.10138340
mov cl, byte [esp + 9]
mov al, cl
pop edi
pop esi
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
push 0x1035b390
call fcn.1009af0b
add esp, 4
cmp dword [0x1035b390], 0xffffffff
jne 0x1018592c
mov ecx, 0x1035b394
call fcn.10045980
push 0x101aeb60
call fcn.1009ae7a
add esp, 4
push 0x1035b390
call fcn.1009aeba
add esp, 4
jmp 0x1018592c
call fcn.10007510
int3