Function at 0x180002070
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0xd0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov r14, rcx
mov edx, 4
xor ecx, ecx
mov r8d, 0xfc7af16a
call fcn.1800012c0
mov edx, 1
mov ebx, 2
mov ecx, ebx
lea r8d, [rdx + 5]
call rax
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x1800020ca
xor al, al
jmp 0x18000216e
mov word [rbp - 0x21], bx
mov byte [rbp - 0x49], 0
mov dword [rbp - 0x45], 0x38b2f282
mov dword [rbp - 0x41], 0x1d9c81d4
mov eax, dword [rbp - 0x45]
movzx eax, byte [rbp - 0x49]
mov qword [rsp + 0xf8], rdi
xor edi, edi
test al, al
jne 0x180002115
mov ecx, edi
nop word [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x45]
xor eax, 0x1d9c81a7
mov dword [rbp + rcx*4 - 0x45], eax
inc rcx
cmp rcx, rbx
jb 0x180002100
mov r9, qword [r14 + 0x188]
lea r8, [r14 + 0x12d]
lea rdx, [rbp - 0x45]
lea rcx, [rbp - 9]
call fcn.180002d30
mov edx, 4
xor ecx, ecx
mov r8d, 0xf44318c6
call fcn.1800012c0
lea rcx, [rbp - 9]
call rax
test rax, rax
jne 0x18000218e
mov edx, 4
xor ecx, ecx
mov r8d, 0x939d7d9c
call fcn.1800012c0
mov rcx, rsi
call rax
xor al, al
mov rdi, qword [rsp + 0xf8]
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1800033e0
mov rbx, qword [rsp + 0x100]
add rsp, 0xd0
pop r14
pop rsi
pop rbp
ret
mov rdx, qword [rax + 0x18]
lea rcx, [rbp - 0x1d]
movsx r8, word [rax + 0x12]
mov rdx, qword [rdx]
call fcn.18000cf70
mov edx, 4
xor ecx, ecx
mov r8d, 0x8e9bf775
call fcn.1800012c0
mov ecx, 0x378
call rax
mov edx, 4
mov word [rbp - 0x1f], ax
xor ecx, ecx
mov r8d, 0xedd8fe8a
call fcn.1800012c0
mov r8d, 0x10
lea rdx, [rbp - 0x21]
mov rcx, rsi
call rax
cmp eax, 0xffffffff
je 0x18000214d
mov byte [rbp - 0x69], dil
mov dword [rbp - 0x65], 0x274fe477
mov eax, dword [rbp - 0x65]
movzx eax, byte [rbp - 0x69]
test al, al
jne 0x18000220b
mov eax, dword [rbp - 0x65]
xor eax, 0x274fe437
mov dword [rbp - 0x65], eax
mov edx, 1
xor ecx, ecx
mov r8d, 0x2d40b8e6
call fcn.1800012c0
lea rcx, [rbp - 0x65]
call rax
mov byte [rbp - 0x61], dil
mov rbx, rax
mov dword [rbp - 0x5d], 0xe03fab1
mov ecx, dword [rbp - 0x5d]
movzx ecx, byte [rbp - 0x61]
test cl, cl
jne 0x180002248
mov ecx, dword [rbp - 0x5d]
xor ecx, 0xe03faf1
mov dword [rbp - 0x5d], ecx
mov edx, 4
xor ecx, ecx
mov r8d, 0xe797764
call fcn.1800012c0
xor r9d, r9d
lea rdx, [rbp - 0x5d]
mov r8, rbx
mov rcx, rsi
call rax
cmp eax, 0xffffffff
je 0x18000214d
lea rbx, [r14 + 0x1c0]
mov r8d, 0x20
mov rdx, rbx
mov rcx, rsi
call fcn.180002ce0
test eax, eax
jle 0x1800023f1
mov byte [rbp - 0x59], dil
mov dword [rbp - 0x55], 0x6e6aae87
mov eax, dword [rbp - 0x55]
movzx eax, byte [rbp - 0x59]
test al, al
jne 0x1800022b3
mov eax, dword [rbp - 0x55]
xor eax, 0x6e0fd6e2
mov dword [rbp - 0x55], eax
test rbx, rbx
je 0x1800022f8
lea r9, [rbp - 0x55]
mov r8, rbx
sub r9, rbx
mov rcx, rbx
neg r8
nop dword [rax + rax]
movzx eax, byte [rcx]
movzx edx, byte [r9 + rcx]
cmp al, dl
jb 0x1800022f8
ja 0x1800022f8
inc rcx
lea rax, [r8 + rcx]
cmp rax, 3
jb 0x1800022d0
mov rcx, rsi
call fcn.180002410
jmp 0x180002164
mov byte [rbp - 0x51], dil
mov dword [rbp - 0x4d], 0x518afa1d
mov eax, dword [rbp - 0x4d]
movzx eax, byte [rbp - 0x51]
test al, al
jne 0x180002319
mov eax, dword [rbp - 0x4d]
xor eax, 0x51e48f6f
mov dword [rbp - 0x4d], eax
test rbx, rbx
je 0x180002358
lea r9, [rbp - 0x4d]
mov r8, rbx
sub r9, rbx
mov rcx, rbx
neg r8
nop
movzx eax, byte [rcx]
movzx edx, byte [r9 + rcx]
cmp al, dl
jb 0x180002358
ja 0x180002358
inc rcx
lea rax, [r8 + rcx]
cmp rax, 3
jb 0x180002330
mov rcx, rsi
call fcn.180002590
jmp 0x180002164
mov byte [rbp - 0x39], dil
mov dword [rbp - 0x35], 0x6e5ac0f
mov dword [rbp - 0x31], 0x1aebed0c
mov dword [rbp - 0x2d], 0x19eba347
mov dword [rbp - 0x29], 0x7484c069
mov eax, dword [rbp - 0x35]
movzx eax, byte [rbp - 0x39]
test al, al
jne 0x1800023a6
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbp + rdi*4 - 0x35]
xor eax, 0x7484c069
mov dword [rbp + rdi*4 - 0x35], eax
inc rdi
cmp rdi, 4
jb 0x180002390
test rbx, rbx
je 0x180002164
lea r8, [rbp - 0x35]
mov rdx, rbx
sub r8, rbx
neg rdx
nop dword [rax]
movzx eax, byte [rbx]
movzx ecx, byte [r8 + rbx]
cmp al, cl
jb 0x180002164
ja 0x180002164
inc rbx
lea rax, [rdx + rbx]
cmp rax, 0xc
jb 0x1800023c0
mov al, 1
mov qword [r14 + 0x198], rsi
jmp 0x180002166
jne 0x180002164
mov al, 1
mov qword [r14 + 0x198], rsi
jmp 0x180002166