Function at 0x1002c744
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
movaps xmm6, xmm1
push esi
mov esi, dword [ebp + 8]
cmp edx, esi
jne 0x1002c6eb
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
cmp ecx, 8
je 0x1002c6f9
cmp ecx, 9
je 0x1002c6f9
xor al, al
jmp 0x1002c6fb
mov al, 1
cmp byte [ebp + 0xc], 0
je 0x1002c955
xorps xmm5, xmm5
comiss xmm5, xmm6
jae 0x1002c9d8
movss xmm7, dword [0x101afc38]
comiss xmm6, xmm7
jae 0x1002c9d6
movss xmm4, dword [ebp + 0x10]
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
andps xmm0, xmmword [0x101b1440]
comiss xmm4, xmm0
jbe 0x1002c754
comiss xmm5, xmm1
movaps xmm2, xmm4
jbe 0x1002c74c
xorps xmm2, xmmword [0x101b1470]
movss dword [esp + 4], xmm2
jmp 0x1002c75d
movaps xmm2, xmm1
movss dword [esp + 4], xmm1
movd xmm3, esi
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm3
movss dword [esp + 0xc], xmm3
andps xmm0, xmmword [0x101b1440]
comiss xmm4, xmm0
jbe 0x1002c78a
comiss xmm5, xmm3
movaps xmm1, xmm4
jbe 0x1002c78d
xorps xmm1, xmmword [0x101b1470]
jmp 0x1002c78d
movaps xmm1, xmm3
cmp esi, edx
jge 0x1002c7a0
movaps xmm0, xmm2
movaps xmm2, xmm1
movss dword [esp + 4], xmm2
movaps xmm1, xmm0
ucomiss xmm3, xmm5
lahf
test ah, 0x44
jp 0x1002c7bf
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm5, xmm0
jbe 0x1002c7bf
movaps xmm1, xmm4
xorps xmm1, xmmword [0x101b1470]
cmp esi, edx
jge 0x1002c7cc
movaps xmm3, xmm7
subss xmm3, xmm6
jmp 0x1002c7cf
movaps xmm3, xmm6
mov eax, edx
imul eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm5, xmm0
jbe 0x1002c8cf
movss xmm5, dword [0x101b1470]
cmp edx, esi
movd xmm6, edx
cmovl esi, edx
cvtdq2ps xmm6, xmm6
movd xmm0, esi
cvtdq2ps xmm0, xmm0
xorps xmm0, xmm5
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0xc]
subss xmm0, xmm6
movss xmm6, dword [esp + 8]
andps xmm0, xmmword [0x101b1440]
divss xmm6, xmm0
movaps xmm2, xmm6
movss dword [esp + 8], xmm6
subss xmm2, dword [ebp + 0x14]
addss xmm6, dword [ebp + 0x14]
movss dword [esp + 0xc], xmm2
comiss xmm3, xmm2
movss xmm2, dword [esp + 4]
jb 0x1002c855
comiss xmm6, xmm3
jb 0x1002c855
xor edx, edx
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 8]
comiss xmm0, xmm3
xorps xmm0, xmm0
jbe 0x1002c89b
divss xmm3, dword [esp + 0xc]
xorps xmm2, xmm5
divss xmm2, xmm4
subss xmm7, xmm3
cvtss2sd xmm0, xmm2
cvtps2pd xmm1, xmm7
call fcn.10160390
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [ebp + 0x10]
xorps xmm0, xmmword [0x101b1470]
cvttss2si edx, xmm0
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
subss xmm3, xmm6
subss xmm7, xmm6
divss xmm1, xmm4
divss xmm3, xmm7
cvtss2sd xmm0, xmm1
xorps xmm1, xmm1
cvtss2sd xmm1, xmm3
call fcn.10160390
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [ebp + 0x10]
cvttss2si edx, xmm0
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm5, xmm0
ja 0x1002c90e
comiss xmm5, dword [esp + 0xc]
ja 0x1002c90e
divss xmm1, xmm2
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
xorps xmm1, xmm1
cvtss2sd xmm1, xmm3
call fcn.10160390
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 4]
cvttss2si edx, xmm0
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
xorps xmm1, xmmword [0x101b1470]
subss xmm7, xmm3
xorps xmm2, xmmword [0x101b1470]
xorps xmm0, xmm0
divss xmm2, xmm1
movss dword [esp + 0xc], xmm1
cvtps2pd xmm1, xmm7
cvtss2sd xmm0, xmm2
call fcn.10160390
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 0xc]
xorps xmm0, xmmword [0x101b1470]
cvttss2si edx, xmm0
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test al, al
je 0x1002c97c
sub esi, edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
addss xmm1, xmm0
cvttss2si edx, xmm1
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [0x101afc38]
comiss xmm0, xmm6
jbe 0x1002c9d6
mov eax, esi
sub eax, edx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
cmp edx, esi
jle 0x1002c9b9
movsd xmm0, qword [0x101afe48]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
add edx, eax
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
movsd xmm0, qword [0x101afc60]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
add edx, eax
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
mov edx, esi
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret