Function at 0x140046960
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x438
movdqa xmmword [rsp + 0x420], xmm9
movdqa xmmword [rsp + 0x410], xmm8
movdqa xmmword [rsp + 0x400], xmm7
movdqa xmmword [rsp + 0x3f0], xmm6
mov rbx, rdx
mov rsi, rcx
lea rdi, [rsp + 0x30]
mov r8d, 0x3c0
mov rcx, rdi
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rsp + 0x20], rbx
mov rcx, rdi
mov rdx, rbx
mov r8, rbx
mov r9, rbx
call fcn.14004a0b0
lea rcx, [rsp + 0x70]
add rbx, 0x10
mov qword [rsp + 0x20], rbx
mov rdx, rbx
mov r8, rbx
mov r9, rbx
call fcn.14004a0b0
mov ebx, 8
mov r14d, pe_nt_image_headers64
mov r15d, 0xc0
pcmpeqd xmm6, xmm6
mov r12d, pe_nt_image_headers64
nop
mov edx, 0x78
mov rcx, rdi
mov r8, rbx
call fcn.14004a830
lea rcx, [rsp + r14]
add rcx, 0x30
call fcn.140049af0
movdqu xmm0, xmmword [rsp + r14 + 0x30]
movdqu xmm1, xmmword [rsp + r14 + 0x58]
pxor xmm0, xmm6
movdqu xmmword [rsp + r14 + 0x30], xmm0
pxor xmm1, xmm6
movdqu xmmword [rsp + r14 + 0x58], xmm1
xor byte [rsp + r12 + 0x33], 0xf0
add rbx, 8
mov dword [rsp + 0x20], 0x1c
mov edx, 0x78
mov r9d, 0x10
mov rcx, rdi
mov r8, rbx
call fcn.140049db0
cmp r12, 0x3b0
je 0x140046aef
mov edx, 0x78
mov rcx, rdi
mov r8, rbx
call fcn.14004a830
lea rcx, [rsp + r15]
add rcx, 0x30
call fcn.140049af0
movdqu xmm0, xmmword [rsp + r14 + 0x70]
movdqu xmm1, xmmword [rsp + r14 + 0x98]
pxor xmm0, xmm6
movdqu xmmword [rsp + r14 + 0x70], xmm0
pxor xmm1, xmm6
movdqu xmmword [rsp + r14 + 0x98], xmm1
add rbx, 8
mov dword [rsp + 0x20], 0xc
mov edx, 0x78
mov r9d, 0x10
mov rcx, rdi
mov r8, rbx
call fcn.140049db0
add r12, 0x88
sub r14, 0xffffffffffffff80
sub r15, 0xffffffffffffff80
jmp 0x140046a00
mov eax, 0xf0
movdqa xmm1, xmmword [0x140193170]
movdqa xmm0, xmmword [0x140193180]
movdqa xmm2, xmmword [0x140193190]
movdqa xmm3, xmmword [0x1401931a0]
nop word cs:[rax + 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, 0x3f0
jne 0x140046b20
movdqu xmm2, xmmword [rsp + 0x380]
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 + 0x380], xmm3
mov rax, qword [rsp + 0x390]
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 + 0x390], r9
mov rax, qword [rsp + 0x3a8]
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 + 0x3a8], 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]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x270], xmm3
movdqu xmm3, xmmword [rsp + 0x298]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x298], xmm3
movdqu xmm3, xmmword [rsp + 0x2b0]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x2b0], xmm3
movdqu xmm3, xmmword [rsp + 0x2d8]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x2d8], xmm3
movdqu xmm3, xmmword [rsp + 0x2f0]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x2f0], xmm3
movdqu xmm3, xmmword [rsp + 0x318]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x318], xmm3
movdqu xmm3, xmmword [rsp + 0x330]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x330], xmm3
movdqu xmm3, xmmword [rsp + 0x358]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x358], xmm3
movdqu xmm3, xmmword [rsp + 0x370]
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 + 0x370], xmm5
movdqu xmm3, xmmword [rsp + 0x398]
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 + 0x398], xmm1
movdqu xmm0, xmmword [rsp + 0x3b0]
pxor xmm0, xmm2
movdqu xmmword [rsp + 0x3b0], xmm0
movdqu xmm0, xmmword [rsp + 0x3d8]
pxor xmm0, xmm2
movdqu xmmword [rsp + 0x3d8], xmm0
lea rdx, [rsp + 0x30]
mov r8d, 0x3c0
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x3f0]
movaps xmm7, xmmword [rsp + 0x400]
movaps xmm8, xmmword [rsp + 0x410]
movaps xmm9, xmmword [rsp + 0x420]
add rsp, 0x438
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret