Function at 0x140005ba0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
lea rbp, [rsp - 0x4f]
sub rsp, 0x98
mov rax, qword [0x140057080]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r15, r8
mov dword [rbp - 0x11], ecx
mov r8d, dword [r8 + 0x90]
mov r10d, ecx
movzx eax, word [r15 + 0x14]
lea rdx, [r15 + 0x18]
add rdx, rax
movzx eax, word [r15 + 6]
lea rcx, [rax + rax*4]
lea r9, [rdx + rcx*8]
cmp rdx, r9
jae 0x140005c0f
nop dword [rax]
mov ecx, dword [rdx + 0xc]
cmp r8, rcx
jb 0x140005c06
mov eax, dword [rdx + 8]
add eax, ecx
cmp r8, rax
jb 0x140005ce1
add rdx, 0x28
cmp rdx, r9
jb 0x140005bf0
mov ecx, 0x10
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x70], r14
mov qword [rbp - 0x19], rcx
test r8d, r8d
je 0x140005c9b
cmp dword [r15 + 0x94], 0
je 0x140005c9b
movzx edx, word [r15 + 0x14]
lea r11, [0x14007d510]
movzx eax, word [r15 + 6]
add rdx, 0x18
mov r8d, dword [rcx - 4]
add rdx, r15
lea rcx, [rax + rax*4]
lea r9, [rdx + rcx*8]
cmp rdx, r9
jae 0x140005c9b
nop word [rax + rax]
mov ecx, dword [rdx + 0xc]
cmp r8, rcx
jb 0x140005c92
mov eax, dword [rdx + 8]
add eax, ecx
cmp r8, rax
jb 0x140005cf9
add rdx, 0x28
cmp rdx, r9
jb 0x140005c80
mov eax, 1
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14000c820
add rsp, 0x98
pop r15
pop rbp
ret
mov eax, dword [rdx + 0x14]
sub rax, rcx
lea rcx, [0x14007d520]
add rax, r8
add rcx, rax
jmp 0x140005c14
mov r12d, dword [rdx + 0x14]
sub r12, rcx
add r12, r8
add r12, r11
je 0x140005c9b
mov rdx, r12
mov ecx, r10d
call fcn.1400051b0
xor edx, edx
mov qword [rbp - 9], rax
mov cl, 0x5b
call fcn.140005110
mov edx, 1
mov byte [rbp - 1], al
mov cl, 0x2b
movzx ebx, al
call fcn.140005110
mov edx, 2
mov byte [rbp], al
mov cl, 0x5d
movzx edi, al
call fcn.140005110
mov edx, 3
mov byte [rbp + 1], al
mov cl, 0x20
movzx esi, al
call fcn.140005110
mov edx, 4
mov byte [rbp + 2], al
mov cl, 0x6d
movzx r14d, al
call fcn.140005110
mov edx, 5
mov byte [rbp + 3], al
mov cl, 0x6f
movzx r13d, al
call fcn.140005110
mov edx, 6
mov byte [rbp - 0x29], al
mov cl, 0x64
mov byte [rbp + 4], al
call fcn.140005110
mov edx, 7
mov byte [rbp - 0x28], al
mov cl, 0x75
mov byte [rbp + 5], al
call fcn.140005110
mov edx, 8
mov byte [rbp - 0x27], al
mov cl, 0x6c
mov byte [rbp + 6], al
call fcn.140005110
mov edx, 9
mov byte [rbp - 0x26], al
mov cl, 0x65
mov byte [rbp + 7], al
call fcn.140005110
mov edx, 0xa
mov byte [rbp - 0x25], al
mov cl, 0x5f
mov byte [rbp + 8], al
call fcn.140005110
mov edx, 0xb
mov byte [rbp - 0x24], al
mov cl, 0x6e
mov byte [rbp + 9], al
call fcn.140005110
mov edx, 0xc
mov byte [rbp + 0xa], al
mov cl, 0x61
call fcn.140005110
mov edx, 0xd
mov byte [rbp - 0x23], al
mov cl, 0x6d
mov byte [rbp + 0xb], al
call fcn.140005110
mov edx, 0xe
mov byte [rbp + 0xc], al
mov cl, 0x65
call fcn.140005110
mov edx, 0xf
mov byte [rbp - 0x22], al
mov cl, 0x3a
mov byte [rbp + 0xd], al
call fcn.140005110
mov byte [rbp - 0x21], al
mov edx, 0x10
mov byte [rbp + 0xe], al
mov cl, 0x20
call fcn.140005110
mov edx, 0x11
mov byte [rbp - 0x20], al
mov cl, 0x30
mov byte [rbp + 0xf], al
call fcn.140005110
mov edx, 0x12
mov byte [rbp - 0x1f], al
mov cl, 0x78
mov byte [rbp + 0x10], al
call fcn.140005110
mov byte [rbp - 0x1e], al
mov byte [rbp + 0x11], al
xor eax, eax
mov byte [rbp + 0x12], al
xor edx, edx
nop dword [rax]
movsxd rax, edx
lea rcx, [rbp - 1]
add rcx, rax
lea eax, [rdx + 0x13]
inc edx
xor byte [rcx], al
cmp edx, 0x13
jb 0x140005e70
lea rdx, [rbp - 1]
mov byte [rbp + 0x12], 0
lea rcx, [0x1401019c0]
call fcn.140004760
mov r8, rax
mov rdx, r12
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
mov eax, dword [rcx + r8 + 0x18]
and eax, 0xfffff9ff
bts eax, 0xb
mov dword [rcx + r8 + 0x18], eax
mov rcx, r8
call fcn.140004760
mov rcx, rax
call fcn.14000a160
movzx eax, byte [rbp - 0x29]
mov edx, 0xb
mov byte [rbp + 4], al
mov cl, 0x62
movzx eax, byte [rbp - 0x28]
mov byte [rbp + 5], al
movzx eax, byte [rbp - 0x27]
mov byte [rbp + 6], al
movzx eax, byte [rbp - 0x26]
mov byte [rbp + 7], al
movzx eax, byte [rbp - 0x25]
mov byte [rbp + 8], al
movzx eax, byte [rbp - 0x24]
mov byte [rbp + 9], al
mov byte [rbp - 1], bl
mov byte [rbp], dil
mov byte [rbp + 1], sil
mov byte [rbp + 2], r14b
mov byte [rbp + 3], r13b
call fcn.140005110
mov byte [rbp + 0xa], al
mov edx, 0xd
movzx eax, byte [rbp - 0x23]
mov cl, 0x73
mov byte [rbp + 0xb], al
call fcn.140005110
mov byte [rbp + 0xc], al
movzx eax, byte [rbp - 0x22]
mov byte [rbp + 0xd], al
movzx eax, byte [rbp - 0x21]
mov byte [rbp + 0xe], al
movzx eax, byte [rbp - 0x20]
mov byte [rbp + 0xf], al
movzx eax, byte [rbp - 0x1f]
mov byte [rbp + 0x10], al
movzx eax, byte [rbp - 0x1e]
mov byte [rbp + 0x11], al
xor eax, eax
mov byte [rbp + 0x12], al
xor edx, edx
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 1]
add rcx, rax
lea eax, [rdx + 0x13]
inc edx
xor byte [rcx], al
cmp edx, 0x13
jb 0x140005f60
lea rdx, [rbp - 1]
mov byte [rbp + 0x12], 0
lea rcx, [0x1401019c0]
call fcn.140004760
mov r13, qword [rbp - 9]
mov r8, rax
mov rdx, r13
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
mov eax, dword [rcx + r8 + 0x18]
and eax, 0xfffff9ff
bts eax, 0xb
mov dword [rcx + r8 + 0x18], eax
mov rcx, r8
call fcn.140007c60
mov rcx, rax
call fcn.14000a160
test r13, r13
je 0x1400060f2
mov rax, qword [rbp - 0x19]
movzx edx, word [r15 + 0x14]
add rdx, 0x18
add rdx, r15
mov r8d, dword [rax]
movzx eax, word [r15 + 6]
lea rcx, [rax + rax*4]
lea r9, [rdx + rcx*8]
cmp rdx, r9
jae 0x14000600b
nop dword [rax]
mov ecx, dword [rdx + 0xc]
cmp r8, rcx
jb 0x140006002
mov eax, dword [rdx + 8]
add eax, ecx
cmp r8, rax
jb 0x140006030
add rdx, 0x28
cmp rdx, r9
jb 0x140005ff0
xor r14d, r14d
mov rdi, qword [r14]
test rdi, rdi
je 0x1400060c8
jns 0x140006046
xor edx, edx
mov rcx, r12
lea r8d, [rdx + 1]
call qword [0x14003c1b0]
movzx edx, di
jmp 0x140006096
mov r14d, dword [rdx + 0x14]
lea rax, [0x14007d510]
sub r14, rcx
add r14, r8
add r14, rax
jmp 0x14000600e
movzx eax, word [r15 + 0x14]
movzx ecx, word [r15 + 6]
add rax, 0x18
add rax, r15
lea rdx, [rcx + rcx*4]
lea r8, [rax + rdx*8]
cmp rax, r8
jae 0x14000607f
mov edx, dword [rax + 0xc]
cmp rdi, rdx
jb 0x140006076
mov ecx, dword [rax + 8]
add ecx, edx
cmp rdi, rcx
jb 0x1400060dd
add rax, 0x28
cmp rax, r8
jb 0x140006064
mov esi, 2
xor edx, edx
mov rcx, r12
lea r8d, [rdx + 1]
call qword [0x14003c1b0]
mov rdx, rsi
mov rcx, rax
mov rbx, rax
call qword [0x14003c1e0]
mov rdi, rax
mov rcx, rbx
sub rdi, rbx
call qword [0x14003c1e8]
lea rax, [rdi + r13]
mov qword [r14], rax
add r14, 8
mov rdi, qword [r14]
test rdi, rdi
jne 0x14000601a
mov rcx, qword [rbp - 0x19]
mov r10d, dword [rbp - 0x11]
add rcx, 0x14
mov qword [rbp - 0x19], rcx
jmp 0x140005c51
mov esi, dword [rax + 0x14]
lea rax, [0x14007d512]
sub rsi, rdx
add rsi, rdi
add rsi, rax
jmp 0x140006084
xor eax, eax
jmp 0x140005ca0