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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x84
mov eax, ecx
movq xmm0, qword [ebp + 8]
push ebx
push esi
mov dword [esp + 0x20], eax
mov ebx, dword [eax + 8]
mov esi, dword [eax]
mov edx, dword [eax + 4]
push edi
movzx eax, byte [ebx + 0x10]
mov ecx, dword [esi]
mov dword [esp + 0x40], ecx
punpcklqdq xmm0, xmm0
lea ecx, [eax + eax*8]
movaps xmmword [esp + 0x80], xmm0
mov eax, dword [esi + 4]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x48], edx
mov dword [esp + 0x28], ebx
lea eax, [eax + ecx*8]
lea ecx, [esp + 0x20]
add eax, 8
push ecx
push eax
push dword [ebp + 0x14]
mov ecx, esi
push dword [ebp + 0x10]
call fcn.100c3bf0
mov edi, eax
add esp, 0x10
mov dword [esp + 0x2c], edi
test edi, edi
je 0x100c6ebc
and dword [ebx + 0x1c], 0xfffffffe
xor eax, eax
mov word [ebx + 0x12], ax
mov word [ebx + 0x30], ax
movzx eax, word [ebx + 0x34]
mov dword [ebx + 0x2c], 0x400
mov ecx, dword [edi]
mov dword [esp + 0x30], ecx
cmp eax, ecx
jge 0x100c6f04
mov ebx, dword [esp + 0x40]
lea esi, [ecx + 7]
and esi, 0xfffffff8
push 0
mov ebx, dword [ebx]
mov ecx, ebx
lea eax, [esi*4]
push eax
call fcn.10026f30
mov edi, eax
add esp, 8
test edi, edi
jne 0x100c6ec8
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
mov ecx, dword [eax]
call fcn.100c4080
mov eax, 7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x28]
movzx eax, word [ecx + 0x34]
shl eax, 2
push eax
push dword [ecx + 0x38]
push edi
call fcn.10139d00
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [eax + 0x38]
add eax, 0x40
cmp edx, eax
je 0x100c6ef5
mov ecx, ebx
call fcn.10026a90
mov ebx, dword [esp + 0x28]
mov dword [ebx + 0x38], edi
mov edi, dword [esp + 0x2c]
mov word [ebx + 0x34], si
mov esi, dword [ebp + 0xc]
lea eax, [esp + 0x3c]
mov ecx, dword [esp + 0x24]
xor edx, edx
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x28]
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push dword [ebp + 8]
call fcn.100c66b0
add esp, 0x20
mov ecx, eax
cmp dword [esp + 0x3c], 0
mov dword [esp + 0x18], ecx
je 0x100c6f61
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x1c]
push 0
push eax
push dword [esp + 0x28]
xor edx, edx
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push dword [ebp + 8]
call fcn.100c66b0
add esp, 0x20
mov dword [esp + 0x18], eax
mov ecx, eax
test ecx, ecx
jne 0x100c7011
mov ecx, dword [ebp + 8]
mov edx, esi
mov eax, ecx
not edx
not eax
mov dword [esp + 0x4c], edx
and edx, dword [ebx + 4]
mov dword [esp + 0x44], eax
and eax, dword [ebx]
mov dword [esp + 0x70], eax
or eax, edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x74], edx
jne 0x100c6f95
test eax, eax
je 0x100c7011
xor edx, edx
mov dword [esp + 0x38], 1
mov dword [esp + 0x3c], edx
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
movlpd qword [esp + 0x68], xmm0
test eax, eax
je 0x100c7083
push edx
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x28]
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push ecx
mov ecx, dword [esp + 0x44]
call fcn.100c66b0
mov edx, dword [esp + 0x64]
mov ecx, eax
and edx, dword [ebx]
add esp, 0x20
mov esi, dword [esp + 0x4c]
mov eax, edx
and esi, dword [ebx + 4]
or eax, esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], esi
jne 0x100c7007
mov edx, 1
mov dword [esp + 0x3c], edx
jmp 0x100c7009
xor edx, edx
test ecx, ecx
je 0x100c7093
mov ebx, dword [esp + 0x18]
cmp dword [edi + 0x1c], 0
je 0x100c7385
mov esi, dword [edi + 0x18]
test esi, esi
je 0x100c7385
cmp dword [0x10177b48], 0
je 0x100c737b
mov eax, dword [0x1017ad00]
test eax, eax
je 0x100c704a
push eax
call dword [0x10177b98]
add esp, 4
push esi
call dword [0x10177b74]
sub dword [0x1017ab88], eax
add esp, 4
dec dword [0x1017abac]
push esi
call dword [0x10177b6c]
mov eax, dword [0x1017ad00]
add esp, 4
test eax, eax
je 0x100c7385
push eax
call dword [0x10177ba0]
jmp 0x100c7382
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x7c]
movups xmm6, xmmword [0x10171a50]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x34], edx
mov dword [esp + 0x58], eax
nop
movq xmm2, qword [esp + 0x78]
or edx, 0xffffffff
mov eax, dword [esp + 0x30]
or esi, 0xffffffff
xor ecx, ecx
punpcklqdq xmm2, xmm2
test eax, eax
jle 0x100c724a
cmp eax, 4
jb 0x100c71d2
cmp dword [0x1017a334], 6
jl 0x100c71d2
mov edx, dword [esp + 0x48]
mov ebx, dword [edi + 4]
mov esi, dword [edx + 0x18]
and eax, 0x80000003
jns 0x100c70fa
dec eax
or eax, 0xfffffffc
inc eax
mov edx, dword [esp + 0x30]
movaps xmm4, xmm6
movaps xmm3, xmmword [esp + 0x80]
sub edx, eax
movaps xmm5, xmm4
andnps xmm3, xmm6
xor edi, edi
mov eax, dword [edi + ebx + 8]
lea edi, [edi + 0x30]
add ecx, 4
lea eax, [eax + eax*2]
add eax, eax
movq xmm0, qword [esi + eax*8 + 0x20]
mov eax, dword [edi + ebx - 0x1c]
lea eax, [eax + eax*2]
add eax, eax
movhpd xmm0, qword [esi + eax*8 + 0x20]
mov eax, dword [edi + ebx - 0x10]
andps xmm0, xmm3
vpminuq xmm1, xmm0, xmm2
pcmpeqq xmm1, xmm0
vpminuq xmm0, xmm4, xmm0
andnps xmm1, xmm6
lea eax, [eax + eax*2]
andps xmm0, xmm1
add eax, eax
andnps xmm1, xmm4
orps xmm0, xmm1
movaps xmm4, xmm0
movq xmm0, qword [esi + eax*8 + 0x20]
mov eax, dword [edi + ebx - 4]
lea eax, [eax + eax*2]
add eax, eax
movhpd xmm0, qword [esi + eax*8 + 0x20]
andps xmm0, xmm3
vpminuq xmm1, xmm0, xmm2
pcmpeqq xmm1, xmm0
andnps xmm1, xmm6
vpminuq xmm0, xmm5, xmm0
andps xmm0, xmm1
andnps xmm1, xmm5
orps xmm0, xmm1
movaps xmm5, xmm0
cmp ecx, edx
jl 0x100c7113
mov edi, dword [esp + 0x2c]
vpminuq xmm1, xmm4, xmm5
movaps xmm0, xmm1
psrldq xmm0, 8
vpminuq xmm0, xmm1, xmm0
movd edx, xmm0
psrldq xmm0, 4
movd esi, xmm0
mov dword [esp + 0x68], edx
cmp ecx, dword [esp + 0x30]
jge 0x100c7246
mov eax, dword [edi + 4]
lea edi, [ecx + ecx*2]
mov ebx, dword [esp + 0x30]
shl edi, 2
sub ebx, ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], ebx
nop dword [eax]
mov eax, dword [edi + eax + 8]
mov edi, dword [esp + 0x48]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x44]
mov ebx, dword [edi + 0x18]
add ecx, ecx
mov edi, dword [esp + 0x50]
and eax, dword [ebx + ecx*8 + 0x20]
mov ecx, dword [ebx + ecx*8 + 0x24]
and ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x5c]
jb 0x100c7230
ja 0x100c7222
cmp eax, dword [esp + 0x58]
jbe 0x100c7230
cmp ecx, esi
ja 0x100c7230
jb 0x100c722c
cmp eax, edx
jae 0x100c7230
mov edx, eax
mov esi, ecx
mov eax, dword [esp + 0x68]
add edi, 0xc
sub dword [esp + 0x54], 1
mov dword [esp + 0x50], edi
jne 0x100c71f0
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x78], eax
mov ecx, esi
and eax, esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x7c], ecx
cmp eax, 0xffffffff
je 0x100c72f2
cmp edx, dword [esp + 0x70]
jne 0x100c7275
cmp esi, dword [esp + 0x74]
je 0x100c72e1
cmp edx, dword [esp + 0x60]
jne 0x100c7281
cmp esi, dword [esp + 0x64]
je 0x100c72e1
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x1c]
push 0
push eax
push dword [esp + 0x28]
mov eax, dword [ebp + 0xc]
or edx, ecx
push edi
or esi, eax
push esi
push edx
push eax
push ecx
mov ecx, dword [esp + 0x44]
xor edx, edx
call fcn.100c66b0
movups xmm6, xmmword [0x10171a50]
mov ecx, eax
add esp, 0x20
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], ecx
cmp dword [ebx], eax
jne 0x100c72e5
mov esi, dword [ebp + 0xc]
cmp dword [ebx + 4], esi
jne 0x100c72e5
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x3c], 1
cmove eax, dword [esp + 0x38]
mov dword [esp + 0x34], eax
jmp 0x100c72e5
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x100c70b0
jmp 0x100c7011
mov ebx, dword [esp + 0x18]
test ebx, ebx
jne 0x100c7015
cmp dword [esp + 0x3c], 0
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
jne 0x100c7349
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x1c]
push 0
push eax
push dword [esp + 0x28]
xor edx, edx
push edi
push ebx
push esi
push ebx
push esi
call fcn.100c66b0
mov edx, dword [esp + 0x58]
mov ecx, eax
mov eax, dword [esp + 0x54]
add esp, 0x20
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x18], ecx
cmove eax, edx
test ecx, ecx
jne 0x100c7011
jmp 0x100c7351
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
test eax, eax
jne 0x100c7011
mov ecx, dword [esp + 0x24]
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x28]
push edi
push ebx
push esi
push ebx
push esi
call fcn.100c66b0
add esp, 0x20
mov ebx, eax
jmp 0x100c7015
push esi
call dword [0x10177b6c]
add esp, 4
mov eax, dword [esp + 0x40]
mov edx, edi
mov ecx, dword [eax]
call fcn.100c4080
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret