Function at 0x140087770
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rbx, r8
mov r15, rdx
mov eax, dword [0x141dcea88]
imul eax, dword [0x141dcea8c]
shr eax, 3
imul rax, rax, 0x95d37c1
shr rax, 0x38
or eax, 0xa22b0a10
imul eax, eax, 0xf188b3fc
cmp eax, 0x646bd18b
jne 0x1400877e0
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x2000
call fcn.1400ef3b0
sub rsp, rax
nop word [rax + rax]
mov eax, dword [0x141dcea90]
and eax, dword [0x141dcea94]
imul eax, eax, 0x4aafeb89
imul rdx, rax, 0x666fa11f
shr rdx, 0x3e
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov r14, rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov r12, rsp
mov eax, 0x2000
call fcn.1400ef3b0
sub rsp, rax
mov rsi, rsp
cmp edx, 0xef509cb5
je 0x1400877e0
nop word cs:[rax + rax]
mov eax, dword [0x141dcea98]
xor edx, edx
div dword [0x141dcea9c]
imul eax, eax, 0x4a7b73cb
cmp eax, 0x74ea6a3b
je 0x140087840
cmp rbx, 0x1001
jb 0x1400879de
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140087870
movzx eax, byte [r15 + 0x1000]
nop dword [rax]
mov edx, dword [0x141dceaa0]
sub edx, dword [0x141dceaa4]
imul edx, edx, 0xd61a275
add edx, 0xcdaac34e
or edx, 0xa3bccb7d
cmp edx, 0x571fab77
jb 0x140087880
mov ebx, 0x1000
cmp al, 0xbf
jg 0x1400879de
nop word cs:[rax + rax]
mov eax, dword [0x141dceaa8]
or eax, dword [str.beC_]
xor eax, 0x4e319082
add eax, 0x25b2e5c5
cmp eax, 0x3a2ba8d7
jb 0x1400878c0
nop dword [rax]
mov eax, dword [0x141dceab0]
or eax, dword [0x141dceab4]
imul eax, eax, 0x6a7e843
or eax, 0xdbbf594b
cmp eax, 0xab821411
je 0x1400878e0
movzx r8d, byte [r15 + 0xfff]
nop word cs:[rax + rax]
mov eax, dword [0x141dceab8]
xor edx, edx
div dword [0x141dceabc]
add eax, 0xef62e4e6
and eax, 0x897056b2
cmp eax, 0xcec91af
je 0x140087910
mov ebx, 0xfff
cmp r8b, 0xbf
jg 0x1400879de
nop
mov edx, dword [0x141dceac0]
and edx, dword [str._b__p]
xor edx, 0xd054f774
add edx, 0x263d95d6
or edx, 0x46db8843
xor ebx, ebx
cmp byte [r15 + 0xffe], 0xc0
setge al
cmp edx, 0x464e6e14
jb 0x140087940
mov bl, al
add rbx, 0xffd
nop dword [rax]
mov eax, dword [0x141dceac8]
and eax, dword [0x141dceacc]
imul eax, eax, 0xda480e38
or eax, 0xca8dc78f
add eax, 0x64c79e4f
cmp eax, 0xaf8fd329
ja 0x140087980
movzx eax, byte [r15 + rbx]
nop dword [rax + rax]
mov edx, dword [0x141dcead0]
add edx, dword [0x141dcead4]
or edx, 0x6539f9ef
imul edx, edx, 0xef92108
add edx, 0x9c9b152c
cmp edx, 0x43be8e39
jb 0x1400879b0
cmp al, 0xbf
jle 0x140087ed3
mov qword [rbp], rcx
mov eax, dword [0x141dcead8]
and eax, dword [0x141dceadc]
mov ecx, 0xa347eea7
imul rcx, rax
shr rcx, 0x3f
xor ecx, 0x86c804f5
imul eax, ecx, 0xfc5dd8e1
cmp eax, 0x63f6764
jne 0x140087a39
sub rsp, 0x30
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x28], 0x1000
mov ecx, 0xfde9
mov edx, 8
mov r8, r15
mov r9d, ebx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add rsp, 0x30
mov r13, qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [0x141dceae0]
mov ecx, dword [0x141dceae4]
add eax, ecx
add eax, 0xcd0ae562
or eax, 0xbd58b59b
imul edi, eax, 0xb6990e2b
sub rsp, 0x30
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x28], 0x1000
mov ecx, 0xfde9
mov edx, 8
mov r8, r15
mov r9d, ebx
call r13
add rsp, 0x30
cmp edi, 0xebca13a7
je 0x140087a40
test eax, eax
je 0x140087d5f
movsxd r13, eax
nop dword [rax]
mov ecx, dword [0x141dceaf0]
xor ecx, dword [0x141dceaf4]
imul ecx, ecx, 0xe01e0759
cmp ecx, 0xe3e03319
je 0x140087aa0
cmp eax, 0x1000
mov rdi, qword [rbp]
ja 0x140087ecb
add al, byte [rax + rax]
invalid
mov dword [r12], 0
ud2
xor eax, eax
test al, al
je 0x140087ed5
jmp 0x140087efb
ud2
ud2