Function at 0x140038130
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x70], 0xfffffffffffffffe
mov r13, rdx
mov qword [rbp + 0x38], rcx
cmp rdx, 0x15
jae 0x14003818f
cmp r13, 1
jbe 0x1400387e9
mov r8d, 1
mov rcx, qword [rbp + 0x38]
mov rdx, r13
add rsp, 0xf8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp 0x140039310
lea rax, [r13*8]
movabs rsi, 0x7ffffffffffffff0
and rsi, rax
movzx eax, byte [0x140114ed1]
mov edx, 8
mov rcx, rsi
call fcn.140025540
test rax, rax
je 0x14003892b
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x20], rsi
movzx eax, byte [0x140114ed1]
mov ecx, 0x100
mov edx, 8
call fcn.140025540
test rax, rax
je 0x140038937
mov r14, rax
mov rax, qword [rbp + 0x38]
lea rcx, [rax + 0x20]
mov qword [rbp + 0x18], rcx
lea rcx, [rax + 0x10]
mov qword [rbp + 8], rcx
add rax, 0xfffffffffffffff0
mov qword [rbp + 0x10], rax
mov r15d, 0x10
xor edi, edi
xor r12d, r12d
mov qword [rbp + 0x40], r13
jmp 0x14003822d
mov edi, 1
mov r12, qword [rbp + 0x30]
mov r15, qword [rbp + 0x28]
mov rdx, r13
sub rdx, r12
jbe 0x1400387ae
mov rax, r12
shl rax, 4
mov rcx, qword [rbp + 0x38]
add rcx, rax
cmp rdx, 2
jae 0x140038600
mov r8, rdx
lea rbx, [r8 + r12]
mov rsi, rbx
sub rsi, r12
jb 0x1400388b7
cmp rbx, r13
ja 0x1400388b7
jae 0x14003829f
cmp r8, 0xa
jae 0x14003829f
lea rbx, [r12 + 0xa]
cmp rbx, r13
cmovae rbx, r13
cmp r8, 1
adc r8, 0
mov rsi, rbx
sub rsi, r12
mov qword [rbp + 0x68], r14
mov qword [rbp + 0x60], r15
mov rdx, rsi
call 0x140039310
cmp rdi, r15
jne 0x140038308
mov qword [rbp + 0x48], r12
mov r12, rdi
lea rax, [r15 + r15]
mov qword [rbp + 0x50], rax
mov rcx, r15
shl rcx, 5
movzx eax, byte [0x140114ed1]
mov edx, 8
call fcn.140025540
test rax, rax
je 0x1400388d9
mov rdi, rax
shl r15, 4
mov rcx, rax
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 8
mov rcx, r14
mov rdx, r15
call fcn.140025550
mov r14, rdi
mov r15, qword [rbp + 0x50]
mov rdi, r12
mov r12, qword [rbp + 0x48]
mov rax, rdi
shl rax, 4
mov qword [r14 + rax], rsi
mov qword [r14 + rax + 8], r12
inc rdi
mov r12, rbx
cmp rdi, 2
jb 0x14003822d
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x28], r15
mov qword [rbp], r14
jmp 0x1400383a0
mov rdx, qword [rbp + 0x58]
nop word [rax + rax]
mov r14, qword [rbp]
mov rsi, qword [rbp - 0x20]
add rsi, r14
mov r12, qword [rbp - 8]
add r12, r14
sub r15, rdx
mov rcx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbp - 0x10]
add rax, rbx
mov qword [r12], rax
mov rax, qword [rbp - 0x18]
mov qword [r12 + 8], rax
lea rdx, [rsi + 0x10]
mov rax, qword [rbp - 0x28]
not rax
mov r8, qword [rbp + 0x48]
add r8, rax
shl r8, 4
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov rdi, qword [rbp + 0x50]
cmp rdi, 1
jbe 0x140038220
lea r10, [rdi - 1]
mov rcx, r10
shl rcx, 4
mov rax, qword [r14 + rcx]
mov rcx, qword [r14 + rcx + 8]
add rcx, rax
cmp rcx, r13
je 0x140038410
mov rdx, rdi
shl rdx, 4
mov r8, qword [rdx + r14 - 0x20]
cmp r8, rax
jbe 0x140038410
cmp rdi, 2
mov r15, qword [rbp + 0x28]
je 0x1400386e0
lea r11, [rdi - 3]
mov rcx, r11
shl rcx, 4
mov rcx, qword [r14 + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x140038429
cmp rdi, 3
jbe 0x140038797
add r8, rcx
cmp qword [rdx + r14 - 0x40], r8
jbe 0x140038429
jmp 0x1400387a5
cmp rdi, 2
mov r15, qword [rbp + 0x28]
je 0x14003842e
lea r11, [rdi - 3]
mov rcx, r11
shl rcx, 4
mov rcx, qword [r14 + rcx]
cmp rcx, rax
jb 0x140038432
lea r11, [rdi - 2]
cmp rdi, r11
jbe 0x14003883d
lea r8, [r11 + 1]
cmp rdi, r8
jbe 0x1400387fe
mov rax, r11
shl rax, 4
mov rcx, qword [r14 + rax + 8]
shl r8, 4
mov rdx, qword [r14 + r8]
mov rsi, qword [r14 + r8 + 8]
add rsi, rdx
mov r12, rsi
sub r12, rcx
jb 0x14003887c
cmp rsi, r13
ja 0x140038898
mov qword [rbp - 8], r8
mov qword [rbp - 0x10], rdx
mov qword [rbp - 0x28], r11
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x50], r10
mov qword [rbp - 0x20], rax
mov rbx, qword [r14 + rax]
mov qword [rbp - 0x18], rcx
mov rdi, rcx
shl rdi, 4
add rdi, qword [rbp + 0x38]
mov r15, rbx
shl r15, 4
lea r14, [rdi + r15]
shl rsi, 4
mov r13, r12
sub r13, rbx
cmp r13, rbx
jae 0x140038560
mov r15, r13
shl r15, 4
mov r12, qword [rbp + 0x58]
mov rcx, r12
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add r15, r12
test rbx, rbx
jle 0x1400385e0
test r13, r13
jle 0x1400385e0
add rsi, qword [rbp + 0x10]
mov r13, qword [rbp + 0x40]
nop dword [rax + rax]
mov rax, r14
mov rcx, r15
mov rdx, qword [r15 - 0x10]
mov r8, qword [r14 - 0x10]
cmp rdx, r8
mov r14d, 0
sbb r14, r14
cmp rdx, r8
mov r15d, 0
adc r15, 0xffffffffffffffff
shl r14, 4
add r14, rax
shl r15, 4
add r15, rcx
cmp rdx, r8
mov rax, r15
cmovb rax, r14
movups xmm0, xmmword [rax]
movups xmmword [rsi], xmm0
cmp r14, rdi
jbe 0x140038553
add rsi, 0xfffffffffffffff0
cmp r15, r12
ja 0x140038500
mov rdi, r14
mov rdx, r12
jmp 0x140038340
mov r13, qword [rbp + 0x58]
mov rcx, r13
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add r15, r13
test rbx, rbx
jle 0x1400385e8
cmp r12, rbx
mov r13, qword [rbp + 0x40]
jle 0x140038336
add rsi, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x58]
nop
mov r8, rdx
mov rcx, qword [r14]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, r14
movups xmm0, xmmword [r9]
movups xmmword [rdi], xmm0
add rdi, 0x10
shl edx, 4
add rdx, r8
cmp rdx, r15
jae 0x140038340
mov al, cl
shl eax, 4
add r14, rax
cmp r14, rsi
jb 0x140038590
jmp 0x140038340
mov rdi, r14
mov rdx, r12
jmp 0x1400385ec
mov rdx, qword [rbp + 0x58]
mov r13, qword [rbp + 0x40]
jmp 0x140038340
mov r9, qword [rcx + 0x10]
cmp r9, qword [rcx]
jae 0x140038670
mov r8d, 2
cmp rdx, 2
je 0x14003864a
mov r8, qword [rbp + 0x18]
lea r10, [r8 + rax]
mov r8d, 2
nop word cs:[rax + rax]
mov r11, r9
mov r9, qword [r10]
cmp r9, r11
jae 0x14003864a
inc r8
add r10, 0x10
cmp rdx, r8
jne 0x140038630
mov r8, rdx
mov rbx, r8
add rbx, r12
jb 0x1400388f3
cmp rbx, r13
ja 0x14003890f
cmp r8, 2
jae 0x1400386b0
mov r8d, 1
jmp 0x140038258
mov r8d, 2
cmp rdx, 2
je 0x140038254
add rax, qword [rbp + 0x18]
nop word cs:[rax + rax]
mov r10, r9
mov r9, qword [rax]
cmp r9, r10
jb 0x140038254
inc r8
add rax, 0x10
cmp rdx, r8
jne 0x140038690
jmp 0x140038251
mov qword [rbp + 0x48], r12
mov r12, rbx
mov qword [rbp + 0x50], rdi
mov rdx, r8
shr rdx, 1
mov r9, r8
shl r9, 4
add r9, rcx
mov r10, rdx
shl r10, 4
sub r9, r10
cmp rdx, 1
jne 0x1400386ee
xor r10d, r10d
jmp 0x14003875c
mov edi, 2
mov r12, qword [rbp + 0x30]
jmp 0x14003822d
mov r11, rdx
and r11, 0xfffffffffffffffe
add rax, qword [rbp + 8]
mov rsi, r12
shl rsi, 4
add rsi, qword [rbp + 0x10]
xor r10d, r10d
movabs rbx, 0xffffffffffffffe
nop word cs:[rax + rax]
movups xmm0, xmmword [rax - 0x10]
movups xmm1, xmmword [rsi]
movups xmmword [rax - 0x10], xmm1
movups xmmword [rsi], xmm0
mov rdi, r10
xor rdi, rbx
add rdi, rdx
shl rdi, 4
movups xmm0, xmmword [rax]
movups xmm1, xmmword [r9 + rdi]
movups xmmword [rax], xmm1
movups xmmword [r9 + rdi], xmm0
add r10, 2
add rax, 0x20
add rsi, 0xffffffffffffffe0
cmp r11, r10
jne 0x140038720
test r8b, 2
je 0x140038787
mov rax, r10
not rax
add rdx, rax
shl r10, 4
shl rdx, 4
movups xmm0, xmmword [rcx + r10]
movups xmm1, xmmword [r9 + rdx]
movups xmmword [rcx + r10], xmm1
movups xmmword [r9 + rdx], xmm0
mov rdi, qword [rbp + 0x50]
mov rbx, r12
mov r12, qword [rbp + 0x48]
jmp 0x140038258
mov edi, 3
mov r12, qword [rbp + 0x30]
jmp 0x14003822d
mov r12, qword [rbp + 0x30]
jmp 0x14003822d
shl r15, 4
mov r8d, 8
mov rcx, r14
mov rdx, r15
call fcn.140025550
mov r8d, 8
mov rcx, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x20]
add rsp, 0xf8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.140025550
nop
add rsp, 0xf8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rax, [0x1400ef2c0]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], 1
mov qword [rbp - 0x48], 8
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp + 0x68], r14
mov qword [rbp + 0x60], r15
lea rdx, [0x1400ef350]
lea rcx, [rbp - 0x58]
call fcn.1400def60
jmp 0x140038943
lea rax, [0x1400ef2c0]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], 1
mov qword [rbp - 0x48], 8
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp + 0x68], r14
mov qword [rbp + 0x60], r15
lea rdx, [0x1400ef338]
lea rcx, [rbp - 0x58]
call fcn.1400def60
jmp 0x140038943
mov qword [rbp + 0x68], r14
mov qword [rbp + 0x60], r15
lea r8, [0x1400ef368]
mov rdx, rsi
call fcn.1400df480
jmp 0x140038943
mov qword [rbp + 0x68], r14
mov qword [rbp + 0x60], r15
lea r8, [0x1400ef368]
mov rcx, rsi
mov rdx, r13
call fcn.1400df410
jmp 0x140038943
mov qword [rbp + 0x68], r14
mov qword [rbp + 0x60], r15
lea rcx, [0x1400ef3c8]
lea r8, [0x1400ef3f8]
mov edx, 0x2c
call fcn.1400df020
jmp 0x140038943
mov qword [rbp + 0x68], r14
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x60], rax
lea rcx, [0x1400ef3b0]
call fcn.1400deee0
jmp 0x140038943
mov qword [rbp + 0x68], r14
mov qword [rbp + 0x60], r15
lea r8, [0x1400ef320]
mov rcx, r12
mov rdx, rbx
call fcn.1400df480
jmp 0x140038943
mov qword [rbp + 0x68], r14
mov qword [rbp + 0x60], r15
lea r8, [0x1400ef320]
mov rcx, rbx
mov rdx, r13
call fcn.1400df410
jmp 0x140038943
lea rcx, [0x1400ef380]
call fcn.1400deee0
lea rcx, [0x1400ef398]
call fcn.1400deee0
ud2
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rax, [r8 - 1]
cmp rax, rdx
jae 0x1400393c8
cmp r8, rdx
jae 0x1400393be
lea rax, [rcx - 0x20]
mov r9, r8
shl r9, 4
add r9, rcx
add r9, 0xfffffffffffffff0
jmp 0x140039359
mov rsi, rcx
mov qword [rsi], r11
mov qword [rsi + 8], rdi
add r9, 0x10
mov r8, r10
cmp r10, rdx
je 0x1400393be
lea r10, [r8 + 1]
mov rdi, r8
shl rdi, 4
mov rsi, r10
shl rsi, 4
mov r11, qword [rcx + rdi]
cmp r11, qword [rax + rsi]
jae 0x14003934d
lea rbx, [rcx + rdi]
add rsi, rax
mov rdi, qword [rcx + rdi + 8]
movups xmm0, xmmword [rsi]
movups xmmword [rbx], xmm0
cmp r8, 1
je 0x140039346
mov ebx, 1
mov rsi, r9
nop word cs:[rax + rax]
cmp r11, qword [rsi - 0x10]
jae 0x140039346
lea r14, [rsi - 0x10]
movups xmm0, xmmword [r14]
movups xmmword [rsi], xmm0
inc rbx
mov rsi, r14
cmp r8, rbx
jne 0x1400393a0
jmp 0x140039343
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
lea rcx, [0x1400ef410]
lea r8, [0x1400ef440]
mov edx, 0x2e
call fcn.1400df020
int3