Function at 0x140038870
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
mov rbp, rsp
mov eax, dword [0x141dc5180]
xor edx, edx
div dword [0x141dc5184]
mov rsi, rcx
or eax, 0x59b0d51e
cmp eax, 0xc5800a8
jne 0x1400388b0
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
nop word [rax + rax]
mov ecx, dword [0x141dc5188]
and ecx, dword [0x141dc518c]
or ecx, 0x1a250a6
add ecx, 0x378ade84
or ecx, 0xf4e4d2a1
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov rbx, rsp
cmp ecx, 0x7672ca88
je 0x1400388b0
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov rdi, rsp
mov rcx, qword [rsi]
cmp rcx, 0xffffffffffffffff
je 0x140038b43
lea r8, [rcx + 1]
nop word [rax + rax]
mov eax, dword [0x141dc5190]
xor edx, edx
div dword [0x141dc5194]
and eax, 0x94e2ff1c
cmp eax, 0xaf63ecfb
je 0x140038910
lea rax, [rcx + rcx]
nop
mov edx, dword [0x141dc5198]
xor edx, dword [0x141dc519c]
imul rdx, rdx, 0x1cdd159f
shr rdx, 0x3a
or edx, 0x442f55d0
imul edx, edx, 0xc6987dc5
cmp edx, 0x2cb869c9
jb 0x140038930
cmp rax, r8
cmova r8, rax
cmp r8, 9
mov r14d, 8
cmovae r14, r8
test r14, r14
js 0x140038b43
nop dword [rax]
mov eax, dword [0x141dc51a0]
xor edx, edx
div dword [0x141dc51a4]
add eax, 0x7990a1eb
imul rdx, rax, 0x206a305f
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
add eax, 0xc27b68cf
cmp eax, 0xa3c49b91
jb 0x140038980
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400389c0
nop word cs:[rax + rax]
mov eax, dword [0x141dc51a8]
imul eax, dword [0x141dc51ac]
imul eax, eax, 0x3fc970d3
add eax, 0x7f178f7f
xor eax, 0xa304400f
cmp eax, 0xafedb82a
ja 0x1400389d0
test rcx, rcx
je 0x140038a40
xor eax, eax
test al, al
je 0x140038a10
mov rax, qword [rsi + 8]
mov qword [rbx], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc51b0]
add eax, dword [0x141dc51b4]
or eax, 0x187d47b0
add eax, 0x6153e677
mov rdx, qword [rsi + 8]
mov qword [rbx], rdx
cmp eax, 0x416f106f
jb 0x140038a10
mov qword [rbx + 0x10], rcx
mov r15d, 1
jmp 0x140038a43
xor r15d, r15d
mov eax, dword [0x141dc51b8]
mov ecx, dword [0x141dc51bc]
add eax, ecx
add eax, 0xfdcd281c
and eax, 0x9fc1fdcd
add eax, 0xe3b84b9a
cmp eax, 0xb39f3c58
jae 0x140038a90
mov qword [rbx + 8], r15
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.1400374d0
add rsp, 0x20
nop word cs:[rax + rax]
mov r12d, dword [0x141dc51c0]
sub r12d, dword [0x141dc51c4]
xor r12d, 0x32f8f315
add r12d, 0xa4d9dd4e
mov qword [rbx + 8], r15
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.1400374d0
add rsp, 0x20
cmp r12d, 0xa20aacb6
ja 0x140038a90
cmp qword [rdi], 0
jne 0x140038b20
mov eax, 0x9c4fb865
nop word [rax + rax]
mov ecx, dword [0x141dc51e8]
add ecx, dword [0x141dc51ec]
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0x38ac9241
cmp ecx, 0x635fbcc0
je 0x140038ae0
mov rax, qword [rdi + 8]
mov qword [rsi + 8], rax
mov qword [rsi], r14
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dc51c8]
and eax, dword [0x141dc51cc]
or eax, 0x131513ad
xor eax, 0xc7326579
imul eax, eax, 0x80fe0b0c
cmp eax, 0x110b62e7
jb 0x140038b20
mov eax, dword [0x141dc51d0]
sub eax, dword [0x141dc51d4]
and eax, 0x26e09df6
imul eax, eax, 0x916d8c83
and eax, 0xdf7bc9a6
cmp eax, 0x24044457
jne 0x140038b70
ud2
mov eax, dword [0x141dc51d8]
xor eax, dword [0x141dc51dc]
imul eax, eax, 0x880d5df8
or eax, 0x553b8a9e
xor eax, 0xd189d13
ud2