Function at 0x140107650
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov r9, rdx
mov rsi, rcx
mov eax, dword [0x141f46cf0]
xor edx, edx
div dword [0x141f46cf4]
imul rcx, rax, 0x1075c133
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
add eax, 0x717f682d
cmp eax, 0x339edd08
jb 0x1401076ca
mov edx, dword [0x141f46cf8]
xor edx, dword [0x141f46cfc]
add edx, 0x47ee6b4a
xor edx, 0xcfd91801
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rdi, rsp
mov rax, r9
add rax, r8
setb cl
cmp edx, 0xb1f963ba
jae 0x1401076d9
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
jmp 0x140107691
test cl, cl
jne 0x1401079d4
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1401076f0
mov r8, qword [rsi]
movabs rdx, 0x7ffffffffffffffe
lea rcx, [r8 + r8]
mov r9d, 4
nop dword [rax + rax]
mov r10d, dword [0x141f46d00]
and r10d, dword [0x141f46d04]
imul r10d, r10d, 0x55787f53
or r10d, 0xfd5b41bc
imul r10d, r10d, 0x8e063e27
cmp rcx, rax
mov rbx, rax
cmova rbx, rcx
cmp rbx, 5
cmovb rbx, r9
cmp r10d, 0x54b5e910
jb 0x140107710
test rbx, rbx
js 0x1401079d4
lea r9, [rbx + rbx]
cmp r9, rdx
ja 0x1401079d4
mov eax, dword [0x141f46d08]
xor edx, edx
div dword [0x141f46d0c]
nop word cs:[rax + rax]
mov eax, dword [0x141f46d10]
or eax, dword [0x141f46d14]
and eax, 0xa1429034
cmp eax, 0x1e11a18f
je 0x140107780
mov eax, dword [0x141f46d18]
xor edx, edx
div dword [0x141f46d1c]
nop word cs:[rax + rax]
mov eax, dword [0x141f46d20]
and eax, dword [0x141f46d24]
or eax, 0xfdca45ff
imul rax, rax, 0x48b3498d
shr rax, 0x3e
cmp eax, 0xd024c59d
ja 0x1401077b0
nop word cs:[rax + rax]
mov eax, dword [0x141f46d28]
sub eax, dword [0x141f46d2c]
add eax, 0x8b7dd147
or eax, 0xb6dc132f
cmp eax, 0x8b719564
je 0x1401077e0
test r8, r8
je 0x140107863
mov eax, dword [0x141f46d30]
xor edx, edx
div dword [0x141f46d34]
mov eax, dword [0x141f46d38]
xor eax, dword [0x141f46d3c]
xor eax, 0x4a800108
or eax, 0x905ff687
add eax, 0x1bae2dc4
cmp eax, 0x6e595069
ja 0x140107810
mov rax, qword [rsi + 8]
mov edx, dword [0x141f46d40]
or edx, dword [0x141f46d44]
add edx, 0x404007fc
xor edx, 0xaca8932c
imul rdx, rdx, 0x22d73c1f
shr rdx, 0x3c
cmp edx, 0x1532f559
jbe 0x14010786a
jmp 0x140107894
xor eax, eax
jmp 0x1401078eb
mov edx, dword [0x141f46d48]
add edx, dword [0x141f46d4c]
and edx, 0x10006000
or edx, 0x4f749bfe
imul edx, edx, 0x11e0dbd1
mov qword [rbp - 0x10], rax
cmp edx, 0x48b3fbd
jae 0x14010789a
mov qword [rbp - 0x10], rax
jmp 0x14010786a
mov eax, dword [0x141f46d50]
xor edx, edx
div dword [0x141f46d54]
or eax, 0xe40e2cbd
and eax, 0xfc1e3fbf
cmp eax, 0x99360e3
je 0x1401078e0
mov eax, dword [0x141f46d58]
xor eax, dword [0x141f46d5c]
imul eax, eax, 0x74e338da
xor eax, 0xfb39f24c
add eax, 0xce3b3a7c
mov qword [rbp], rcx
cmp eax, 0xd9a9ac7b
jbe 0x1401078e6
mov qword [rbp], rcx
jmp 0x1401078b9
mov eax, 2
mov qword [rbp - 8], rax
sub rsp, 0x20
lea r8, [rbp - 0x10]
mov rcx, rdi
mov rdx, r9
call fcn.1400e37d0
add rsp, 0x20
cmp qword [rdi], 0
jne 0x1401079c2
mov eax, dword [0x141f46d60]
or eax, dword [0x141f46d64]
add eax, 0xf662b2a7
or eax, 0xea6d1d9a
cmp eax, 0xb9a59a62
jb 0x140107910
mov eax, dword [0x141f46d68]
xor edx, edx
div dword [0x141f46d6c]
nop dword [rax + rax]
mov eax, dword [0x141f46d70]
xor edx, edx
div dword [0x141f46d74]
add eax, 0x8ffe0d32
and eax, 0x4304c655
cmp eax, 0x29b8edd8
ja 0x140107940
mov rcx, qword [rdi + 8]
mov eax, dword [0x141f46d78]
xor edx, edx
div dword [0x141f46d7c]
imul eax, eax, 0x4d5f386c
cmp eax, 0x2ba7f284
jne 0x140107990
mov qword [rsi + 8], rcx
mov qword [rsi], rbx
nop word cs:[rax + rax]
mov eax, dword [0x141f46d80]
xor eax, dword [0x141f46d84]
add eax, 0xf2eba1c6
or eax, 0x8da68cd5
xor eax, 0x3a954c0d
mov qword [rsi + 8], rcx
mov qword [rsi], rbx
cmp eax, 0xb21084f6
jb 0x140107990
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop rbp
ret
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1401079d0
ud2