Function at 0x18003d160
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov ebp, dword [rsp + 0xb0]
lea eax, [r8 - 0xb]
mov dword [rsp + 0x40], eax
mov rdi, r9
mov r12, rdx
mov r14, rcx
cmp r8d, eax
jbe case.0x18003d1c9.0
mov r13, qword [rsp + 0x50]
lea r15d, [r8 - 0x53]
mov ecx, eax
lea rdx, [0x180000000]
cmp r15d, 0x25
ja case.default.0x18003d1c9
movzx eax, byte [rdx + r15 + 0x3d45c]
mov ecx, dword [rdx + rax*4 + 0x3d434]
add rcx, rdx
jmp rcx
mov eax, dword [rsp + 0x44]
shr eax, 0xb
xor eax, dword [rsp + 0x44]
imul ecx, eax, 0x8001
mov dword [rsp + 0x44], ecx
jmp case.0x18003d1c9.9
mov rax, qword [rdi]
lea r8, [rsp + 0x48]
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x50]
mov rax, qword [r12]
mov edx, 0xa4
mov qword [rsp + 0x48], rax
call fcn.180050580
mov r8, qword [rdi]
mov rsi, rax
xor eax, eax
mov qword [rsp + 0x20], 0
cmp dword [r14], esi
mov r9d, 0x2b
setne al
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x48], eax
call fcn.1800461d0
mov r8, qword [r12]
mov r9d, 0x2b
xor edx, edx
mov qword [rsp + 0x20], 0
xor ecx, ecx
mov rdi, rax
call fcn.1800461d0
mov ecx, 2
mov rbx, rax
call fcn.18006fed8
mov dword [rsp + 0x30], esi
lea r8, [0x180089687]
mov rcx, rax
mov qword [rsp + 0x28], rdi
xor r9d, r9d
mov qword [rsp + 0x20], rbx
lea rdx, str.Error:_More_than_one_kernels_with_the_size
call fcn.180065e40
mov rdi, qword [rsp + 0xb8]
jmp case.0x18003d1c9.9
mov ebp, dword [rsp + 0x44]
jmp case.0x18003d1c9.9
mov rax, qword [r14]
lea rcx, [rsp + 0x50]
mov r9d, 0xdc
mov qword [rsp + 0x50], rax
mov r8, r12
mov rdx, rdi
call fcn.180033450
mov rbp, rax
jmp case.0x18003d1c9.9
xor ebx, ebx
cmp qword [rdi], rbx
jbe case.0x18003d1c9.9
xor eax, eax
lea rsi, [rax + r12]
mov r8d, 0xc8
movzx eax, byte [rsi]
lea rdx, [rsp + 0xb0]
sar al, 4
xor ecx, ecx
and al, 0xf
mov byte [rsp + 0xb0], al
call fcn.180038800
cmp qword [r14 + 0x18], 0x10
mov rdx, r14
jb 0x18003d305
mov rdx, qword [r14]
lea edi, [rbx + rbx]
mov r8d, 0xc8
mov byte [rdi + rdx], al
xor ecx, ecx
movzx eax, byte [rsi]
lea rdx, [rsp + 0xb0]
and al, 0xf
mov byte [rsp + 0xb0], al
call fcn.180038800
cmp qword [r14 + 0x18], 0x10
mov r8, r14
jb 0x18003d339
mov r8, qword [r14]
lea ecx, [rdi + 1]
inc ebx
mov rdi, qword [rsp + 0xb8]
mov byte [rcx + r8], al
mov eax, ebx
cmp rax, qword [rdi]
jb 0x18003d2d0
jmp case.0x18003d1c9.9
test r12, r12
je 0x18003d368
mov eax, dword [r12 + 4]
test eax, eax
jns 0x18003d36a
xor eax, eax
mov r13d, eax
jmp case.0x18003d1c9.9
mov ebx, dword [rsp + 0x48]
test ebx, ebx
je 0x18003d3b1
mov ecx, 2
call fcn.18006fed8
mov rcx, rax
lea r8, [0x180089687]
mov eax, dword [r14]
lea rdx, str.DbManager:_schema_updated__connhandle_08x_
mov dword [rsp + 0x30], eax
xor r9d, r9d
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], 0
call fcn.180065e40
mov ebp, ebx
jmp case.0x18003d1c9.9
test r12, r12
je 0x18003d3c4
mov r8, qword [r12 + 8]
test r8, r8
jne 0x18003d3c7
xor r8d, r8d
xor edx, edx
xor eax, eax
test r13, r13
je 0x18003d3fd
xor ecx, ecx
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [rcx + r8]
inc edx
add ecx, eax
imul eax, ecx, 0x401
mov ecx, eax
shr ecx, 6
xor eax, ecx
mov ecx, edx
cmp rcx, r13
jb 0x18003d3e0
lea eax, [rax + rax*8]
mov dword [rsp + 0x44], eax
mov ecx, dword [rsp + 0x40]
dec r15d
lea eax, [r15 + 0x53]
cmp eax, ecx
ja 0x18003d1a5
mov rbx, qword [rsp + 0xa0]
mov eax, ebp
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret