Function at 0x1400702c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x48], edx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
xor edi, edi
mov r14d, edx
add r14, rcx
mov eax, r9d
add rax, r8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0xd8], rax
mov rbx, r8
mov r12, rcx
mov r13d, edi
cmp r9d, 0x40
jb 0x140070946
cmp edx, 8
jb 0x140070946
cmp rcx, 0x2001
ja 0x14007032e
mov eax, 0xc00000bb
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0xa8], rbp
xor edx, edx
mov rbp, qword [rsp + 0xc8]
mov r8d, 0x40000
mov rcx, rbp
call sub.msvcrt.dll_memset
movzx eax, byte [r12]
lea rsi, [rbx + 5]
mov r9, qword [rsp + 0xb0]
lea r8, [r14 - 5]
mov ecx, dword [rsp + 0xe0]
mov r11, rdi
mov rdx, qword [rsp + 0xd8]
mov r15d, 2
mov byte [rbx + 4], al
lea rbx, [r12 + 1]
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rdi
mov rdi, r12
mov dword [rsp + 0x58], ecx
mov qword [rsp + 0x38], r12
mov qword [rsp + 0xd0], r9
nop dword [rax]
lea rax, [rdi + 0x2000]
mov r10, r8
cmp rax, r8
cmovbe r10, rax
mov eax, ecx
add rax, rbx
mov qword [rsp + 0x28], r10
cmp r10, rax
cmovb rax, r10
and r11d, 0x3fff
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], r11
cmp rdi, r10
jae 0x140070470
lea r8, [r11*8 + 0x40000]
add r8, rbp
lea r14, [0x1400b1530]
nop
movzx eax, byte [rdi + 2]
lea rdx, [rdi + 1]
inc r11
lea r8, [r8 + 8]
movzx ecx, word [r14 + rax*2 + 0x400]
movzx eax, byte [rdi]
movzx eax, word [r14 + rax*2]
xor rcx, rax
movzx eax, byte [rdx]
movzx eax, word [r14 + rax*2 + 0x200]
xor rcx, rax
mov rax, qword [rbp + rcx*8]
mov qword [r8 - 8], rax
mov qword [rbp + rcx*8], rdi
mov rdi, rdx
cmp rdx, r10
jb 0x140070400
mov r14, qword [rsp + 0x40]
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x30], r11
mov rax, qword [rsp + 0x20]
nop dword [rax]
nop dword [rax + rax]
mov r8, qword [rsp + 0xc8]
lea rbp, [rbx - 0x2000]
mov edi, 0x2000
sub rdi, r12
cmp rbx, rax
jb 0x1400704bf
cmp rbx, r10
jae 0x140070879
mov r8, rbx
lea rcx, [rsp + 0x48]
mov rdx, r10
call fcn.14006fb30
mov r9, qword [rsp + 0xd0]
mov r10, qword [rsp + 0x28]
mov r8, qword [rsp + 0xc8]
mov qword [rsp + 0x20], rax
mov r11d, dword [rbx]
lea rcx, [rdi + rbp]
and ecx, 0x3fff
mov rcx, qword [r8 + rcx*8 + 0x40000]
cmp rcx, rbp
jb 0x140070540
mov edx, dword [rcx]
xor edx, r11d
je 0x1400705b8
test edx, 0xffffff
je 0x14007059c
sub rcx, r12
and ecx, 0x3fff
mov rcx, qword [r8 + rcx*8 + 0x40000]
cmp rcx, rbp
jb 0x140070540
mov eax, dword [rcx]
xor eax, r11d
je 0x1400705b8
test eax, 0xffffff
je 0x14007059c
sub rcx, r12
and ecx, 0x3fff
mov rcx, qword [r8 + rcx*8 + 0x40000]
cmp rcx, rbp
jb 0x140070540
mov eax, dword [rcx]
xor eax, r11d
je 0x1400705b8
test eax, 0xffffff
je 0x14007059c
mov rdx, qword [rsp + 0xd8]
lea ecx, [r15 + r15]
mov byte [rsi], r11b
inc rbx
inc rsi
inc rbp
mov rax, rsi
test r15d, r15d
jle 0x14007056d
mov rax, qword [rsp + 0x20]
mov r15d, ecx
jmp 0x140070487
mov dword [r9], ecx
add rsi, 4
lea rcx, [rdx - 0x29]
mov r15d, 1
mov r9, rax
cmp rsi, rcx
jae 0x14007089f
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x20]
jmp 0x140070487
mov r13, rbx
lea rbp, [rbx - 0x2000]
sub r13, rcx
mov edi, 3
xor eax, eax
mov r9d, eax
jmp 0x140070760
xor eax, eax
mov r9d, eax
lea edi, [rax + 3]
mov rax, rbx
mov r10, rbx
add rax, 0x24
add rbx, 4
add rcx, 4
cmp rax, r14
jae 0x14007065b
nop dword [rax + rax]
mov edx, dword [rcx]
mov eax, dword [rbx]
cmp eax, edx
jne 0x140070703
mov edx, dword [rcx + 4]
mov eax, dword [rbx + 4]
cmp eax, edx
jne 0x1400706fb
mov edx, dword [rcx + 8]
mov eax, dword [rbx + 8]
cmp eax, edx
jne 0x1400706f1
mov edx, dword [rcx + 0xc]
mov eax, dword [rbx + 0xc]
cmp eax, edx
jne 0x1400706e7
mov edx, dword [rcx + 0x10]
mov eax, dword [rbx + 0x10]
cmp eax, edx
jne 0x1400706dd
mov edx, dword [rcx + 0x14]
mov eax, dword [rbx + 0x14]
cmp eax, edx
jne 0x1400706d3
mov edx, dword [rcx + 0x18]
mov eax, dword [rbx + 0x18]
cmp eax, edx
jne 0x1400706c9
mov edx, dword [rcx + 0x1c]
mov eax, dword [rbx + 0x1c]
cmp eax, edx
jne 0x1400706bf
add rbx, 0x20
add rcx, 0x20
lea rax, [rbx + 0x20]
cmp rax, r14
jb 0x1400705e0
cmp rbx, r14
jae 0x140070672
movzx eax, byte [rcx]
cmp byte [rbx], al
jne 0x140070672
inc rbx
inc rcx
cmp rbx, r14
jb 0x140070660
mov rax, rbx
sub rax, r10
cmp rax, rdi
jbe 0x14007074a
mov r13, rbx
mov rdi, rax
sub r13, rcx
cmp rcx, r10
jbe 0x14007074d
mov rbx, r10
add rbx, rdi
lea rax, [rdi - 3]
lea r13, [r13*8 - 8]
cmp rax, 7
jae 0x140070784
add r13, rax
mov word [rsi], r13w
add rsi, 2
jmp 0x140070825
add rbx, 0x1c
add rcx, 0x1c
jmp 0x140070703
add rbx, 0x18
add rcx, 0x18
jmp 0x140070703
add rbx, 0x14
add rcx, 0x14
jmp 0x140070703
add rbx, 0x10
add rcx, 0x10
jmp 0x140070703
add rbx, 0xc
add rcx, 0xc
jmp 0x140070703
add rbx, 8
add rcx, 8
jmp 0x140070703
add rbx, 4
add rcx, 4
cmp al, dl
jne 0x140070672
movzx eax, byte [rcx + 1]
mov r8, qword [rsp + 0xc8]
cmp byte [rbx + 1], al
je 0x140070727
inc rbx
inc rcx
jmp 0x140070672
movzx eax, byte [rcx + 2]
cmp byte [rbx + 2], al
je 0x14007073d
add rbx, 2
add rcx, 2
jmp 0x140070672
add rbx, 3
add rcx, 3
jmp 0x140070672
add r9, rax
sub rcx, rax
mov rbx, r10
inc r9
cmp r9, 0x18
jae 0x140070696
sub rcx, r12
and ecx, 0x3fff
mov rcx, qword [r8 + rcx*8 + 0x40000]
cmp rcx, rbp
jb 0x140070696
cmp r11d, dword [rcx]
jne 0x140070753
jmp 0x1400705c0
mov rdx, qword [rsp + 0xa0]
or r13, 7
mov word [rsi], r13w
sub rax, 7
add rsi, 2
mov rcx, rsi
test rdx, rdx
jne 0x1400707c3
mov qword [rsp + 0xa0], rcx
cmp rax, 0xf
jae 0x1400707b9
mov byte [rsi], al
inc rsi
jmp 0x140070825
mov byte [rsi], 0xf
inc rsi
xor edx, edx
jmp 0x1400707ee
movzx ecx, byte [rdx]
cmp rax, 0xf
jae 0x1400707df
shl al, 4
or al, cl
mov byte [rdx], al
xor eax, eax
mov qword [rsp + 0xa0], rax
jmp 0x140070825
or cl, 0xf0
mov byte [rdx], cl
xor edx, edx
mov qword [rsp + 0xa0], rdx
sub rax, 0xf
cmp rax, 0xff
jae 0x140070801
mov byte [rsi], al
inc rsi
jmp 0x140070825
add rax, 0x16
mov byte [rsi], 0xff
cmp rax, 0x10000
jae 0x14007081a
mov word [rsi + 1], ax
add rsi, 3
jmp 0x140070825
mov word [rsi + 1], dx
mov dword [rsi + 3], eax
add rsi, 7
lea eax, [r15*2 + 1]
test r15d, r15d
jle 0x14007083f
mov r9, qword [rsp + 0xd0]
mov r15d, eax
jmp 0x14007085e
mov rcx, qword [rsp + 0xd0]
mov r9, rsi
mov qword [rsp + 0xd0], rsi
mov r15d, 1
add rsi, 4
mov dword [rcx], eax
mov rdx, qword [rsp + 0xd8]
lea rax, [rdx - 0x29]
cmp rsi, rax
jae 0x14007089f
mov r10, qword [rsp + 0x28]
jmp 0x14007045f
mov r11, qword [rsp + 0x30]
lea r8, [r14 - 5]
mov rdi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0xc8]
mov ecx, dword [rsp + 0xe0]
cmp rbx, r8
jb 0x1400703b0
mov rbp, qword [rsp + 0xa8]
cmp rbx, r14
jae 0x1400708ea
nop dword [rax]
cmp rsi, rdx
jae 0x140070946
movzx eax, byte [rbx]
inc rbx
mov byte [rsi], al
inc rsi
lea eax, [r15 + r15]
mov rcx, rsi
test r15d, r15d
jle 0x1400708d5
mov r15d, eax
jmp 0x1400708e5
mov dword [r9], eax
mov r15d, 1
mov r9, rcx
add rsi, 4
cmp rbx, r14
jb 0x1400708b0
cmp rsi, rdx
jae 0x140070946
test r15d, r15d
jle 0x14007090d
nop dword [rax]
nop dword [rax + rax]
lea r15d, [r15*2 + 1]
test r15d, r15d
jg 0x140070900
sub esi, dword [rsp + 0xb0]
lea eax, [r15*2 + 1]
mov dword [r9], eax
mov ecx, 8
mov rax, qword [rsp + 0xc0]
cmp esi, ecx
cmovb esi, ecx
mov dword [rax], esi
xor eax, eax
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov eax, 0xc0000023
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret