Function at 0x1400b71c0
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 0x1400b7270
cmp r15b, 2
je 0x1400b7460
test r15b, r15b
je 0x1400b72b8
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.14008dc30
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 0x1400b7490
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 0x1400b7234
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 0x1400b7291
lea r15, [rsp + 0x60]
mov r8d, 2
mov rdx, r14
mov rcx, r15
call fcn.140048a80
mov r8d, dword [r14 + 0x24]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140048b80
mov rcx, r15
call fcn.140048a30
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.140048b30
mov r8d, 0xff
mov rdx, r14
mov rcx, r15
call fcn.140048a80
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.140048b80
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.140048b80
mov rcx, r15
call fcn.140048a30
mov r8d, dword [rsp + 0x38]
mov rdx, rsi
mov rcx, r15
call fcn.140048b30
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 0x1400b7234
mov r8d, 2
mov rdx, r14
mov rcx, r15
call fcn.140048a80
mov r8d, dword [r14 + 0x24]
mov rdx, rbx
mov rcx, r15
call fcn.140048b80
mov rcx, r15
call fcn.140048a30
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.140048b30
mov r8d, 0xff
mov rdx, r14
mov rcx, r15
call fcn.140048a80
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.140048b80
mov eax, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov r8d, 2
mov word [rsp + 0x5e], ax
mov rcx, r15
call fcn.140048b80
mov rcx, r15
call fcn.140048a30
mov r8d, dword [rsp + 0x38]
mov rdx, rsi
mov rcx, r15
call fcn.140048b30
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 0x1400b7234
mov eax, dword [r14 + 0x14]
mov r9, qword [rdi]
mov r10, qword [rbx]
cmp eax, dword [r14 + 0x28]
jae 0x1400b7628
mov rcx, qword [r13]
mov rdx, qword [rbx + 0x10]
mov r8d, dword [r14 + 0xc]
call sub.msvcrt.dll_memcpy
jmp 0x1400b7234
lea r15, [rsp + 0x60]
mov r8d, 2
mov rdx, r14
mov rcx, r15
call fcn.140048a80
mov r8d, dword [r14 + 0x24]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140048b80
mov rcx, r15
call fcn.140048a30
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.140048b30
mov r8d, 0xff
mov rdx, r14
mov rcx, r15
call fcn.140048a80
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.140048b80
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.140048b80
mov rcx, r15
call fcn.140048a30
mov r8d, dword [rsp + 0x38]
mov rdx, rsi
mov rcx, r15
call fcn.140048b30
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 0x1400b7234
mov rdx, r14
mov rcx, r15
mov r8d, 2
call fcn.140048a80
mov r8d, dword [r14 + 0x24]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140048b80
mov rcx, r15
call fcn.140048a30
mov r9, qword [rsp + 0x28]
mov r8d, dword [r14 + 0x28]
mov rcx, r15
mov rdx, r9
mov qword [rsp + 0x30], r9
call fcn.140048b30
mov rdx, r14
mov rcx, r15
mov r8d, 0xff
call fcn.140048a80
mov r8d, dword [r14 + 0x28]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140048b80
mov eax, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x20]
mov rcx, r15
mov r8d, 2
mov word [rsp + 0x5e], ax
call fcn.140048b80
mov rcx, r15
call fcn.140048a30
mov r8d, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140048b30
mov rcx, qword [r12]
mov rdx, qword [rbx + 0x10]
mov r8d, dword [r14 + 0xc]
call sub.msvcrt.dll_memcpy
jmp 0x1400b7234
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.140048a80
mov r8d, dword [r14 + 0x24]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140048b80
mov rcx, r15
call fcn.140048a30
mov r8d, dword [r14 + 0x28]
mov rdx, qword [rsp + 0x38]
mov rcx, r15
call fcn.140048b30
mov r8d, 0xff
mov rdx, r14
mov rcx, r15
call fcn.140048a80
mov r9, qword [rsp + 0x38]
mov r8d, dword [r14 + 0x28]
mov rcx, r15
mov rdx, r9
mov qword [rsp + 0x30], r9
call fcn.140048b80
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.140048b80
mov rcx, r15
call fcn.140048a30
mov r8d, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140048b30
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 0x1400b7234
mov r8d, 2
mov rdx, r14
mov rcx, r15
call fcn.140048a80
mov r8d, dword [r14 + 0x24]
mov rdx, rbx
mov rcx, r15
call fcn.140048b80
mov rcx, r15
call fcn.140048a30
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.140048b30
mov r8d, 0xff
mov rdx, r14
mov rcx, r15
call fcn.140048a80
mov r8d, dword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
call fcn.140048b80
mov eax, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
mov r8d, 2
mov word [rsp + 0x5e], ax
jmp 0x1400b7417