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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov ebx, ecx
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x100c3304
mov ecx, dword [ebx + 0x28]
xor esi, esi
mov edx, 0
cmp eax, 8
jb 0x100c32dc
mov ebp, ebx
mov edx, eax
and edx, 0xfffffff8
pxor xmm0, xmm0
mov edi, edx
mov ebx, ecx
pxor xmm1, xmm1
nop word [eax + eax]
movd xmm2, dword [ebx + 0x78]
movd xmm3, dword [ebx + 0x50]
punpckldq xmm3, xmm2
movd xmm4, dword [ebx + 0x28]
movd xmm2, dword [ebx]
punpckldq xmm2, xmm4
punpcklqdq xmm2, xmm3
movd xmm3, dword [ebx + 0x118]
movd xmm4, dword [ebx + 0xf0]
punpckldq xmm4, xmm3
movd xmm5, dword [ebx + 0xc8]
movd xmm3, dword [ebx + 0xa0]
punpckldq xmm3, xmm5
punpcklqdq xmm3, xmm4
psrld xmm2, 2
psrld xmm3, 2
movdqa xmm4, xmm0
pcmpgtd xmm0, xmm2
pand xmm4, xmm0
pandn xmm0, xmm2
por xmm0, xmm4
movdqa xmm2, xmm1
pcmpgtd xmm1, xmm3
pand xmm2, xmm1
pandn xmm1, xmm3
por xmm1, xmm2
add ebx, 0x140
add edi, 0xfffffff8
jne 0x100c31f0
movdqa xmm2, xmmword [0x103985f0]
movdqa xmm3, xmm1
pxor xmm3, xmm2
pxor xmm2, xmm0
pcmpgtd xmm2, xmm3
pand xmm0, xmm2
pandn xmm2, xmm1
por xmm2, xmm0
pshufd xmm0, xmm2, 0xee
movdqa xmm1, xmm2
pcmpgtd xmm1, xmm0
pand xmm2, xmm1
pandn xmm1, xmm0
por xmm1, xmm2
pshufd xmm0, xmm1, 0x55
movdqa xmm2, xmm1
pcmpgtd xmm2, xmm0
pand xmm1, xmm2
pandn xmm2, xmm0
por xmm2, xmm1
movd esi, xmm2
cmp eax, edx
mov ebx, ebp
je 0x100c3306
sub eax, edx
lea edx, [edx + edx*4]
lea ecx, [ecx + edx*8]
mov edx, esi
nop word cs:[eax + eax]
mov esi, dword [ecx]
shr esi, 2
cmp edx, esi
cmovg esi, edx
add ecx, 0x28
mov edx, esi
dec eax
jne 0x100c32f0
jmp 0x100c3306
xor esi, esi
mov eax, dword [ebx + 8]
test eax, eax
je 0x100c332a
mov dword [ebx + 4], 0
mov dword [ebx], 0
push eax
call fcn.10093530
add esp, 4
mov dword [ebx + 8], 0
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x100c334f
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x14], 0
push eax
call fcn.10093530
add esp, 4
mov dword [ebx + 0x1c], 0
mov byte [ebx + 0x40], 0
mov word [ebx + 0x54], 0
lea eax, [esi + 1]
mov ecx, ebx
mov dword [esp + 4], eax
push eax
call fcn.100c38e0
mov ebp, dword [ebx + 0x20]
test ebp, ebp
jle 0x100c33cb
xor eax, eax
mov edx, 4
nop word cs:[eax + eax]
mov ecx, dword [ebx + 8]
mov ebp, dword [ebx + 0x28]
mov edi, dword [ebp + edx - 4]
movd xmm0, dword [ebp + edx]
mov ebp, edi
and ebp, 0xfffffffc
movd dword [ecx + ebp], xmm0
mov ecx, dword [ebx + 0x1c]
mov ebp, edi
shr ebp, 2
mov word [ecx + ebp*2], ax
mov ecx, edi
shr ecx, 0xe
and cl, 7
mov ebp, ebx
mov ebx, 1
shl ebx, cl
shr edi, 0x11
or byte [ebp + edi + 0x54], bl
mov ebx, ebp
inc eax
mov ebp, dword [ebp + 0x20]
add edx, 0x28
cmp eax, ebp
jl 0x100c3380
mov eax, dword [ebx + 0x14]
cmp eax, 0x20
jbe 0x100c33e2
mov ecx, dword [ebx + 0x1c]
movzx ecx, word [ecx + 0x40]
cmp ecx, 0xffff
jne 0x100c33f7
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
jne 0x100c3404
cmp eax, 0x20
ja 0x100c3524
jmp 0x100c3533
lea ecx, [ecx + ecx*4]
shl ecx, 3
add ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100c33e9
mov edi, dword [ebx + 0x28]
lea ecx, [ebp - 1]
lea edx, [ecx + ecx*4]
mov edx, dword [edi + edx*8]
and edx, 0xfffffffc
cmp edx, 0x24
jne 0x100c341f
mov ebp, ecx
jmp 0x100c34a2
lea ecx, [ebp + 1]
mov dword [esp], ecx
mov edx, dword [ebx + 0x24]
cmp edx, ebp
jg 0x100c349c
test edx, edx
je 0x100c343d
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sar ecx, 1
add ecx, edx
jmp 0x100c3442
mov ecx, 8
cmp ecx, dword [esp]
cmovle ecx, dword [esp]
cmp edx, ecx
mov edx, dword [esp]
jge 0x100c349f
mov dword [esp + 8], ecx
lea eax, [ecx*8]
lea eax, [eax + eax*4]
push eax
call fcn.10093500
add esp, 4
mov edi, eax
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x100c348f
mov ecx, dword [ebx + 0x20]
shl ecx, 3
lea ecx, [ecx + ecx*4]
push ecx
push eax
push edi
call fcn.10368490
add esp, 0xc
push dword [ebx + 0x28]
call fcn.10093530
add esp, 4
mov dword [ebx + 0x28], edi
mov eax, dword [esp + 8]
mov dword [ebx + 0x24], eax
mov eax, dword [ebx + 0x14]
mov edx, dword [esp]
mov dword [ebx + 0x20], edx
lea edx, [ebp*4]
add edx, ebp
lea ecx, [edi + edx*8]
cmp eax, 0x20
jbe 0x100c34c1
mov eax, dword [ebx + 0x1c]
movzx eax, word [eax + 0x40]
cmp eax, 0xffff
jne 0x100c34c6
mov eax, dword [ebx + 0x2c]
jmp 0x100c34cc
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
movups xmm0, xmmword [eax]
movdqu xmm1, xmmword [eax + 0x10]
movups xmmword [ecx], xmm0
movsd xmm0, qword [eax + 0x20]
movsd qword [ecx + 0x20], xmm0
movdqu xmmword [ecx + 0x10], xmm1
mov eax, dword [ecx]
and eax, 3
or eax, 0x24
mov dword [ecx], eax
movss xmm0, dword [edi + edx*8 + 4]
mulss xmm0, dword [0x1048d4e0]
movss dword [edi + edx*8 + 4], xmm0
mov eax, dword [ebx + 8]
movss dword [eax + 0x24], xmm0
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x20]
dec edx
mov ecx, dword [ecx]
shr ecx, 2
mov word [eax + ecx*2], dx
mov eax, dword [ebx + 0x14]
cmp eax, 0x20
jbe 0x100c3533
mov ecx, dword [ebx + 0x1c]
movzx ecx, word [ecx + 0x40]
cmp ecx, 0xffff
jne 0x100c3589
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
je 0x100c3540
and byte [ecx], 0xfd
mov eax, dword [ebx + 0x14]
cmp eax, 9
jbe 0x100c3553
mov eax, dword [ebx + 0x1c]
movzx eax, word [eax + 0x12]
cmp eax, 0xffff
jne 0x100c3598
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x100c355d
and byte [eax], 0xfd
cmp word [ebx + 0x3c], 0xffff
jne 0x100c35c9
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x28]
cmp edx, 0x2027
jb 0x100c35a7
cmp word [ecx + 0x404c], 0xffff
je 0x100c35af
mov dx, 0x2026
test eax, eax
jne 0x100c35c5
jmp 0x100c35af
lea ecx, [ecx + ecx*4]
shl ecx, 3
add ecx, dword [ebx + 0x28]
test ecx, ecx
jne 0x100c353a
jmp 0x100c3540
lea eax, [eax + eax*4]
shl eax, 3
add eax, dword [ebx + 0x28]
test eax, eax
jne 0x100c355a
jmp 0x100c355d
cmp edx, 0x86
jb 0x100c35c1
cmp word [ecx + 0x10a], 0xffff
je 0x100c35c1
mov dx, 0x85
test eax, eax
jne 0x100c35c5
mov dx, 0xffff
mov word [ebx + 0x3c], dx
cmp word [ebx + 0x3e], 0xffff
mov eax, dword [ebx + 0x14]
jne 0x100c360e
cmp eax, 0x2f
jb 0x100c3606
mov edx, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x28]
cmp word [edx + 0x5c], 0xffff
je 0x100c35ed
mov di, 0x2e
test ecx, ecx
jne 0x100c360a
cmp eax, 0xff0f
jb 0x100c3606
cmp word [edx + 0x1fe1c], 0xffff
je 0x100c3606
mov di, 0xff0e
test ecx, ecx
jne 0x100c360a
mov di, 0xffff
mov word [ebx + 0x3e], di
movzx ecx, word [ebx + 0x3a]
mov edx, dword [ebx + 0x1c]
cmp eax, ecx
jbe 0x100c3651
movzx ecx, word [edx + ecx*2]
cmp ecx, 0xffff
je 0x100c3651
mov edi, dword [ebx + 0x28]
lea ecx, [ecx + ecx*4]
lea ebp, [edi + ecx*8]
mov dword [ebx + 0x2c], ebp
test edi, edi
jne 0x100c36d7
lea edi, [ebx + 0x2c]
xor ecx, ecx
cmp eax, 0xfffe
jae 0x100c3665
cmp eax, 0x40
jae 0x100c3677
cmp eax, 0x21
jae 0x100c3686
jmp 0x100c3695
lea edi, [ebx + 0x2c]
mov dword [ebx + 0x2c], 0
mov ecx, dword [ebx + 0x28]
cmp eax, 0xfffe
jb 0x100c3645
cmp word [edx + 0x1fffa], 0xffff
je 0x100c3677
mov bp, 0xfffd
test ecx, ecx
jne 0x100c3699
cmp word [edx + 0x7e], 0xffff
je 0x100c3686
mov bp, 0x3f
test ecx, ecx
jne 0x100c3699
cmp word [edx + 0x40], 0xffff
je 0x100c3695
mov bp, 0x20
test ecx, ecx
jne 0x100c3699
mov bp, 0xffff
mov word [ebx + 0x3a], bp
movzx ebp, bp
cmp eax, ebp
jbe 0x100c36bd
movzx eax, word [edx + ebp*2]
cmp eax, 0xffff
je 0x100c36bd
lea eax, [eax + eax*4]
lea ebp, [ecx + eax*8]
mov dword [edi], ebp
test ecx, ecx
jne 0x100c36d7
xor ecx, ecx
mov eax, dword [ebx + 0x20]
lea eax, [eax + eax*4]
lea ebp, [ecx + eax*8]
add ebp, 0xffffffd8
mov dword [ebx + 0x2c], ebp
mov eax, dword [ecx + eax*8 - 0x28]
shr eax, 2
mov word [ebx + 0x3a], ax
movss xmm0, dword [ebp + 4]
movss dword [ebx + 0xc], xmm0
test esi, esi
je 0x100c3731
mov ecx, dword [esp + 4]
and ecx, 0xfffffffe
xor eax, eax
xorps xmm0, xmm0
jmp 0x100c3707
add eax, 2
cmp ecx, eax
je 0x100c3733
mov edx, dword [ebx + 8]
ucomiss xmm0, dword [edx + eax*4]
jbe 0x100c371a
movd xmm1, dword [ebx + 0xc]
movd dword [edx + eax*4], xmm1
mov edx, dword [ebx + 8]
ucomiss xmm0, dword [edx + eax*4 + 4]
jbe 0x100c3700
movd xmm1, dword [ebx + 0xc]
movd dword [edx + eax*4 + 4], xmm1
jmp 0x100c3700
xor eax, eax
test byte [esp + 4], 1
je 0x100c3750
mov ecx, dword [ebx + 8]
xorps xmm0, xmm0
ucomiss xmm0, dword [ecx + eax*4]
jbe 0x100c3750
movss xmm0, dword [ebx + 0xc]
movss dword [ecx + eax*4], xmm0
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret