Function at 0x1801269c0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
push r12
push r14
sub rsp, 0x38
mov r14, qword [rsp + 0x70]
mov r12, rcx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov rbp, rdx
mov qword [rax + 0x18], rsi
xor esi, esi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], r13
mov qword [rax - 0x28], r15
mov eax, r9d
movsxd rbx, r8d
test rdx, rdx
je 0x180126b10
test al, 8
jne 0x180126b10
mov r9, qword [rcx + 0x18]
lea eax, [rbx - 1]
mov qword [rsp + 0x70], r9
lea r8d, [rsi + 0xd]
movsxd rdx, eax
test eax, eax
js 0x180126a39
movzx ecx, byte [rdx + rbp]
lea eax, [r8*8]
xor ecx, eax
xor r8d, ecx
sub rdx, 1
jns 0x180126a22
xor edx, edx
mov eax, r8d
div dword [r9 + 0x14]
mov rax, qword [r9 + 0x20]
mov rdi, qword [rax + rdx*8]
test rdi, rdi
je 0x180126a74
nop
mov eax, dword [rdi + 0x1c]
inc eax
cmp ebx, eax
jne 0x180126a6c
mov r8, rbx
lea rcx, [rdi + 0x30]
mov rdx, rbp
call fcn.180153490
test eax, eax
je 0x180126a9b
mov rdi, qword [rdi]
test rdi, rdi
jne 0x180126a50
xor r15d, r15d
mov dword [r12 + 0x3c], 0
lea r13, [r12 + 0x3c]
test rsi, rsi
je 0x180126a91
lea rax, [rsi + 0x10]
mov qword [rsi], rax
or dword [r14 + 8], 1
jmp 0x180126bba
mov r13d, dword [rdi + 0x18]
lea r15d, [rbx + 0x31]
sub r13d, r15d
call fcn.1800e74e0
test eax, eax
jne 0x180126af6
lea eax, [r13 + 0x1a]
movsxd rcx, eax
call fcn.18002a230
mov rsi, rax
test rax, rax
je 0x180126af6
movsxd rdx, r15d
lea rcx, [rax + 0x10]
add rdx, rdi
movsxd r8, r13d
call fcn.18013fe80
mov rcx, qword [rsp + 0x70]
mov edx, 0x10
sub edx, r15d
movsxd r8, edx
mov rdx, rdi
add r8, rsi
call fcn.1801226e0
lea r15d, [rax + r13]
jmp 0x180126a77
lea r13, [r12 + 0x3c]
xor r15d, r15d
mov dword [r13], 7
or dword [r14 + 8], 1
jmp 0x180126bba
mov rcx, qword [rcx + 0x18]
lea r13, [r12 + 0x3c]
mov r8d, ebx
lea r9, [rcx + 0x18]
call fcn.180122f00
mov rcx, qword [r12 + 0x18]
mov dword [r13], eax
mov r15, qword [rcx + 0x18]
test r15, r15
je 0x180126b81
mov rbx, 0xffffffffffffffff
lea rbp, [r15 + 0x30]
mov rdi, rbx
inc rdi
cmp byte [rdi + rbp], sil
jne 0x180126b45
xor r8d, r8d
mov rdx, r15
call fcn.1801226e0
mov r15d, dword [r15 + 0x18]
lea eax, [rdi + 1]
sub r15d, edi
cdqe
add rax, rbp
sub r15d, 0x31
mov qword [rsp + 0x70], rax
test rbp, rbp
je 0x180126b8d
inc rbx
cmp byte [rbx + rbp], sil
jne 0x180126b76
jmp 0x180126b8f
xor eax, eax
xor ebp, ebp
mov qword [rsp + 0x70], rax
xor r15d, r15d
xor ebx, ebx
test rax, rax
je 0x180126bb1
mov edx, 0x10
mov rcx, r13
call fcn.18011b850
mov rsi, rax
test rax, rax
je 0x180126bb1
mov rax, qword [rsp + 0x70]
mov qword [rsi], rax
mov dword [r12 + 0x30], 0
test rsi, rsi
je 0x180126c43
mov dword [r14 + 0x70], 0
test ebx, ebx
je 0x180126bff
cmp ebx, dword [r14 + 0x74]
jbe 0x180126be8
mov r8d, ebx
lea rdx, [r14 + 0x68]
mov rcx, r13
call fcn.18011b280
test eax, eax
jne 0x180126bff
movsxd rcx, dword [r14 + 0x70]
mov rdx, rbp
add rcx, qword [r14 + 0x68]
mov r8d, ebx
call fcn.18013fe80
add dword [r14 + 0x70], ebx
mov dword [rsi + 0xc], r15d
lea rdx, [r14 + 0x78]
mov dword [rsi + 8], r15d
mov qword [r14 + 0x10], rsi
mov rcx, qword [rsi]
call fcn.180139f70
test byte [rsp + 0x68], 2
mov rdx, r14
movzx eax, al
mov rcx, r12
mov qword [r14 + 0x20], rax
mov eax, dword [rsi + 8]
mov dword [r14 + 0x4c], eax
je 0x180126c3e
or dword [r14 + 8], 2
call fcn.1801253a0
jmp 0x180126c43
call fcn.180124ef0
test byte [r14 + 8], 2
mov r15, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
je 0x180126c7c
lea rax, [0x1801256b0]
mov qword [r14 + 0x38], rax
add rsp, 0x38
pop r14
pop r12
ret
mov rax, qword [r12]
lea rcx, [0x180125a10]
lea rdx, [0x180125740]
cmp dword [rax + 0x5c], 1
cmove rcx, rdx
mov qword [r14 + 0x38], rcx
add rsp, 0x38
pop r14
pop r12
ret