Function at 0x140048110
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0x430
cmp dword [0x14012ea64], 3
movsxd rbp, dword [0x14012ea4c]
mov rdi, qword [0x14012ea68]
mov ebx, ebp
jne 0x140048333
mov ecx, ebx
mov qword [rax + 8], r14
call fcn.14004a4e0
xor esi, esi
mov r14, rax
test rax, rax
je 0x14004816b
mov r8d, ebx
xor edx, edx
mov rcx, rax
call fcn.14004be90
mov byte [r14], sil
jmp 0x14004816e
mov r14, rsi
mov r8, rbp
sub r8, 1
js 0x1400481b1
mov rcx, rsi
lea rdx, [r8 + r14]
nop
movzx eax, byte [rcx + rdi]
inc rcx
mov byte [rdx], al
lea rdx, [rdx - 1]
cmp rcx, r8
jle 0x140048180
mov rcx, rdi
lea rdx, [r8 + 1]
sub r14, rdi
nop dword [rax]
movzx eax, byte [r14 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400481a0
mov r14, qword [rsp + 0x440]
mov rdx, rsi
test ebp, ebp
je 0x14004824d
cmp rbx, 0x40
jb 0x14004822f
movdqa xmm2, xmmword [str.cccccccccccccccc_]
mov rax, rbx
and rax, 0xffffffffffffffc0
nop dword [rax]
movdqu xmm0, xmmword [rdi + rdx]
movdqa xmm1, xmm2
pxor xmm0, xmm2
movdqu xmmword [rdi + rdx], xmm0
movdqu xmm0, xmmword [rdi + rdx + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rdi + rdx + 0x10], xmm1
movdqu xmm0, xmmword [rdi + rdx + 0x20]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rdi + rdx + 0x20], xmm1
movdqu xmm0, xmmword [rdi + rdx + 0x30]
pxor xmm0, xmm2
movdqu xmmword [rdi + rdx + 0x30], xmm0
add rdx, 0x40
cmp rdx, rax
jb 0x1400481e0
cmp rdx, rbx
jae 0x14004824d
mov rcx, rbx
lea rax, [rdx + rdi]
sub rcx, rdx
nop
xor byte [rax], 0x63
lea rax, [rax + 1]
sub rcx, 1
jne 0x140048240
lea rcx, str.jason
mov qword [rsp + 0x420], rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8d, eax
lea rcx, [rsp + 0x20]
call fcn.140048650
test ebp, ebp
je 0x1400483bd
mov r9d, dword [rsp + 0x424]
mov r8d, dword [rsp + 0x420]
nop word [rax + rax]
lea eax, [r8 + 1]
and eax, 0x800000ff
jge 0x1400482a4
dec eax
or eax, 0xffffff00
inc eax
movsxd r8, eax
mov dword [rsp + 0x420], eax
mov eax, dword [rsp + r8*4 + 0x20]
add eax, r9d
and eax, 0x800000ff
jge 0x1400482c6
dec eax
or eax, 0xffffff00
inc eax
mov dword [rsp + 0x424], eax
movzx edx, byte [rsp + r8*4 + 0x20]
movsxd rcx, eax
mov eax, dword [rsp + rcx*4 + 0x20]
mov dword [rsp + r8*4 + 0x20], eax
movsxd rax, dword [rsp + 0x424]
mov dword [rsp + rax*4 + 0x20], edx
movsxd r9, dword [rsp + 0x424]
movsxd r8, dword [rsp + 0x420]
mov edx, dword [rsp + r9*4 + 0x20]
add edx, dword [rsp + r8*4 + 0x20]
and edx, 0x800000ff
jge 0x140048317
dec edx
or edx, 0xffffff00
inc edx
movsxd rax, edx
movzx ecx, byte [rsp + rax*4 + 0x20]
xor byte [rdi], cl
inc rdi
sub rbx, 1
jne 0x140048290
jmp 0x1400483bd
xor esi, esi
test ebp, ebp
je 0x1400483bd
cmp rbx, 0x40
jb 0x1400483a1
movdqa xmm2, xmmword [str.cccccccccccccccc_]
mov rax, rbx
and rax, 0xffffffffffffffc0
movdqu xmm0, xmmword [rdi + rsi]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rdi + rsi], xmm1
movdqu xmm0, xmmword [rdi + rsi + 0x10]
movdqa xmm1, xmm2
pxor xmm0, xmm2
movdqu xmmword [rdi + rsi + 0x10], xmm0
movdqu xmm0, xmmword [rdi + rsi + 0x20]
pxor xmm1, xmm0
movdqu xmmword [rdi + rsi + 0x20], xmm1
movdqu xmm0, xmmword [rdi + rsi + 0x30]
pxor xmm0, xmm2
movdqu xmmword [rdi + rsi + 0x30], xmm0
add rsi, 0x40
cmp rsi, rax
jb 0x140048352
cmp rsi, rbx
jae 0x1400483bd
lea rax, [rsi + rdi]
sub rbx, rsi
nop dword [rax]
xor byte [rax], 0x63
lea rax, [rax + 1]
sub rbx, 1
jne 0x1400483b0
lea r11, [rsp + 0x430]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret