Function at 0x404a40
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x338
movdqa xmmword [rsp + 0x320], xmm9
movdqa xmmword [rsp + 0x310], xmm8
movaps xmmword [rsp + 0x300], xmm7
movdqa xmmword [rsp + 0x2f0], xmm6
mov rbx, rdx
mov rsi, rcx
mov r14d, 0xf0000000
xor r15d, r15d
lea rdi, [rsp + 0x30]
mov r8d, 0x2c0
mov rcx, rdi
xor edx, edx
call sub.ntdll.dll_memset
mov qword [rsp + 0x20], rbx
mov rcx, rdi
mov rdx, rbx
mov r8, rbx
mov r9, rbx
call fcn.004099c0
lea r12, [rsp + 0x70]
pcmpeqd xmm6, xmm6
movdqa xmm7, xmmword [0x004a6cf0]
xor r13d, r13d
xor ebx, ebx
xor ebp, ebp
jmp 0x404b0b
lea rax, [r12 + rax*8]
xor qword [rax + rbx*8], r14
add rbx, 8
mov dword [rsp + 0x20], 0x1c
mov edx, 0x58
mov r9d, 8
mov rcx, rdi
mov r8, rbx
call fcn.004096c0
add r13, 0x40
add r15, 0x48
inc rbp
cmp rbx, 0x50
je 0x404b77
mov edx, 0x58
mov rcx, rdi
mov r8, rbx
call fcn.0040a140
lea rcx, [r12 + r13]
call fcn.00409410
movdqu xmm0, xmmword [rsp + rbx*8 + 0x70]
movdqu xmm1, xmmword [rsp + rbx*8 + 0x98]
pxor xmm0, xmm6
movdqu xmmword [rsp + rbx*8 + 0x70], xmm0
pxor xmm1, xmm6
movdqu xmmword [rsp + rbx*8 + 0x98], xmm1
mov rax, rbp
cmp rbp, 8
jb 0x404ad0
movdqu xmm0, xmmword [rsp + r15 + 0x30]
pxor xmm0, xmm7
movdqu xmmword [rsp + r15 + 0x30], xmm0
xor qword [rsp + r15 + 0x48], r14
lea rax, [rbp - 4]
jmp 0x404ad0
mov eax, 0xf0
movdqa xmm1, xmmword [0x004a6d00]
movdqa xmm0, xmmword [0x004a6d10]
movdqa xmm2, xmmword [0x004a6d20]
movdqa xmm3, xmmword [0x004a6d30]
nop dword [rax]
movdqu xmm7, xmmword [rsp + rax - 0x80]
movdqu xmm6, xmmword [rsp + rax - 0x70]
movdqu xmm5, xmmword [rsp + rax - 0x60]
movdqu xmm4, xmmword [rsp + rax - 0x50]
movdqa xmm8, xmm7
psrlq xmm8, 8
pxor xmm8, xmm7
pand xmm8, xmm1
movdqa xmm9, xmm8
psllq xmm9, 8
por xmm9, xmm8
pxor xmm9, xmm7
movdqa xmm7, xmm9
psrlq xmm7, 4
pxor xmm7, xmm9
pand xmm7, xmm0
movdqa xmm8, xmm7
psllq xmm8, 4
por xmm8, xmm7
pxor xmm8, xmm9
movdqu xmmword [rsp + rax - 0x80], xmm8
movdqa xmm7, xmm6
psrlq xmm7, 8
pxor xmm7, xmm6
pand xmm7, xmm1
movdqa xmm8, xmm7
psllq xmm8, 8
por xmm8, xmm7
pxor xmm8, xmm6
movdqa xmm6, xmm8
psrlq xmm6, 4
pxor xmm6, xmm8
pand xmm6, xmm0
movdqa xmm7, xmm6
psllq xmm7, 4
por xmm7, xmm6
pxor xmm7, xmm8
movdqu xmmword [rsp + rax - 0x70], xmm7
movdqa xmm6, xmm5
psrlq xmm6, 8
pxor xmm6, xmm5
pand xmm6, xmm1
movdqa xmm7, xmm6
psllq xmm7, 8
por xmm7, xmm6
pxor xmm7, xmm5
movdqa xmm5, xmm7
psrlq xmm5, 4
pxor xmm5, xmm7
pand xmm5, xmm0
movdqa xmm6, xmm5
psllq xmm6, 4
por xmm6, xmm5
pxor xmm6, xmm7
movdqu xmmword [rsp + rax - 0x60], xmm6
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm1
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqa xmm4, xmm6
psrlq xmm4, 4
pxor xmm4, xmm6
pand xmm4, xmm0
movdqa xmm5, xmm4
psllq xmm5, 4
por xmm5, xmm4
pxor xmm5, xmm6
movdqu xmmword [rsp + rax - 0x50], xmm5
movdqu xmm4, xmmword [rsp + rax - 0x40]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm2
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqu xmmword [rsp + rax - 0x40], xmm6
movdqu xmm4, xmmword [rsp + rax - 0x30]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm2
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqu xmmword [rsp + rax - 0x30], xmm6
movdqu xmm4, xmmword [rsp + rax - 0x20]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm2
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqu xmmword [rsp + rax - 0x20], xmm6
movdqu xmm4, xmmword [rsp + rax - 0x10]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm2
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqu xmmword [rsp + rax - 0x10], xmm6
movdqu xmm4, xmmword [rsp + rax]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm3
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqa xmm4, xmm6
psrlq xmm4, 4
pxor xmm4, xmm6
pand xmm4, xmm0
movdqa xmm5, xmm4
psllq xmm5, 4
por xmm5, xmm4
pxor xmm5, xmm6
movdqu xmmword [rsp + rax], xmm5
movdqu xmm4, xmmword [rsp + rax + 0x10]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm3
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqa xmm4, xmm6
psrlq xmm4, 4
pxor xmm4, xmm6
pand xmm4, xmm0
movdqa xmm5, xmm4
psllq xmm5, 4
por xmm5, xmm4
pxor xmm5, xmm6
movdqu xmmword [rsp + rax + 0x10], xmm5
movdqu xmm4, xmmword [rsp + rax + 0x20]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm3
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqa xmm4, xmm6
psrlq xmm4, 4
pxor xmm4, xmm6
pand xmm4, xmm0
movdqa xmm5, xmm4
psllq xmm5, 4
por xmm5, xmm4
pxor xmm5, xmm6
movdqu xmmword [rsp + rax + 0x20], xmm5
movdqu xmm4, xmmword [rsp + rax + 0x30]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm3
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqa xmm4, xmm6
psrlq xmm4, 4
pxor xmm4, xmm6
pand xmm4, xmm0
movdqa xmm5, xmm4
psllq xmm5, 4
por xmm5, xmm4
pxor xmm5, xmm6
movdqu xmmword [rsp + rax + 0x30], xmm5
add rax, 0x100
cmp rax, 0x2f0
jne 0x404ba0
movdqu xmm2, xmmword [rsp + 0x280]
movdqa xmm3, xmm2
psrlq xmm3, 8
pxor xmm3, xmm2
pand xmm3, xmm1
movdqa xmm4, xmm3
psllq xmm4, 8
por xmm4, xmm3
pxor xmm4, xmm2
movdqa xmm2, xmm4
psrlq xmm2, 4
pxor xmm2, xmm4
pand xmm2, xmm0
movdqa xmm3, xmm2
psllq xmm3, 4
por xmm3, xmm2
pxor xmm3, xmm4
movdqu xmmword [rsp + 0x280], xmm3
mov rax, qword [rsp + 0x290]
mov rcx, rax
shr rcx, 8
xor rcx, rax
movabs rdx, 0xf00ff00f00000
and rcx, rdx
mov r8, rcx
shl r8, 8
or r8, rcx
xor r8, rax
mov rax, r8
shr rax, 4
xor rax, r8
movabs rcx, 0xf0f00000f0f0000
and rax, rcx
mov r9, rax
shl r9, 4
or r9, rax
xor r9, r8
mov qword [rsp + 0x290], r9
mov rax, qword [rsp + 0x2a8]
mov r8, rax
shr r8, 8
xor r8, rax
and r8, rdx
mov rdx, r8
shl rdx, 8
or rdx, r8
xor rdx, rax
mov rax, rdx
shr rax, 4
xor rax, rdx
and rax, rcx
mov rcx, rax
shl rcx, 4
or rcx, rax
xor rcx, rdx
mov qword [rsp + 0x2a8], rcx
pcmpeqd xmm2, xmm2
movdqu xmm3, xmmword [rsp + 0x70]
movdqu xmm4, xmmword [rsp + 0x98]
movdqu xmm5, xmmword [rsp + 0xb0]
movdqu xmm6, xmmword [rsp + 0xd8]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x70], xmm3
pxor xmm4, xmm2
movdqu xmmword [rsp + 0x98], xmm4
pxor xmm5, xmm2
movdqu xmmword [rsp + 0xb0], xmm5
pxor xmm6, xmm2
movdqu xmmword [rsp + 0xd8], xmm6
movdqu xmm3, xmmword [rsp + 0xf0]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0xf0], xmm3
movdqu xmm3, xmmword [rsp + 0x118]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x118], xmm3
movdqu xmm3, xmmword [rsp + 0x130]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x130], xmm3
movdqu xmm3, xmmword [rsp + 0x158]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x158], xmm3
movdqu xmm3, xmmword [rsp + 0x170]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x170], xmm3
movdqu xmm3, xmmword [rsp + 0x198]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x198], xmm3
movdqu xmm3, xmmword [rsp + 0x1b0]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x1b0], xmm3
movdqu xmm3, xmmword [rsp + 0x1d8]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x1d8], xmm3
movdqu xmm3, xmmword [rsp + 0x1f0]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x1f0], xmm3
movdqu xmm3, xmmword [rsp + 0x218]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x218], xmm3
movdqu xmm3, xmmword [rsp + 0x230]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x230], xmm3
movdqu xmm3, xmmword [rsp + 0x258]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x258], xmm3
movdqu xmm3, xmmword [rsp + 0x270]
movdqa xmm4, xmm3
psrlq xmm4, 8
pxor xmm4, xmm3
pand xmm4, xmm1
movdqa xmm5, xmm4
psllq xmm5, 8
por xmm5, xmm4
pxor xmm5, xmm3
movdqa xmm3, xmm5
psrlq xmm3, 4
pxor xmm3, xmm5
pand xmm3, xmm0
movdqa xmm4, xmm3
psllq xmm4, 4
por xmm4, xmm3
pxor xmm5, xmm2
pxor xmm5, xmm4
movdqu xmmword [rsp + 0x270], xmm5
movdqu xmm3, xmmword [rsp + 0x298]
movdqa xmm4, xmm3
psrlq xmm4, 8
pxor xmm4, xmm3
pand xmm4, xmm1
movdqa xmm1, xmm4
psllq xmm1, 8
por xmm1, xmm4
pxor xmm1, xmm3
movdqa xmm3, xmm1
psrlq xmm3, 4
pxor xmm3, xmm1
pand xmm3, xmm0
movdqa xmm0, xmm3
psllq xmm0, 4
por xmm0, xmm3
pxor xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rsp + 0x298], xmm1
movdqu xmm0, xmmword [rsp + 0x2b0]
pxor xmm0, xmm2
movdqu xmmword [rsp + 0x2b0], xmm0
movdqu xmm0, xmmword [rsp + 0x2d8]
pxor xmm0, xmm2
movdqu xmmword [rsp + 0x2d8], xmm0
lea rdx, [rsp + 0x30]
mov r8d, 0x2c0
mov rcx, rsi
call sub.ntdll.dll_memcpy
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x2f0]
movaps xmm7, xmmword [rsp + 0x300]
movaps xmm8, xmmword [rsp + 0x310]
movaps xmm9, xmmword [rsp + 0x320]
add rsp, 0x338
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret