Function at 0x140210f60
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
push r15
mov r15d, r9d
push r14
push r13
mov r13, rdx
push r12
mov r12, r8
push rdi
push rsi
push rbx
mov rbx, rcx
and rsp, 0xfffffffffffffff0
sub rsp, 0x140
mov r14, qword [rbp + 0x48]
mov rax, qword [rbp + 0x38]
mov rcx, qword [r8 + 8]
mov rdx, qword [rbx + 0x18]
mov r8d, dword [r14 + 0x14]
mov rdi, qword [rbp + 0x40]
mov qword [rsp + 0x40], rax
mov rsi, qword [rbp + 0x30]
call sub.msvcrt.dll_memcpy
movzx eax, r15b
mov dword [rdi + 0x18], 0
mov dword [rsp + 0x4c], eax
cmp r15b, 1
je 0x140211010
cmp r15b, 2
je 0x140211200
test r15b, r15b
je 0x140211058
mov eax, dword [rsp + 0x4c]
mov qword [rbp + 0x38], r14
mov r9, rsi
mov r8, rdi
mov rdx, r12
mov rcx, r13
mov dword [rbp + 0x40], eax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x30], rax
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.14014b9d0
mov r8d, dword [r14 + 0xc]
mov eax, dword [r14 + 0x14]
mov r9, qword [rbx]
add eax, r8d
cmp eax, dword [r14 + 0x28]
mov qword [rsp + 0x30], r9
mov dword [rsp + 0x38], eax
jae 0x140211230
mov rcx, qword [r13]
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov edx, dword [r14 + 0xc]
mov rcx, qword [rdi]
mov r8d, dword [r14 + 0x14]
add rdx, rsi
call sub.msvcrt.dll_memcpy
jmp 0x140210fd4
mov r8d, dword [r14 + 0xc]
mov eax, dword [r14 + 0x14]
mov r9, qword [rbx]
add eax, r8d
cmp eax, dword [r14 + 0x28]
mov qword [rsp + 0x30], r9
mov dword [rsp + 0x38], eax
jb 0x140211031
lea r15, [rsp + 0x60]
mov r8d, 2
mov rdx, r14
mov rcx, r15
call fcn.14004b790
mov r8d, dword [r14 + 0x24]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.14004b890
mov rcx, r15
call fcn.14004b740
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.14004b840
mov r8d, 0xff
mov rdx, r14
mov rcx, r15
call fcn.14004b790
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.14004b890
lea r9, [rsp + 0x5e]
mov eax, dword [rsp + 0x38]
mov rcx, r15
mov rdx, r9
mov r8d, 2
mov qword [rsp + 0x30], r9
mov word [rsp + 0x5e], ax
call fcn.14004b890
mov rcx, r15
call fcn.14004b740
mov r8d, dword [rsp + 0x38]
mov rdx, rsi
mov rcx, r15
call fcn.14004b840
mov rcx, qword [r13]
mov r8d, dword [r14 + 0xc]
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov edx, dword [r14 + 0xc]
mov rcx, qword [rdi]
mov r8d, dword [r14 + 0x14]
add rdx, rsi
call sub.msvcrt.dll_memcpy
mov eax, dword [r14 + 0x14]
add eax, dword [r14 + 0xc]
cmp eax, dword [r14 + 0x28]
mov rbx, qword [rbx + 8]
mov dword [rsp + 0x38], eax
jb 0x140210fd4
mov r8d, 2
mov rdx, r14
mov rcx, r15
call fcn.14004b790
mov r8d, dword [r14 + 0x24]
mov rdx, rbx
mov rcx, r15
call fcn.14004b890
mov rcx, r15
call fcn.14004b740
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.14004b840
mov r8d, 0xff
mov rdx, r14
mov rcx, r15
call fcn.14004b790
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.14004b890
mov eax, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov r8d, 2
mov word [rsp + 0x5e], ax
mov rcx, r15
call fcn.14004b890
mov rcx, r15
call fcn.14004b740
mov r8d, dword [rsp + 0x38]
mov rdx, rsi
mov rcx, r15
call fcn.14004b840
mov rcx, qword [r12]
mov r8d, dword [r14 + 0xc]
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov edx, dword [r14 + 0xc]
mov rcx, qword [rdi + 8]
mov r8d, dword [r14 + 0x14]
add rdx, rsi
call sub.msvcrt.dll_memcpy
jmp 0x140210fd4
mov eax, dword [r14 + 0x14]
mov r9, qword [rdi]
mov r10, qword [rbx]
cmp eax, dword [r14 + 0x28]
jae 0x1402113c8
mov rcx, qword [r13]
mov rdx, qword [rbx + 0x10]
mov r8d, dword [r14 + 0xc]
call sub.msvcrt.dll_memcpy
jmp 0x140210fd4
lea r15, [rsp + 0x60]
mov r8d, 2
mov rdx, r14
mov rcx, r15
call fcn.14004b790
mov r8d, dword [r14 + 0x24]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.14004b890
mov rcx, r15
call fcn.14004b740
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.14004b840
mov r8d, 0xff
mov rdx, r14
mov rcx, r15
call fcn.14004b790
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.14004b890
lea r10, [rsp + 0x5e]
mov eax, dword [rsp + 0x38]
mov rcx, r15
mov rdx, r10
mov r8d, 2
mov qword [rsp + 0x20], r10
mov word [rsp + 0x5e], ax
call fcn.14004b890
mov rcx, r15
call fcn.14004b740
mov r8d, dword [rsp + 0x38]
mov rdx, rsi
mov rcx, r15
call fcn.14004b840
mov rcx, qword [r13]
mov r8d, dword [r14 + 0xc]
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov edx, dword [r14 + 0xc]
mov rcx, qword [rdi]
mov r8d, dword [r14 + 0x14]
add rdx, rsi
call sub.msvcrt.dll_memcpy
mov eax, dword [r14 + 0x14]
mov r9, qword [rdi + 8]
mov r11, qword [rbx + 8]
cmp eax, dword [r14 + 0x28]
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], r11
mov dword [rsp + 0x38], eax
jb 0x140210fd4
mov rdx, r14
mov rcx, r15
mov r8d, 2
call fcn.14004b790
mov r8d, dword [r14 + 0x24]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.14004b890
mov rcx, r15
call fcn.14004b740
mov r9, qword [rsp + 0x28]
mov r8d, dword [r14 + 0x28]
mov rcx, r15
mov rdx, r9
mov qword [rsp + 0x30], r9
call fcn.14004b840
mov rdx, r14
mov rcx, r15
mov r8d, 0xff
call fcn.14004b790
mov r8d, dword [r14 + 0x28]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.14004b890
mov eax, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x20]
mov rcx, r15
mov r8d, 2
mov word [rsp + 0x5e], ax
call fcn.14004b890
mov rcx, r15
call fcn.14004b740
mov r8d, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.14004b840
mov rcx, qword [r12]
mov rdx, qword [rbx + 0x10]
mov r8d, dword [r14 + 0xc]
call sub.msvcrt.dll_memcpy
jmp 0x140210fd4
lea r15, [rsp + 0x60]
mov r8d, 2
mov rdx, r14
mov dword [rsp + 0x28], eax
mov rcx, r15
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x38], r9
call fcn.14004b790
mov r8d, dword [r14 + 0x24]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.14004b890
mov rcx, r15
call fcn.14004b740
mov r8d, dword [r14 + 0x28]
mov rdx, qword [rsp + 0x38]
mov rcx, r15
call fcn.14004b840
mov r8d, 0xff
mov rdx, r14
mov rcx, r15
call fcn.14004b790
mov r9, qword [rsp + 0x38]
mov r8d, dword [r14 + 0x28]
mov rcx, r15
mov rdx, r9
mov qword [rsp + 0x30], r9
call fcn.14004b890
mov eax, dword [rsp + 0x28]
lea r10, [rsp + 0x5e]
mov rcx, r15
mov rdx, r10
mov r8d, 2
mov qword [rsp + 0x28], r10
mov word [rsp + 0x5e], ax
mov dword [rsp + 0x38], eax
call fcn.14004b890
mov rcx, r15
call fcn.14004b740
mov r8d, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.14004b840
mov rdx, qword [rbx + 0x10]
mov rcx, qword [r13]
mov r8d, dword [r14 + 0xc]
call sub.msvcrt.dll_memcpy
mov eax, dword [r14 + 0x14]
add eax, dword [r14 + 0xc]
cmp eax, dword [r14 + 0x28]
mov rbx, qword [rbx + 8]
mov dword [rsp + 0x38], eax
jb 0x140210fd4
mov r8d, 2
mov rdx, r14
mov rcx, r15
call fcn.14004b790
mov r8d, dword [r14 + 0x24]
mov rdx, rbx
mov rcx, r15
call fcn.14004b890
mov rcx, r15
call fcn.14004b740
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.14004b840
mov r8d, 0xff
mov rdx, r14
mov rcx, r15
call fcn.14004b790
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.14004b890
mov eax, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
mov r8d, 2
mov word [rsp + 0x5e], ax
jmp 0x1402111b7