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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
push esi
mov esi, dword [0x1034d164]
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 0x101828e1
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.10142400
mov edi, eax
add esp, 4
cmp dword [esi + 0x1d14], edi
jne 0x1018219c
mov dword [esi + 0x1d18], edi
nop dword [eax]
cmp dword [esi + 0x1d4c], edi
jne 0x101821af
mov byte [esi + 0x1d50], 1
mov eax, dword [esp + 0x10]
mov ecx, eax
mov dword [esp + 0x18], edi
cmp eax, 0xffffffff
jae 0x101821d6
nop
mov dl, byte [ecx]
test dl, dl
je 0x101821d6
cmp dl, 0x23
jne 0x101821d0
cmp byte [ecx + 1], dl
je 0x101821d6
inc ecx
cmp ecx, 0xffffffff
jb 0x101821c0
movss xmm0, dword ds:[esi + 0x1a70]
cmp eax, ecx
jne 0x101821e9
xorps xmm2, xmm2
jmp 0x1018222f
movss xmm3, dword [0x102fa288]
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.1015d2e0
movss xmm0, dword [esp + 0x28]
addss xmm0, dword [0x102f9fdc]
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 0x1018225e
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 0x1018227a
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.10147360
xorps xmm1, xmm1
lea ecx, [esp + 0x48]
xorps xmm6, xmm6
call fcn.10136860
mov ecx, 1
call fcn.101473e0
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 0x10182307
nop word [eax + eax]
test eax, 0x800000
je 0x1018231d
movss xmm2, dword [esp + 0x20]
movss xmm0, dword [esp + 0x34]
subss xmm1, xmm2
maxss xmm0, xmm1
jmp 0x10182329
movss xmm0, dword [esp + 0x1c]
movss xmm2, dword [esp + 0x20]
movss xmm6, dword [0x102f9f94]
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 0x101823c0
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.10136640
add esp, 8
test al, al
je 0x101828e1
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.1017a000
mov ecx, dword fs:[0x2c]
add esp, 0xc
mov edx, dword [0x1034ac9c]
mov byte [esp + 9], al
mov edx, dword [ecx + edx*4]
mov ecx, dword [0x10358380]
cmp ecx, dword [edx + 4]
jg 0x101828e9
lea eax, ds:[esp + 0x18]
mov ecx, 0x10358384
push eax
lea eax, [esp + 0x40]
push eax
call fcn.10051e00
mov esi, dword [esp + 0x44]
mov eax, dword [0x10358384]
mov dword [esp + 0x1c], eax
cmp byte [esi + 0xd], 0
jne 0x1018247d
cmp edi, dword [esi + 0x10]
jae 0x1018247f
mov esi, eax
nop
cmp esi, eax
jne 0x10182558
lea eax, [esp + 0x18]
mov dword [esp + 0x7c], 0
push eax
lea eax, [esp + 0x54]
mov dword [esp + 0x7c], 0
push eax
mov ecx, 0x10358384
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
call fcn.10051e00
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x3c], xmm0
cmp byte [eax + 0xd], 0
jne 0x101824d4
cmp edi, dword [eax + 0x10]
jae 0x1018252e
cmp dword [0x10358388], 0x71c71c7
nop
je 0x1018292f
push 0x24
call fcn.1009882d
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, 0x10358384
mov word [eax + 0xc], 0
call fcn.100529e0
mov eax, dword [0x10358384]
mov dword [esp + 0x1c], eax
lea eax, ds:[esp + 0x18]
mov ecx, 0x10358384
push eax
lea eax, [esp + 0x40]
push eax
call fcn.10051e00
mov esi, dword [esp + 0x44]
cmp byte [esi + 0xd], 0
jne 0x10182554
cmp edi, dword [esi + 0x10]
jae 0x10182558
mov esi, dword [esp + 0x1c]
cmp byte [esp + 0xa], 0
movss xmm4, dword [0x102f9fe4]
je 0x101825c5
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 [0x1034d164]
movss xmm3, dword [esi + 0x14]
comiss xmm1, xmm3
movss xmm2, dword [eax + 0x18]
movss xmm7, dword [0x102fa098]
jbe 0x10182690
movaps xmm0, xmm2
mulss xmm0, xmm7
addss xmm0, xmm3
minss xmm0, xmm1
movss dword [esi + 0x14], xmm0
jmp 0x101826a9
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 0x10182577
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 [0x102fa05c]
movss xmm0, dword [edx + eax*8 + 0xc8]
addss xmm0, dword [edx + eax*8 + 0xc4]
addss xmm0, dword [edx + eax*8 + 0xcc]
divss xmm0, dword [0x102fa05c]
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100d4a17
movss xmm0, dword [0x102f9f70]
add esp, 8
movss xmm4, dword [0x102f9fe4]
fstp dword [esp + 0x24]
comiss xmm0, dword [esp + 0x24]
jbe 0x10182577
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 0x10182589
comiss xmm3, xmm1
jbe 0x101826a9
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 0x101826c4
movaps xmm3, xmm2
mulss xmm3, xmm7
addss xmm3, xmm1
minss xmm3, xmm5
jmp 0x101826db
comiss xmm1, xmm5
movaps xmm3, xmm1
jbe 0x101826e0
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 0x101826fb
movaps xmm1, xmm2
mulss xmm1, xmm7
addss xmm1, xmm5
minss xmm1, xmm6
jmp 0x10182712
comiss xmm5, xmm6
movaps xmm1, xmm5
jbe 0x10182717
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 0x1018273d
mulss xmm2, xmm7
addss xmm2, xmm5
minss xmm2, xmm0
movss dword [esi + 0x20], xmm2
movaps xmm5, xmm2
jmp 0x10182753
comiss xmm5, xmm0
jbe 0x10182753
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 0x10182767
xorps xmm0, xmm0
jmp 0x1018276e
movaps xmm0, xmm4
minss xmm0, xmm6
comiss xmm2, xmm3
movss xmm6, dword [0x102fa21c]
movss xmm7, dword [0x102f9f94]
mulss xmm0, xmm6
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x10182794
xorps xmm0, xmm0
jmp 0x1018279b
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 0x101827b6
xorps xmm0, xmm0
jmp 0x101827bd
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 0x101827d8
xorps xmm4, xmm4
jmp 0x101827dc
minss xmm4, xmm5
mulss xmm4, xmm6
addss xmm4, xmm7
cvttss2si edx, xmm4
shl edx, 0x18
or edx, ecx
xor ecx, ecx
call fcn.101449a0
movss xmm1, dword [esp + 0x28]
xorps xmm6, xmm6
movss xmm0, dword [esp + 0x20]
addss xmm1, xmm6
addss xmm0, dword [0x102fa098]
mov edx, dword [esp + 0x10]
mov edi, edx
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x28], xmm0
cmp edx, 0xffffffff
jae 0x1018283c
mov cl, byte [edi]
test cl, cl
je 0x1018283c
cmp cl, 0x23
jne 0x10182836
cmp byte [edi + 1], cl
je 0x1018283c
inc edi
cmp edi, 0xffffffff
jb 0x10182826
mov eax, edi
sub eax, edx
je 0x10182897
mov esi, dword [0x1034d164]
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.1013f8e0
add esp, 0x18
cmp byte [esi + 0x3780], 0
je 0x10182897
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x28]
push edi
call fcn.1012fdc0
add esp, 4
mov ecx, 1
call fcn.10145040
mov cl, byte [esp + 9]
test cl, cl
je 0x101828d8
mov eax, dword [esp + 0x14]
test dword [eax + 8], 0x4000000
je 0x101828d8
test byte ds:[ebp + 8], 1
jne 0x101828d8
mov eax, dword [esp + 0x30]
test byte [eax + 0x1cfc], 0x20
jne 0x101828d8
call fcn.10134d80
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 0x10358380
call fcn.100987a0
add esp, 4
cmp dword [0x10358380], 0xffffffff
jne 0x1018244c
mov ecx, 0x10358384
call fcn.10045640
push 0x101aad60
call fcn.1009870f
add esp, 4
push 0x10358380
call fcn.1009874f
add esp, 4
jmp 0x1018244c
call fcn.10007530
int3