Function at 0x140002aec
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
xor r13d, r13d
mov r15, rdx
mov rbx, rcx
mov eax, r13d
lea r14d, [r13 + 1]
cmp word [rcx], r13w
je 0x140002b2d
add rax, r14
cmp word [rcx + rax*2], r13w
jne 0x140002b23
lea rsi, [rax + 1]
mov rcx, 0xffffffffffffffff
mov eax, 2
mul rsi
cmovo rax, rcx
mov rcx, rax
call fcn.140001104
mov edx, 8
mov rdi, rax
cmp rdx, rsi
jae 0x140002b85
mov rcx, rax
mov rax, rbx
sub rax, rcx
movzx r8d, word [rax + rcx + 0x10]
cmp r8w, 0x2f
je 0x140002b81
mov word [rcx], r8w
add rdx, r14
add rcx, 2
cmp rdx, rsi
jb 0x140002b62
jmp 0x140002b85
mov word [rcx], r13w
mov rax, r13
cmp word [rdi], r13w
je 0x140002b98
add rax, r14
cmp word [rdi + rax*2], r13w
jne 0x140002b8e
lea eax, [rax + 8]
mov dword [rbp + 0x40], r13d
lea rbx, [rbx + rax*2]
mov dword [rbp - 0x18], r13d
mov rax, qword [section..data]
mov r14, r13
mov rsi, r13
mov r12d, 0x1000
test rax, rax
jne 0x140002bdd
mov ecx, 0x190
call fcn.140001034
test rax, rax
je 0x140002bd6
mov rcx, rax
call fcn.140001644
mov qword [section..data], rax
mov rax, qword [rax + 0x158]
xor r9d, r9d
and dword [rsp + 0x20], esi
xor r8d, r8d
xor edx, edx
mov rcx, r15
call rax
mov r15, rax
test rax, rax
je 0x140002d64
mov rax, qword [section..data]
mov dword [rbp - 0x20], 0xa00
test rax, rax
jne 0x140002c32
mov ecx, 0x190
call fcn.140001034
test rax, rax
je 0x140002c2b
mov rcx, rax
call fcn.140001644
mov qword [section..data], rax
mov r9d, 4
lea r8, [rbp - 0x20]
mov rcx, r15
lea edx, [r9 + 0x50]
call qword [rax + 0x180]
mov rax, qword [section..data]
test rax, rax
jne 0x140002c73
mov ecx, 0x190
call fcn.140001034
test rax, rax
je 0x140002c6c
mov rcx, rax
call fcn.140001644
mov qword [section..data], rax
mov rax, qword [rax + 0x150]
mov r8d, 0x1bb
xor r9d, r9d
mov rdx, rdi
mov rcx, r15
call rax
xor edi, edi
mov r14, rax
test rax, rax
je 0x140002d66
mov rax, qword [section..data]
test rax, rax
jne 0x140002cc8
mov ecx, 0x190
call fcn.140001034
test rax, rax
je 0x140002cbe
mov rcx, rax
call fcn.140001644
jmp 0x140002cc1
mov rax, rdi
mov qword [section..data], rax
mov r10, qword [rax + 0x160]
mov r9, rdi
xor eax, eax
mov qword [rbp - 0x14], rax
mov qword [rbp - 0xc], rax
mov cl, r9b
or cl, 0xdb
movsx eax, cl
mov r8b, cl
not r8b
not cl
xor r8d, eax
movzx eax, cl
and r8d, 0x56
xor r8d, eax
mov eax, 0x80808081
mul r8d
shr edx, 7
imul eax, edx, 0xff
sub r8d, eax
lea rax, [0x140006428]
mov al, byte [rax + r9*2]
xor al, r8b
mov word [rbp + r9*2 - 0xc], r8w
movsx eax, al
mov word [rbp + r9*2 - 0x14], ax
inc r9
cmp r9, 4
jb 0x140002cdc
lea rcx, [rbp - 0x14]
call fcn.140004430
mov dword [rsp + 0x30], 0x800100
lea rdx, [rbp - 0x14]
mov qword [rsp + 0x28], rdi
mov r8, rbx
xor r9d, r9d
mov qword [rsp + 0x20], rdi
mov rcx, r14
call r10
mov rsi, rax
jmp 0x140002d66
xor edi, edi
mov r13d, 1
mov rax, qword [section..data]
mov bl, dil
test rax, rax
jne 0x140002d9e
mov ecx, 0x190
call fcn.140001034
test rax, rax
je 0x140002d94
mov rcx, rax
call fcn.140001644
jmp 0x140002d97
mov rax, rdi
mov qword [section..data], rax
mov rax, qword [rax + 0x178]
xor r9d, r9d
mov qword [rsp + 0x30], rdi
xor r8d, r8d
mov dword [rsp + 0x28], edi
xor edx, edx
mov rcx, rsi
mov dword [rsp + 0x20], edi
call rax
test eax, eax
jne 0x140002e35
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2f8f
jne 0x140002e29
mov rax, qword [section..data]
mov dword [rbp - 0x1c], 0x3300
test rax, rax
jne 0x140002e06
mov ecx, 0x190
call fcn.140001034
test rax, rax
je 0x140002dfc
mov rcx, rax
call fcn.140001644
jmp 0x140002dff
mov rax, rdi
mov qword [section..data], rax
mov rax, qword [rax + 0x180]
lea r8, [rbp - 0x1c]
mov r9d, 4
mov rcx, rsi
lea edx, [r9 + 0x1b]
call rax
test eax, eax
je 0x140002e35
mov bl, r13b
jmp 0x140002e35
cmp eax, 0x2f00
movzx ebx, bl
cmove ebx, r13d
mov rax, qword [section..data]
test rax, rax
jne 0x140002e64
mov ecx, 0x190
call fcn.140001034
test rax, rax
je 0x140002e5a
mov rcx, rax
call fcn.140001644
jmp 0x140002e5d
mov rax, rdi
mov qword [section..data], rax
mov ecx, 0x3e8
call qword [rax + 0xe8]
test bl, bl
jne 0x140002d6c
mov rax, qword [section..data]
mov r13d, dword [rbp - 0x18]
test rax, rax
jne 0x140002eaa
mov ecx, 0x190
call fcn.140001034
test rax, rax
je 0x140002ea0
mov rcx, rax
call fcn.140001644
jmp 0x140002ea3
mov rax, rdi
mov qword [section..data], rax
mov rax, qword [rax + 0x170]
xor edx, edx
mov rcx, rsi
call rax
mov rcx, r12
mov dword [rbp - 0x18], eax
call fcn.140001104
mov rbx, qword [rbp + 0x50]
mov qword [rbx], rax
test rax, rax
jne 0x140002f80
mov rax, qword [section..data]
mov ebx, 0x190
test rax, rax
jne 0x140002f04
mov ecx, ebx
call fcn.140001034
test rax, rax
je 0x140002efa
mov rcx, rax
call fcn.140001644
jmp 0x140002efd
mov rax, rdi
mov qword [section..data], rax
mov rcx, rsi
call qword [rax + 0x148]
mov rax, qword [section..data]
test rax, rax
jne 0x140002f3a
mov rcx, rbx
call fcn.140001034
test rax, rax
je 0x140002f30
mov rcx, rax
call fcn.140001644
jmp 0x140002f33
mov rax, rdi
mov qword [section..data], rax
mov rcx, r14
call qword [rax + 0x148]
mov rax, qword [section..data]
test rax, rax
jne 0x140002f70
mov rcx, rbx
call fcn.140001034
test rax, rax
je 0x140002f66
mov rcx, rax
call fcn.140001644
jmp 0x140002f69
mov rax, rdi
mov qword [section..data], rax
mov rcx, r15
call qword [rax + 0x148]
xor eax, eax
jmp 0x1400031df
mov rax, qword [section..data]
test rax, rax
jne 0x140002faf
mov ecx, 0x190
call fcn.140001034
test rax, rax
je 0x140002fa5
mov rcx, rax
call fcn.140001644
jmp 0x140002fa8
mov rax, rdi
mov qword [section..data], rax
mov rax, qword [rax + 0x168]
lea r9, [rbp + 0x40]
mov r8d, r12d
mov edx, r13d
add rdx, qword [rbx]
sub r8d, r13d
mov rcx, rsi
call rax
test eax, eax
je 0x14000311e
mov eax, dword [rbp + 0x40]
test eax, eax
je 0x14000311e
add r13d, eax
cmp r13d, r12d
jne 0x140002f80
mov rax, qword [section..data]
add r12d, r12d
test rax, rax
jne 0x140003018
mov ecx, 0x190
call fcn.140001034
test rax, rax
je 0x14000300e
mov rcx, rax
call fcn.140001644
jmp 0x140003011
mov rax, rdi
mov qword [section..data], rax
mov rdi, qword [rax + 0xb0]
mov rbx, qword [rbx]
call qword [rax + 0x78]
mov r9, r12
mov r8, rbx
mov rcx, rax
mov edx, 8
call rdi
xor edi, edi
test rax, rax
je 0x140003048
mov rbx, qword [rbp + 0x50]
mov qword [rbx], rax
jmp 0x140002f80
mov rax, qword [section..data]
mov r12d, 0x190
test rax, rax
jne 0x14000307b
mov ecx, r12d
call fcn.140001034
test rax, rax
je 0x140003071
mov rcx, rax
call fcn.140001644
jmp 0x140003074
mov rax, rdi
mov qword [section..data], rax
mov r8, qword [rbp + 0x50]
mov rdi, qword [rax + 0xa8]
mov rbx, qword [r8]
call qword [rax + 0x78]
mov r8, rbx
xor edx, edx
mov rcx, rax
call rdi
mov rax, qword [section..data]
test rax, rax
jne 0x1400030be
mov rcx, r12
call fcn.140001034
test rax, rax
je 0x1400030b7
mov rcx, rax
call fcn.140001644
mov qword [section..data], rax
mov rcx, rsi
call qword [rax + 0x148]
mov rax, qword [section..data]
test rax, rax
jne 0x1400030ef
mov rcx, r12
call fcn.140001034
test rax, rax
je 0x1400030e8
mov rcx, rax
call fcn.140001644
mov qword [section..data], rax
mov rcx, r14
call qword [rax + 0x148]
mov rax, qword [section..data]
test rax, rax
jne 0x140002f70
mov rcx, r12
call fcn.140001034
test rax, rax
jne 0x140002f5c
jmp 0x140002f69
test rsi, rsi
je 0x14000315b
mov rax, qword [section..data]
test rax, rax
jne 0x140003152
mov ecx, 0x190
call fcn.140001034
test rax, rax
je 0x140003148
mov rcx, rax
call fcn.140001644
jmp 0x14000314b
mov rax, rdi
mov qword [section..data], rax
mov rcx, rsi
call qword [rax + 0x148]
test r14, r14
je 0x140003198
mov rax, qword [section..data]
test rax, rax
jne 0x14000318f
mov ecx, 0x190
call fcn.140001034
test rax, rax
je 0x140003185
mov rcx, rax
call fcn.140001644
jmp 0x140003188
mov rax, rdi
mov qword [section..data], rax
mov rcx, r14
call qword [rax + 0x148]
test r15, r15
je 0x1400031d5
mov rax, qword [section..data]
test rax, rax
jne 0x1400031cc
mov ecx, 0x190
call fcn.140001034
test rax, rax
je 0x1400031c2
mov rcx, rax
call fcn.140001644
jmp 0x1400031c5
mov rax, rdi
mov qword [section..data], rax
mov rcx, r15
call qword [rax + 0x148]
mov rax, qword [rbp + 0x58]
mov dword [rax], r13d
mov eax, dword [rbp - 0x18]
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret