Function at 0x180011070
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b0
mov rax, qword [0x18010db20]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov rcx, qword [rsp + 0x210]
xor esi, esi
mov eax, r8d
mov qword [rsp + 0x70], rdx
mov rdx, qword [rsp + 0x218]
mov qword [rsp + 0x88], rcx
xor ecx, ecx
mov qword [rsp + 0x80], rdx
mov ebx, esi
mov byte [rsp + 0x160], bl
mov byte [rsp + 0x120], cl
mov qword [r11 - 0xc7], rcx
mov qword [r11 - 0xbf], rcx
mov qword [r11 - 0xb7], rcx
mov qword [r11 - 0xaf], rcx
mov qword [r11 - 0xa7], rcx
mov qword [r11 - 0x9f], rcx
mov qword [r11 - 0x97], rcx
mov dword [rsp + 0x159], ecx
mov word [rsp + 0x15d], cx
mov byte [rsp + 0x15f], cl
mov qword [r11 - 0x87], rcx
mov qword [r11 - 0x7f], rcx
mov qword [r11 - 0x77], rcx
mov qword [r11 - 0x6f], rcx
mov qword [r11 - 0x67], rcx
mov qword [r11 - 0x5f], rcx
mov qword [r11 - 0x57], rcx
mov dword [r11 - 0x4f], ecx
mov word [r11 - 0x4b], cx
mov byte [r11 - 0x49], cl
lea rdx, str.algorithm.cpp
mov r8d, 0x246
mov ecx, eax
mov qword [rsp + 0x78], r9
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x58], rsi
mov rdi, rsi
mov qword [rsp + 0x60], rsi
mov r14, rsi
mov r15, rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x38], rsi
call fcn.180055b80
mov byte [rsp + 0x100], bl
mov r12, rax
xor eax, eax
mov qword [rsp + 0x40], rsi
mov r13, rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x101], rax
mov qword [rsp + 0x109], rax
mov qword [rsp + 0x111], rax
mov dword [rsp + 0x119], eax
mov word [rsp + 0x11d], ax
mov byte [rsp + 0x11f], al
call fcn.1800531d0
mov ecx, 0x398
mov rbp, rax
call fcn.180056350
mov rsi, rax
test rax, rax
je 0x1800115eb
test rbp, rbp
je 0x1800115eb
xor r8d, r8d
mov rdx, rbp
mov rcx, rax
call fcn.180056560
test eax, eax
je 0x1800115eb
call fcn.180057f40
mov qword [rsp + 0x58], rax
call fcn.1800531d0
mov rdi, rax
call fcn.1800531d0
mov qword [rsp + 0x60], rax
call fcn.1800531d0
mov r14, rax
call fcn.1800531d0
mov r15, rax
call fcn.1800531d0
mov qword [rsp + 0x48], rax
call fcn.1800531d0
mov rcx, rsi
mov qword [rsp + 0x38], rax
call fcn.180056b50
mov rcx, rsi
mov qword [rsp + 0x40], rax
call fcn.180056b50
mov rcx, rsi
mov r13, rax
call fcn.180056b50
mov rcx, rsi
mov qword [rsp + 0x50], rax
call fcn.180056b50
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0x58], rbx
je 0x1800115eb
test rdi, rdi
je 0x1800115eb
cmp qword [rsp + 0x40], rbx
je 0x1800115eb
test r13, r13
je 0x1800115eb
cmp qword [rsp + 0x50], rbx
je 0x1800115eb
test rax, rax
je 0x1800115eb
test r14, r14
je 0x1800115eb
test r15, r15
je 0x1800115eb
cmp qword [rsp + 0x48], rbx
je 0x1800115eb
cmp qword [rsp + 0x38], rbx
je 0x1800115eb
mov r9, qword [rsp + 0x88]
mov r8, qword [rsp + 0x78]
mov rdx, r13
mov rcx, rsi
mov qword [rsp + 0x20], rbx
call fcn.180056f00
test eax, eax
je 0x1800115eb
nop dword [rax + rax]
mov rdx, rbp
mov rcx, rdi
call fcn.1800585c0
test eax, eax
je 0x1800115eb
cmp dword [rdi + 8], 0
je 0x180011310
mov rdx, qword [rsp + 0x40]
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov r8, rdi
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180057530
test eax, eax
je 0x1800115eb
mov rdx, qword [rsp + 0x40]
mov r9, r15
mov r8, r14
mov rcx, rsi
mov qword [rsp + 0x20], 0
call fcn.180057010
test eax, eax
je 0x1800115eb
lea rdx, [rsp + 0x160]
mov rcx, r14
call fcn.1800510a0
test eax, eax
je 0x1800115eb
lea rdx, [rsp + 0x180]
mov rcx, r15
call fcn.1800510a0
test eax, eax
je 0x1800115eb
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rcx, rsi
call fcn.1800565a0
mov ebx, eax
test eax, eax
je 0x1800115eb
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
mov r9, r13
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
call fcn.180057530
test eax, eax
je 0x1800115eb
mov rdx, qword [rsp + 0x50]
mov rcx, rsi
call fcn.1800572a0
test eax, eax
jne 0x1800115eb
mov rdx, qword [rsp + 0x68]
mov r9, r13
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rdi
call fcn.180057530
test eax, eax
je 0x1800115eb
mov r9, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
mov qword [rsp + 0x20], 0
call fcn.180057010
test eax, eax
je 0x1800115eb
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0x120]
call fcn.1800510a0
test eax, eax
je 0x1800115eb
mov rcx, qword [rsp + 0x38]
lea rdx, [rsp + 0x140]
call fcn.1800510a0
test eax, eax
je 0x1800115eb
mov r8d, dword [rsp + 0x30]
lea rcx, [rsp + 0x120]
mov r9, r12
shl r8d, 3
mov edx, 0x40
call fcn.1800518f0
mov ebx, eax
test eax, eax
je 0x1800115eb
mov edx, dword [rsp + 0x30]
mov rcx, r12
call fcn.180051af0
test eax, eax
jne 0x180011310
mov ebx, dword [rsp + 0x30]
test ebx, ebx
jle 0x1800114f1
mov r9, qword [rsp + 0x70]
mov rcx, r12
mov r8, rbx
sub r9, r12
nop word [rax + rax]
movzx eax, byte [r9 + rcx]
inc rcx
xor byte [rcx - 1], al
sub r8, 1
jne 0x1800114e0
lea rcx, [rsp + 0x90]
call fcn.180059770
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x90]
mov r8d, 0x20
call fcn.180059c60
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x90]
mov r8, rbx
call fcn.180059c60
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x90]
mov r8d, 0x20
call fcn.180059c60
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x100]
call fcn.180059d50
mov rcx, qword [rsp + 0x80]
lea rdx, [rsp + 0x160]
mov rax, qword [rdx]
mov byte [rcx], 4
add rcx, 0x61
mov qword [rcx - 0x60], rax
mov rax, qword [rdx + 8]
mov r8, rbx
mov qword [rcx - 0x58], rax
mov rax, qword [rdx + 0x10]
mov qword [rcx - 0x50], rax
mov rax, qword [rdx + 0x18]
mov qword [rcx - 0x48], rax
mov rax, qword [rdx + 0x20]
mov qword [rcx - 0x40], rax
mov rax, qword [rdx + 0x28]
mov qword [rcx - 0x38], rax
mov rax, qword [rdx + 0x30]
mov qword [rcx - 0x30], rax
mov rax, qword [rdx + 0x38]
lea rdx, [rsp + 0x100]
mov qword [rcx - 0x28], rax
mov rax, qword [rdx]
mov qword [rcx - 0x20], rax
mov rax, qword [rdx + 8]
mov qword [rcx - 0x18], rax
mov rax, qword [rdx + 0x10]
mov qword [rcx - 0x10], rax
mov rax, qword [rdx + 0x18]
mov rdx, r12
mov qword [rcx - 8], rax
call fcn.180036ef0
mov ebx, 1
test r12, r12
je 0x1800115f8
mov rcx, r12
call fcn.180055e30
test rdi, rdi
je 0x180011605
mov rcx, rdi
call fcn.1800530f0
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x180011617
mov rcx, rax
call fcn.1800530f0
test r14, r14
je 0x180011624
mov rcx, r14
call fcn.1800530f0
test r15, r15
je 0x180011631
mov rcx, r15
call fcn.1800530f0
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x180011643
mov rcx, rax
call fcn.1800530f0
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x180011655
mov rcx, rax
call fcn.1800530f0
test rbp, rbp
je 0x180011662
mov rcx, rbp
call fcn.1800530f0
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x180011674
mov rcx, rax
call fcn.180056c50
test r13, r13
je 0x180011681
mov rcx, r13
call fcn.180056c50
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x180011693
mov rcx, rax
call fcn.180056c50
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1800116a5
mov rcx, rax
call fcn.180056c50
test rsi, rsi
je 0x1800116b2
mov rcx, rsi
call fcn.1800575f0
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x1800116c4
mov rcx, rax
call fcn.180057fc0
mov eax, ebx
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.180037360
mov rbx, qword [rsp + 0x1f0]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret