Function at 0x140037de0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, qword [rcx]
cmp rsi, 0
je 0x1400381fb
mov rdi, qword [rcx + 0x10]
mov rbx, qword [rcx + 8]
cmp rdi, 0
je 0x140037e12
xor r15d, r15d
jmp 0x140037ea0
cmp rbx, 0
jne 0x140037e1d
jmp 0x140037f51
mov rcx, rbx
and rcx, 7
cmp rcx, 0
jne 0x140037e2f
mov rax, rbx
jmp 0x140037e4c
xor edx, edx
mov rax, rbx
jmp 0x140037e36
mov rsi, qword [rsi + 0x3d8]
add rax, 0xffffffffffffffff
add rdx, 1
cmp rdx, rcx
jne 0x140037e36
jmp 0x140037e4c
cmp rbx, 8
jb 0x140037f51
jmp 0x140037e58
mov rcx, qword [rsi + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rsi, qword [rcx + 0x3d8]
add rax, 0xfffffffffffffff8
cmp rax, 0
je 0x140037f4a
jmp 0x140037e58
add rdi, 0xffffffffffffffff
cmp r15, 0
je 0x140037eb5
mov rcx, rsi
mov rsi, r15
jmp 0x140037fcb
xor ecx, ecx
cmp rbx, 0
jne 0x140037ec4
xor ebx, ebx
jmp 0x140037fcb
mov rcx, rbx
and rcx, 7
cmp rcx, 0
jne 0x140037ed6
mov rax, rbx
jmp 0x140037ef3
xor edx, edx
mov rax, rbx
jmp 0x140037edd
mov rsi, qword [rsi + 0x3d8]
add rax, 0xffffffffffffffff
add rdx, 1
cmp rdx, rcx
jne 0x140037edd
jmp 0x140037ef3
xor ecx, ecx
cmp rbx, 8
mov ebx, 0
jb 0x140037fcb
jmp 0x140037f06
mov rcx, qword [rsi + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rsi, qword [rcx + 0x3d8]
add rax, 0xfffffffffffffff8
cmp rax, 0
je 0x140037fc5
jmp 0x140037f06
jmp 0x140037f51
mov rsi, r15
jmp 0x140037f51
mov rax, qword [rsi + 0x160]
mov edx, 0x3d8
cmp rax, 0
jne 0x140037f65
jmp 0x140037fb2
xor edi, edi
jmp 0x140037f69
mov r8, rdi
mov rcx, rsi
mov rsi, rax
add rdi, 1
mov edx, 0x438
mov eax, 0x3d8
cmp r8, 0
cmove rdx, rax
mov r8d, 8
call fcn.140044c20
mov rax, qword [rsi + 0x160]
cmp rax, 0
jne 0x140037f69
mov edx, 0x438
mov eax, 0x3d8
cmp rdi, 0
cmove rdx, rax
mov rcx, rsi
mov r8d, 8
call fcn.140044c20
jmp 0x1400381fb
xor ecx, ecx
xor ebx, ebx
jmp 0x140037fcb
movzx eax, word [rsi + 0x3d2]
cmp rbx, rax
jae 0x140037fe2
mov r12, rbx
mov r13, rcx
mov r14, rsi
jmp 0x14003805e
jmp 0x140037fe4
mov eax, dword [0x1400c5850]
xor eax, dword [0x1400c5854]
add eax, 0x87879f8c
sub eax, 0x18b5836f
mov r8d, 0x69cacb47
xor edx, edx
div r8d
cmp eax, 0x6063c8b
ja 0x14003820b
jmp 0x140038012
mov eax, dword [0x1400c5858]
add eax, dword [str.OQ0]
xor eax, 0xfdf805f8
mov r8d, 0xe59910cd
xor edx, edx
div r8d
imul edx, eax, 0xda6cfe59
mov r14, qword [rsi + 0x160]
cmp r14, 0
sete al
cmp edx, 0x78059578
je 0x140038012
test al, 1
jne 0x140038152
jmp 0x14003810b
movzx r12d, bx
mov rbx, r12
add rbx, 1
cmp r13, 0
jne 0x140038070
mov r15, r14
jmp 0x140038177
mov r15, qword [r14 + rbx*8 + 0x3d8]
mov rax, r13
add rax, 0xffffffffffffffff
xor ebx, ebx
cmp rax, 0
jne 0x14003808c
jmp 0x140038177
add r13, 0xfffffffffffffffe
mov rcx, rax
and rcx, 7
cmp rcx, 0
jne 0x14003809f
jmp 0x1400380b9
xor edx, edx
jmp 0x1400380a3
mov r15, qword [r15 + 0x3d8]
add rax, 0xffffffffffffffff
add rdx, 1
cmp rdx, rcx
jne 0x1400380a3
jmp 0x1400380b9
xor ebx, ebx
cmp r13, 7
jb 0x140038177
jmp 0x1400380c7
mov rcx, qword [r15 + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov r15, qword [rcx + 0x3d8]
add rax, 0xfffffffffffffff8
cmp rax, 0
je 0x140038173
jmp 0x1400380c7
mov r13, rcx
add r13, 1
mov bx, word [rsi + 0x3d0]
mov edx, 0x438
mov eax, 0x3d8
cmp rcx, 0
cmove rdx, rax
mov rcx, rsi
mov r8d, 8
call fcn.140044c20
cmp bx, word [r14 + 0x3d2]
mov rsi, r14
mov rcx, r13
jb 0x140038057
jmp 0x140037fe4
test rcx, rcx
mov eax, 0x3d8
mov edx, 0x438
cmove rdx, rax
mov rcx, rsi
mov r8d, 8
call fcn.140044c20
ud2
xor ebx, ebx
jmp 0x140038177
mov rsi, r14
add rsi, 0x168
imul rax, r12, 0x38
add rsi, rax
mov rdx, qword [rsi]
cmp rdx, 0
je 0x1400381a0
mov rcx, qword [rsi + 8]
mov r8d, 1
call fcn.140044c20
mov rdx, qword [rsi + 0x20]
cmp rdx, 0
je 0x1400381bc
mov rcx, qword [rsi + 0x28]
shl rdx, 1
mov r8d, 2
call fcn.140044c20
shl r12, 5
add r14, r12
mov rdx, qword [r14]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x1400381ea
cmp rdx, 0
je 0x1400381ea
mov rcx, qword [r14 + 8]
mov r8d, 1
call fcn.140044c20
xor esi, esi
cmp rdi, 0
je 0x140037f4c
jmp 0x140037ea0
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
neg dword [rbp + 0x2645b9ff]
sbb al, 0xc
jmp 0x140038010