Function at 0x1800063f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r14
mov rbp, rsp
sub rsp, 0x50
xor edi, edi
mov r12, rcx
mov byte [rbp - 0x30], dil
mov r14d, edi
mov dword [rbp - 0x2c], 0x41e82cc8
mov dword [rbp - 0x28], 0x41af2cac
mov dword [rbp - 0x24], 0x41ac2c9a
mov dword [rbp - 0x20], 0x41c82cce
mov eax, dword [rbp - 0x2c]
movzx eax, byte [rbp - 0x30]
test al, al
jne 0x180006456
mov ecx, edi
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x2c]
xor eax, 0x41c82cf3
mov dword [rbp + rcx*4 - 0x2c], eax
inc rcx
cmp rcx, 4
jb 0x180006440
mov r8, qword [0x18000a4e0]
lea rsi, [rbp - 0x2c]
mov dword [rbp + 0x38], edi
test r8, r8
je 0x180006499
mov r8, qword [r8 + 0x1110]
test r8, r8
jne 0x1800064ae
lea edx, [r8 + 0xf]
xor ecx, ecx
mov r8d, 0xe69a1cd7
call fcn.180004030
mov r8, rax
mov rax, qword [0x18000a4e0]
mov qword [rax + 0x1110], r8
jmp 0x1800064ae
mov edx, 0xf
xor ecx, ecx
mov r8d, 0xe69a1cd7
call fcn.180004030
mov r8, rax
mov qword [rsp + 0x80], rbx
lea rdx, [rbp + 0x38]
xor ecx, ecx
mov qword [rsp + 0x98], r15
call r8
cmp eax, 0x6f
jne 0x1800065f9
mov r10, qword [0x18000a4e0]
mov ebx, dword [rbp + 0x38]
test r10, r10
je 0x180006508
mov r10, qword [r10 + 0x48]
test r10, r10
jne 0x18000651d
lea edx, [rax - 0x6e]
xor ecx, ecx
mov r8d, 0x697a6afe
call fcn.180004030
mov r10, rax
mov rax, qword [0x18000a4e0]
mov qword [rax + 0x48], r10
jmp 0x18000651d
mov edx, 1
xor ecx, ecx
mov r8d, 0x697a6afe
call fcn.180004030
mov r10, rax
mov r9d, 4
mov r8d, 0x3000
mov rdx, rbx
xor ecx, ecx
call r10
mov r15, rax
test rax, rax
je 0x1800065f9
mov r9, qword [0x18000a4e0]
test r9, r9
je 0x180006579
mov r9, qword [r9 + 0x1110]
test r9, r9
jne 0x18000658e
lea edx, [r9 + 0xf]
xor ecx, ecx
mov r8d, 0xe69a1cd7
call fcn.180004030
mov r9, rax
mov rax, qword [0x18000a4e0]
mov qword [rax + 0x1110], r9
jmp 0x18000658e
mov edx, 0xf
xor ecx, ecx
mov r8d, 0xe69a1cd7
call fcn.180004030
mov r9, rax
lea rdx, [rbp + 0x38]
mov rcx, r15
call r9
test eax, eax
je 0x18000667b
mov r9, qword [0x18000a4e0]
test r9, r9
je 0x1800065d6
mov r9, qword [r9 + 0x58]
test r9, r9
jne 0x1800065eb
lea edx, [r9 + 1]
xor ecx, ecx
mov r8d, 0x3a35705f
call fcn.180004030
mov r9, rax
mov rax, qword [0x18000a4e0]
mov qword [rax + 0x58], r9
jmp 0x1800065eb
mov edx, 1
xor ecx, ecx
mov r8d, 0x3a35705f
call fcn.180004030
mov r9, rax
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call r9
mov byte [rbp - 0x1c], dil
mov dword [rbp - 0x18], 0xae3a050
mov dword [rbp - 0x14], 0xaa4a034
mov dword [rbp - 0x10], 0xaa7a002
mov dword [rbp - 0xc], 0xac3a056
mov eax, dword [rbp - 0x18]
movzx eax, byte [rbp - 0x1c]
test al, al
jne 0x180006646
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rbp + rdi*4 - 0x18]
xor eax, 0xac3a06b
mov dword [rbp + rdi*4 - 0x18], eax
inc rdi
cmp rdi, 4
jb 0x180006630
mov r9d, 1
lea r8, [0x1800091e8]
lea rdx, [rbp - 0x18]
mov rcx, r12
call fcn.1800055f0
mov r15, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rbx, r15
nop
cmp byte [rbx + 0x1c0], 0x30
jne 0x180006692
cmp byte [rbx + 0x1c1], 0x2e
je 0x1800066de
mov ecx, dword [rbx + 0x194]
lea eax, [rcx - 1]
cmp eax, 7
ja 0x1800066de
mov r9d, ecx
lea r8, [rbx + 0x198]
lea rcx, [r12 + r14*2]
mov rdx, rsi
call fcn.1800055f0
mov byte [rbp + 0x40], dil
add r14, rax
mov dword [rbp + 0x44], 0x3cff05bc
mov eax, dword [rbp + 0x44]
movzx eax, byte [rbp + 0x40]
test al, al
jne 0x1800066da
mov eax, dword [rbp + 0x44]
xor eax, 0x3cff0586
mov dword [rbp + 0x44], eax
lea rsi, [rbp + 0x44]
mov rbx, qword [rbx]
test rbx, rbx
jne 0x180006680
mov r9, qword [0x18000a4e0]
test r9, r9
je 0x18000671b
mov r9, qword [r9 + 0x58]
test r9, r9
jne 0x180006730
lea edx, [rbx + 1]
xor ecx, ecx
mov r8d, 0x3a35705f
call fcn.180004030
mov r9, rax
mov rax, qword [0x18000a4e0]
mov qword [rax + 0x58], r9
jmp 0x180006730
mov edx, 1
xor ecx, ecx
mov r8d, 0x3a35705f
call fcn.180004030
mov r9, rax
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call r9
test r14, r14
je 0x1800065f9
mov rax, r14
jmp 0x18000665f