Function at 0x42cae0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
mov eax, dword [0x90df34]
xor eax, esp
mov dword [esp + 0x90], eax
movsd xmm0, qword [0x8d6c58]
push ebx
push esi
push edi
movsd qword [esp + 0x18], xmm0
call fcn.0064ba80
mov edi, eax
test edi, edi
je 0x42cd5d
cmp dword [ebp + 0x1c], 0x10
lea ecx, [ebp + 8]
cmovae ecx, dword [ebp + 8]
push ecx
push 0x2712
push edi
call fcn.0064f030
add esp, 0xc
mov esi, eax
push 1
push 0x2a
push edi
call fcn.0064f030
add esp, 0xc
or esi, eax
push 1
push 0x2c
push edi
call fcn.0064f030
add esp, 0xc
or esi, eax
push 0x42ca20
push 0x4e2b
push edi
call fcn.0064f030
add esp, 0xc
or esi, eax
push 0
push 0x40
push edi
call fcn.0064f030
add esp, 0xc
push 0
push 0x51
push edi
call fcn.0064f030
add esp, 0xc
test esi, esi
jne 0x42cd5d
push edi
call fcn.0064bac0
mov esi, eax
add esp, 4
test esi, esi
je 0x42cd4a
push 0x64
lea eax, [esp + 0x34]
push 0
push eax
call fcn.006a4bc0
add esp, 0xc
push esi
call fcn.0064f7b0
movq xmm0, qword [0x8d3910]
add esp, 4
cmp byte [0x8d391b], 0
mov ecx, dword [0x8d3918]
mov dword [esp + 0x10], eax
movq qword [esp + 0x24], xmm0
mov dword [esp + 0x2c], ecx
je 0x42cd32
xor ebx, ebx
cmp dword [0x18021f4], 2
jl 0x42cd04
movaps xmm2, xmmword [0x8d6c60]
mov eax, 5
movaps xmm4, xmmword [0x8d6d00]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov ebx, 8
pmuldq xmm1, xmm4
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x8d6c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x8d6c70]
paddd xmm2, xmmword [0x8d6c60]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d6cc0]
movd xmm0, dword [0x8d3910]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x8d6ce0]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x24], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm4
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x8d6c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d6cc0]
movd xmm0, dword [esp + 0x28]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x8d6ce0]
pxor xmm1, xmm0
movd dword [esp + 0x28], xmm1
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [esp + ebx + 0x24], cl
inc ebx
cmp ebx, 0xc
jl 0x42cd04
mov eax, dword [esp + 0x10]
push eax
push esi
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x3c]
push 0x64
push eax
call fcn.0040c8a0
add esp, 0x14
jmp 0x42cd5d
lea eax, [esp + 0x18]
push eax
push 0x30000f
push edi
call fcn.0064ba60
add esp, 0xc
push edi
call fcn.0064ba40
movsd xmm0, qword [esp + 0x1c]
add esp, 4
mov edx, dword [ebp + 0x1c]
movsd qword [esp + 0x10], xmm0
cmp edx, 0x10
jb 0x42cda8
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42cd98
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42cdbf
push edx
push ecx
call fcn.0059a5db
movsd xmm0, qword [esp + 0x18]
add esp, 8
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0059a3cf
mov esp, ebp
pop ebp
ret 0x18
call fcn.006a7c79
int3