Function at 0x14048ab80
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov qword [rsp + 0x38], rdx
mov ebx, ecx
call fcn.140489b60
mov esi, eax
test eax, eax
jne 0x14048af42
mov ecx, 5
call fcn.140462b60
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.14048a6d0
test ebx, ebx
jle 0x14048abcc
cmp qword [rsp + 0x38], 0
jne 0x14048abd9
xor edx, edx
mov dword [0x1404a98a0], edx
jmp 0x14048aca4
cmp dword [0x1404a98a0], 0
jne 0x14048ac74
movabs rdi, 0x3320646e61707865
xor ecx, ecx
movabs rbp, 0x6b20657479622d32
call fcn.14048ecb0
mov qword [0x1404a98a0], rdi
mov qword [0x1404a98a8], rbp
test rax, rax
jne 0x14048ac29
lea rdx, [0x1404a98b0]
mov ecx, 0xb
mov eax, esi
mov rdi, rdx
rep stosd dword [rdi], eax
jmp 0x14048ac59
mov edx, dword [0x1404a9830]
lea r8, [0x1404a98b0]
test edx, edx
je 0x14048ac4e
mov ecx, 0xb
mov rdi, r8
mov eax, esi
rep stosd dword [rdi], eax
mov dword [0x1404a98b0], edx
jmp 0x14048ac59
mov edx, 0x2c
mov rcx, rax
call qword [rax + 0x68]
mov eax, dword [0x1404a98d0]
mov byte [0x1404a9920], 0
mov dword [0x1404a98dc], eax
xor eax, eax
mov dword [0x1404a98d0], eax
movzx esi, byte [0x1404a9920]
mov rcx, rsi
cmp esi, ebx
jl 0x14048acc1
sub esi, ebx
lea rax, [0x1404a98a0]
mov rdi, qword [rsp + 0x38]
movsxd rcx, ebx
add esi, 0x40
movsxd rsi, esi
add rsi, rax
rep movsb byte [rdi], byte [rsi]
sub byte [0x1404a9920], bl
mov rcx, qword [rsp + 0x40]
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14048a6f0
test sil, sil
je 0x14048ace2
mov rdi, qword [rsp + 0x38]
lea rsi, [0x1404a98e0]
rep movsb byte [rdi], byte [rsi]
movzx edx, byte [0x1404a9920]
add qword [rsp + 0x38], rdx
sub ebx, edx
mov eax, dword [0x1404a98d0]
lea rdi, [rsp + 0x50]
mov ecx, 0x10
lea rsi, [0x1404a98a0]
mov dword [rsp + 0x4c], 0xa
inc eax
mov dword [0x1404a98d0], eax
rep movsd dword [rdi], dword [rsi]
mov edx, dword [rsp + 0x8c]
mov edi, dword [rsp + 0x60]
mov r13d, dword [rsp + 0x50]
mov r15d, dword [rsp + 0x70]
mov ebp, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x64]
mov dword [rsp + 0x2c], edx
mov edx, dword [rsp + 0x7c]
mov r14d, dword [rsp + 0x74]
mov dword [rsp + 0x30], edi
mov r9d, dword [rsp + 0x84]
mov edi, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x88]
mov dword [rsp + 0x34], edx
mov r12d, dword [rsp + 0x78]
mov esi, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x6c]
mov edx, dword [rsp + 0x30]
add ebp, r11d
add edi, r10d
xor r9d, ebp
xor ecx, edi
rol r9d, 0x10
add r13d, edx
rol ecx, 0x10
xor eax, r13d
add r14d, r9d
add r12d, ecx
rol eax, 0x10
xor r11d, r14d
xor r10d, r12d
rol r11d, 0xc
add r15d, eax
rol r10d, 0xc
xor edx, r15d
add ebp, r11d
add edi, r10d
rol edx, 0xc
xor r9d, ebp
xor ecx, edi
add r13d, edx
rol r9d, 8
xor eax, r13d
add r14d, r9d
rol eax, 8
xor r11d, r14d
add r15d, eax
rol r11d, 7
xor edx, r15d
rol edx, 7
rol ecx, 8
add esi, r8d
add r13d, r11d
add r12d, ecx
mov dword [rsp + 0x48], ecx
mov ecx, dword [rsp + 0x2c]
mov dword [rsp + 0x30], edx
mov edx, dword [rsp + 0x34]
xor r10d, r12d
xor ecx, esi
rol r10d, 7
rol ecx, 0x10
add ebp, r10d
add edx, ecx
xor eax, ebp
xor r8d, edx
rol eax, 0x10
rol r8d, 0xc
add esi, r8d
xor ecx, esi
rol ecx, 8
add edx, ecx
xor ecx, r13d
rol ecx, 0x10
xor r8d, edx
add edx, eax
add r12d, ecx
rol r8d, 7
xor r11d, r12d
rol r11d, 0xc
add r13d, r11d
xor ecx, r13d
rol ecx, 8
add r12d, ecx
mov dword [rsp + 0x2c], ecx
mov ecx, dword [rsp + 0x48]
xor r11d, r12d
rol r11d, 7
xor r10d, edx
add edi, r8d
rol r10d, 0xc
xor r9d, edi
add ebp, r10d
rol r9d, 0x10
xor eax, ebp
add r15d, r9d
rol eax, 8
xor r8d, r15d
add edx, eax
rol r8d, 0xc
xor r10d, edx
mov dword [rsp + 0x34], edx
mov edx, dword [rsp + 0x30]
add edi, r8d
xor r9d, edi
rol r10d, 7
add esi, edx
rol r9d, 8
xor ecx, esi
add r15d, r9d
rol ecx, 0x10
xor r8d, r15d
add r14d, ecx
rol r8d, 7
xor edx, r14d
rol edx, 0xc
add esi, edx
xor ecx, esi
rol ecx, 8
add r14d, ecx
xor edx, r14d
rol edx, 7
dec dword [rsp + 0x4c]
mov dword [rsp + 0x30], edx
jne 0x14048ad64
mov dword [rsp + 0x80], eax
mov edx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x8c], edx
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x78], r12d
mov dword [rsp + 0x64], r11d
mov dword [rsp + 0x54], ebp
mov dword [rsp + 0x68], r10d
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x84], r9d
mov dword [rsp + 0x70], r15d
mov dword [rsp + 0x6c], r8d
mov dword [rsp + 0x5c], esi
mov dword [rsp + 0x88], ecx
mov dword [rsp + 0x74], r14d
mov dword [rsp + 0x60], eax
xor eax, eax
lea rdi, [0x1404a98a0]
mov edx, dword [rdi + rax]
add edx, dword [rsp + rax + 0x50]
add rax, 4
mov dword [rax + rdi + 0x3c], edx
cmp rax, 0x40
jne 0x14048af1a
mov byte [0x1404a9920], 0x40
jmp 0x14048ac74
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret