Function at 0x140085030
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x10
lea rbp, [rsp + 0x10]
mov rsi, rcx
mov eax, dword [0x141dccf10]
and eax, dword [0x141dccf14]
imul rax, rax, 0x65cf86e5
shr rax, 0x3e
not eax
and eax, 0x17048109
cmp eax, 0x10f03690
jae 0x140085081
mov eax, 0x30
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
xor ecx, ecx
nop word cs:[rax + rax]
mov eax, 0x30
call fcn.1400eeec0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov rbx, rsp
test cl, cl
jne 0x140085090
mov eax, 0x8983afe5
nop dword [rax]
mov ecx, dword [0x141dccf18]
sub ecx, dword [0x141dccf1c]
or ecx, 0xd1d084c0
imul rcx, rax
shr rcx, 0x3e
or ecx, 0x673a5bdc
cmp ecx, 0xc6f07cd2
ja 0x1400850c0
mov r14, qword [rsi + 0x28]
mov eax, dword [0x141dda6bc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x98]
cmp eax, 1
jne 0x1400851ae
nop
mov eax, dword [0x141dccf50]
xor eax, dword [0x141dccf54]
and eax, 0xa05313a
add eax, 0x3d5bfda8
and eax, 0x247d5108
cmp eax, 0xa488067a
ja 0x140085110
mov eax, dword [0x141dda6bc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x90]
nop dword [rax]
mov ecx, dword [0x141dccf58]
and ecx, dword [0x141dccf5c]
add ecx, 0x56890c70
xor ecx, 0x90413257
imul ecx, ecx, 0x4a72ec
cmp ecx, 0xd9e75b51
je 0x140085150
test rax, rax
jne 0x1400851c9
mov eax, dword [0x141dda6bc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x90], rsi
mov qword [rax + 0x88], r14
xor eax, eax
nop
test al, al
jne 0x1400851a0
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
test rax, rax
jne 0x14008531c
sub rsp, 0x20
call fcn.1400fab70
add rsp, 0x20
jmp 0x140085110
mov eax, dword [0x141dccf60]
xor edx, edx
div dword [0x141dccf64]
or eax, 0x53617853
xor eax, 0xe89ec65f
imul ecx, eax, 0x42a1d6da
lea rax, [0x141db8418]
cmp ecx, 0xe24c658f
jbe 0x140085210
mov dword [rbx], 0
mov byte [rbx + 4], 0
mov qword [rdi], rax
nop word cs:[rax + rax]
mov ecx, dword [0x141dccf68]
and ecx, dword [0x141dccf6c]
add ecx, 0xc3d8f78b
and ecx, 0xf5ad6f69
add ecx, 0x59c3f43
mov dword [rbx], 0
mov byte [rbx + 4], 0
mov qword [rdi], rax
cmp ecx, 0x6ef0a800
jb 0x140085210
mov qword [rdi + 8], 1
mov qword [rdi + 0x20], 0
mov eax, dword [0x141dccf70]
add eax, dword [0x141dccf74]
imul rcx, rax, 0x29e67d71
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x17
xor eax, 0x2100006
or eax, 0xa88b7ca9
lea rsi, [rbp - 8]
cmp eax, 0x71d9f84e
jae 0x1400852c0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 0
sub rsp, 0x20
mov rcx, rbx
mov rdx, rdi
call fcn.1400881b0
mov rcx, rax
call fcn.1400884c0
add rsp, 0x20
mov ecx, 7
int 0x29
nop word cs:[rax + rax]
mov r14d, dword [0x141dccf78]
and r14d, dword [0x141dccf7c]
or r14d, 0x9fbf36d8
add r14d, 0xd22aa27b
xor r14d, 0xe0fe87e3
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 0
sub rsp, 0x20
mov rcx, rbx
mov rdx, rdi
call fcn.1400881b0
mov rcx, rax
call fcn.1400884c0
add rsp, 0x20
mov ecx, 7
int 0x29
cmp r14d, 0xd422124
jb 0x1400852c0
jmp 0x14008536a
cmp eax, 2
jne 0x14008534d
mov eax, dword [0x141dccf28]
imul eax, dword [0x141dccf2c]
imul rax, rax, 0x6d11e557
shr rax, 0x3d
imul eax, eax, 0xc07ca09b
add eax, 0xa3f8792d
cmp eax, 0x47687360
jbe 0x14008536c
jmp 0x140085394
mov eax, dword [0x141dccf20]
and eax, dword [0x141dccf24]
or eax, 0xb6fb39de
add eax, 0x6777125a
cmp eax, 0xa2fe3f65
ja 0x14008534d
ud2
mov eax, dword [0x141dccf30]
xor edx, edx
div dword [0x141dccf34]
xor eax, 0xee342007
imul ecx, eax, 0xf6ffc041
lock dec qword [rsi]
sete al
cmp ecx, 0xaf6e1d4
jae 0x14008539a
lock dec qword [rsi]
jmp 0x14008536c
test al, al
je 0x140085404
mov eax, dword [0x141dccf38]
xor edx, edx
div dword [0x141dccf3c]
or eax, 0xecd25bc7
cmp eax, 0x61a6b1ab
jne 0x1400853b8
mov eax, dword [0x141dccf40]
and eax, dword [0x141dccf44]
imul eax, eax, 0x421945a5
add eax, 0x9abc261d
cmp eax, 0x72e82e12
jb 0x1400853b8
sub rsp, 0x20
mov rcx, rsi
call fcn.140076300
add rsp, 0x20
mov eax, dword [0x141dccf48]
add eax, dword [0x141dccf4c]
or eax, 0x29bd38bb
imul eax, eax, 0x6b41fa38
cmp eax, 0x903855b3
je 0x1400853e6
mov eax, dword [0x141dccf80]
sub eax, dword [0x141dccf84]
xor eax, 0x85761000
or eax, 0x3889ef7d
imul eax, eax, 0x777b9513
cmp eax, 0x94ffe846
jae 0x140085429
ud2
mov eax, dword [0x141dccf88]
xor eax, dword [0x141dccf8c]
imul eax, eax, 0x7b6976c8
add eax, 0x6b273a2c
ud2