Function at 0x180069440
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xc8
mov esi, dword [rbp + 0x7f]
mov r10, r8
mov rbx, rcx
lea eax, [rsi + 0x861]
mov dword [rbp - 0x31], eax
cmp esi, eax
jae 0x1800699b7
mov r13d, dword [rbp + 0x7f]
lea r8, [0x180000000]
mov r15, qword [rbp - 0x49]
mov r11d, 1
mov r14, qword [rbp - 0x49]
mov r12, qword [rbp - 0x49]
mov ecx, 0xffffffff
cmp esi, 0xdf
ja 0x1800698b3
je 0x1800699b7
mov eax, esi
sub eax, 0x1c
je 0x1800698a1
sub eax, 0xf
je 0x180069898
sub eax, 0x12
je 0x1800695a3
sub eax, 0x1e
je 0x180069995
cmp eax, 0x59
jne 0x18006958b
mov rdi, qword [rbp + 0x5f]
xor ebx, ebx
mov rcx, r11
mov rdx, qword [rdi]
cmp r11, rdx
jae 0x180069587
nop
mov eax, dword [r10 + rcx*4 - 4]
xor eax, dword [r10 + rcx*4]
inc rcx
or ebx, eax
cmp rcx, rdx
jb 0x180069500
test ebx, ebx
je 0x180069587
mov qword [rsp + 0x28], 0
lea r8, [rbp - 0x41]
mov r9d, 0x21
mov qword [rsp + 0x20], 0
xor edx, edx
mov dword [rbp - 0x41], ebx
xor ecx, ecx
call fcn.180042a30
mov rcx, qword [rdi]
lea r9, [rbp - 0x69]
xor edx, edx
mov dword [rbp - 0x39], eax
mov qword [rsp + 0x28], rdx
lea rax, [rbp - 0x39]
mov qword [rbp - 0x51], rcx
lea r8, [rbp - 0x51]
mov rcx, qword [rbp + 0x6f]
mov edx, 0x71
mov dword [rbp - 0x69], ebx
mov qword [rsp + 0x20], rax
call fcn.180040960
mov r10, qword [rbp + 0x6f]
lea r8, [0x180000000]
mov r9, qword [rbp + 0x77]
mov r11d, 1
mov rbx, qword [rbp + 0x5f]
add esi, 0xc3
cmp esi, dword [rbp - 0x31]
jae 0x1800699b7
mov rdx, qword [rbp + 0x67]
jmp 0x1800694a3
xor r13d, r13d
test r10, r10
je 0x180069880
test rdx, rdx
je 0x180069880
mov edi, 0x79
nop dword [rax]
lea eax, [rdi - 0x74]
cmp eax, 5
ja case.default.0x1800695d7
mov ecx, dword [r8 + rax*4 + 0x699d0]
add rcx, r8
jmp rcx
xor r9d, r9d
mov rdx, r10
xor ecx, ecx
lea r8d, [r9 + 0x58]
call fcn.18006b6d0
mov rdx, qword [rbp + 0x67]
xor r9d, r9d
xor ecx, ecx
mov rbx, rax
lea r8d, [r9 + 0x58]
call fcn.18006b6d0
mov r9, qword [rbp + 0x77]
mov rcx, rax
mov rax, qword [rbp + 0x5f]
mov r8, qword [r9]
mov rdx, qword [rax]
add rdx, r8
cmp rbx, rdx
cmovb rdx, rbx
cmp rcx, r8
mov qword [rbp - 0x61], rdx
cmovb r8, rcx
mov qword [rbp - 0x59], r8
jmp case.default.0x1800695d7
mov dword [rbp - 0x71], 0
mov dword [rbp + 0x7f], 0
jmp case.default.0x1800695d7
mov rdx, qword [rbp - 0x61]
mov dword [rbp - 0x6d], 0
cmp r15, rdx
jae 0x180069795
mov rcx, qword [rbp - 0x59]
nop dword [rax]
cmp r14, rcx
jae 0x180069791
mov esi, 0x5c
nop
mov eax, esi
sub eax, 0x5c
je 0x180069710
sub eax, 1
je 0x1800696db
sub eax, 1
je 0x180069696
cmp eax, 1
jne 0x18006974c
add r14, r12
jmp 0x18006974c
mov r8, qword [rbp - 0x11]
lea rdi, [r8 + r15]
cmp rdi, rdx
ja 0x180069771
lea rax, [r12 + r14]
cmp rax, rcx
ja 0x180069771
movzx ecx, word [rbp + 0x7f]
call fcn.180080400
movzx ecx, word [rbp - 0x71]
movzx ebx, ax
call fcn.180080400
movzx r13d, ax
sub r13d, ebx
jne 0x180069791
mov r15, rdi
jmp 0x180069744
mov rdx, qword [rbp - 1]
lea rax, [rbp - 0x51]
mov qword [rbp - 0x51], rcx
lea r9, [rbp + 0x7f]
mov ecx, 0x2d
mov qword [rsp + 0x28], 0
lea r8, [rbp - 0x69]
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x69], r14
call fcn.1800333b0
mov r12, rax
jmp 0x180069744
mov qword [rbp - 0x51], rdx
lea rax, [rbp - 0x51]
mov rdx, qword [rbp - 9]
lea r9, [rbp - 0x71]
mov qword [rsp + 0x28], 0
lea r8, [rbp - 0x69]
mov ecx, 0x2d
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x69], r15
call fcn.1800333b0
mov qword [rbp - 0x11], rax
mov rdx, qword [rbp - 0x61]
mov rcx, qword [rbp - 0x59]
inc esi
cmp esi, 0x60
jb 0x180069670
cmp r15, rdx
jb 0x180069660
mov r9, qword [rbp + 0x77]
mov edi, 0x75
lea esi, [rdi - 0x38]
jmp case.default.0x1800695d7
mov r11d, 1
cmp r8, r12
jne 0x180069781
xor r13d, r13d
jmp 0x18006978d
mov r13d, r11d
mov eax, 0xffffffff
cmovb r13d, eax
mov dword [rbp - 0x6d], r11d
mov r9, qword [rbp + 0x77]
mov edi, 0x75
lea esi, [rdi - 0x38]
jmp case.default.0x1800695d7
cmp dword [rbp - 0x6d], 0
jne case.default.0x1800695d7
test r13d, r13d
jne case.default.0x1800695d7
cmp r14, qword [r9]
jae case.default.0x1800695d7
mov rdx, qword [rbp - 0x61]
mov r8, qword [rbp - 0x59]
cmp rdx, r8
je case.default.0x1800695d7
mov rax, rdx
mov r13d, r11d
sub rax, qword [rbx]
mov ecx, 0xffffffff
cmp rax, r8
cmovb r13d, ecx
jmp case.default.0x1800695d7
mov qword [rsp + 0x38], 0
mov r9d, 0x41
mov qword [rsp + 0x30], 0
xor r8d, r8d
mov qword [rsp + 0x28], 0
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], r10
call fcn.18000bb30
xor edx, edx
mov qword [rbp - 9], rax
mov rax, qword [rbp + 0x67]
xor r8d, r8d
mov qword [rsp + 0x38], rdx
xor ecx, ecx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rdx
lea r9d, [rdx + 0x41]
mov qword [rsp + 0x20], rax
call fcn.18000bb30
mov r9, qword [rbp + 0x77]
mov r15, qword [rbx]
mov qword [rbp - 1], rax
jmp case.default.0x1800695d7
xor r14d, r14d
mov r10, qword [rbp + 0x6f]
lea r8, [0x180000000]
mov rbx, qword [rbp + 0x5f]
dec edi
mov r11d, 1
cmp edi, 0x73
ja 0x1800695c0
lea r8, [0x180000000]
jmp 0x180069587
cmp r10, rdx
je 0x18006958b
test r10, r10
mov r13d, ecx
cmovne r13d, r11d
jmp 0x18006958b
mov qword [rbp - 0x21], r10
jmp 0x18006958b
mov ecx, dword [r10]
not ecx
inc ecx
and ecx, dword [r10]
mov dword [rbp - 0x29], ecx
jmp 0x18006958b
mov eax, esi
sub eax, 0xee
je 0x18006998c
sub eax, 0x12
je 0x1800699b3
sub eax, 0xf
je 0x180069970
sub eax, 0xa2
je 0x1800698f2
cmp eax, 0x21
jne 0x18006958b
movzx eax, byte [r9]
xor eax, dword [rbx]
and eax, 1
xor dword [rbx], eax
jmp 0x18006958b
mov rcx, qword [rbp - 0x19]
xor r8d, r8d
add rcx, 8
mov qword [rsp + 0x20], 0
mov r9d, 0x112
cmp byte [rdx], r8b
jne 0x180069938
xor edx, edx
call fcn.18005ae90
mov rcx, qword [rbp - 0x21]
xor edx, edx
mov qword [rsp + 0x20], rdx
add rcx, 8
xor r9d, r9d
lea r8d, [rdx + 0x15]
mov rdx, rax
call fcn.18000c470
jmp 0x180069956
xor edx, edx
call fcn.18005ae90
mov r9, qword [rbp - 0x21]
mov r8, rax
add r9, 8
xor edx, edx
mov ecx, 0xef
call fcn.18006cbc0
mov r10, qword [rbp + 0x6f]
lea r8, [0x180000000]
mov r9, qword [rbp + 0x77]
mov r11d, 1
jmp 0x18006958b
mov r9, rbx
mov r8, r10
mov ecx, 0x8f
call fcn.180038740
or dword [rbx], 0xfffffffe
mov dword [rbx + 4], 0x7fffffff
jmp 0x180069956
mov qword [rbp - 0x19], rbx
jmp 0x18006958b
mov r9d, 0x7a
mov qword [rbp - 0x49], 0
lea r8, [rbp - 0x49]
mov rdx, r10
xor ecx, ecx
call fcn.18000ee10
jmp 0x1800699bb
mov dword [rbp - 0x29], r13d
mov rax, qword [rbp - 0x29]
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret