Function at 0x140080f60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
mov rbp, rsp
xor eax, eax
test al, al
je 0x140080fb0
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
sub rsp, 0x20
lea rdx, [0x140131320]
xor ecx, ecx
call fcn.14020c0e0
add rsp, 0x20
lea rdi, [0x140131320]
mov r15, qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
nop
mov eax, dword [0x14158dc78]
mov ecx, dword [0x14158dc7c]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
mov ecx, eax
and ecx, 0xeb95b7a
or eax, 0xeb95b7a
add eax, ecx
mov ecx, eax
and ecx, 0x6ae5823f
add ecx, ecx
sub eax, ecx
lea ecx, [rax + 0x6ae5823f]
not ecx
or ecx, 0xe2a4538d
lea r12d, [rax + rcx]
add r12d, 0x6ae58240
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov r14, rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov rbx, rsp
sub rsp, 0x20
xor ecx, ecx
mov rdx, rdi
call r15
add rsp, 0x20
cmp r12d, 0xc58e9251
ja 0x140080fc0
xor eax, eax
test al, al
jne 0x1400810e1
mov r15d, dword [0x14158dc80]
imul r15d, dword [0x14158dc84]
add r15d, 0x34ce0763
mov eax, r15d
not eax
and eax, 0xd8fd905a
mov ecx, r15d
and ecx, 0x27026fa5
imul ecx, eax
mov eax, r15d
and eax, 0xd8fd905a
or r15d, 0xd8fd905a
imul r15d, eax
add r15d, ecx
xor r15d, 0x57a80b70
mov dword [rbx], 0x5000
sub rsp, 0x20
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetThreadStackGuarantee]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
add rsp, 0x20
cmp r15d, 0xcffdc8cf
jbe 0x140081103
mov dword [rbx], 0x5000
sub rsp, 0x20
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetThreadStackGuarantee]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
add rsp, 0x20
jmp 0x140081072
mov rdi, rax
xor eax, eax
test al, al
je 0x140081142
mov rax, qword [0x141585008]
sub rsp, 0x20
lea rdx, [0x141578e00]
mov rcx, rdi
call rax
add rsp, 0x20
movzx eax, byte [0x1415acbd0]
sub rsp, 0x20
mov edx, 0x38
xor ecx, ecx
call fcn.14020ae90
add rsp, 0x20
lea rbx, [0x141578e00]
nop dword [rax]
mov eax, dword [0x14158dc88]
add eax, dword [0x14158dc8c]
imul rax, rax, 0x3d16d7eb
shr rax, 0x3d
or eax, 0x87d4252c
imul r15, rax, 0x1f1578a9
shr r15, 0x3b
mov rax, qword [0x141585008]
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
call rax
add rsp, 0x20
movzx eax, byte [0x1415acbd0]
sub rsp, 0x20
mov edx, 0x38
xor ecx, ecx
call fcn.1401ac910
add rsp, 0x20
cmp r15d, 0xcee640ff
ja 0x140081150
mov rcx, rax
test rax, rax
je 0x140081215
mov qword [rcx], 1
mov qword [rcx + 8], 1
mov eax, dword [0x14158dc98]
add eax, dword [0x14158dc9c]
or eax, 0x516d6886
add eax, 0x7d8351d7
mov edx, eax
not edx
mov r8d, eax
and r8d, 0xc51288b3
and edx, 0x3ae17748
imul edx, r8d
mov r8d, eax
and r8d, 0x3ae1774c
or eax, 0x3ae1774c
imul eax, r8d
add eax, edx
cmp eax, 0x569ed71e
jne 0x14008126c
jmp 0x14008127a
ud2
mov qword [rcx + 0x10], 0
xor eax, eax
test al, al
je 0x140081284
mov qword [rcx + 0x10], 0
jmp 0x14008126c
mov eax, dword [0x14158dca0]
mov edx, dword [0x14158dca4]
add eax, edx
add eax, 0x78e12907
xor eax, 0x6f34f2da
imul rdx, rax, 0x5f4f7841
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x1e25526f
jne 0x1400812c0
mov rax, qword [0x1415acb90]
nop
mov eax, dword [0x14158dca8]
imul eax, dword [0x14158dcac]
mov edx, eax
not edx
and edx, 0xcbe8aef2
and eax, 0x3417510d
sub eax, edx
add eax, 0x1dbbdd36
mov edx, eax
xor edx, 0xdbd98529
or eax, 0x24267ad6
and eax, edx
mov rdx, qword [0x1415acb90]
cmp eax, 0x3bce20e7
ja 0x1400812c0
xor r8d, r8d
nop word cs:[rax + rax]
cmp rdx, 0xffffffffffffffff
je 0x1400814b4
test r8b, r8b
je 0x140081330
lea r9, [rdx + 1]
mov rax, rdx
lock cmpxchg qword [0x1415acb90], r9
nop
mov eax, dword [0x14158dcb0]
mov r9d, dword [0x14158dcb4]
mov r10d, r9d
not r10d
mov r11d, eax
and r11d, r10d
or r10d, eax
not r10d
imul r10d, r11d
mov r11d, eax
and r11d, r9d
or eax, r9d
imul eax, r11d
lea r11d, [rax + r10]
add r11d, 0x1fd477db
imul rax, r11, 0x26826909
shr rax, 0x20
sub r11d, eax
shr r11d, 1
add r11d, eax
shr r11d, 0x1f
lea r9, [rdx + 1]
mov rax, rdx
lock cmpxchg qword [0x1415acb90], r9
sete r10b
cmp r11d, 0xc02b4188
ja 0x140081330
mov rdx, rax
nop word cs:[rax + rax]
test r8b, r8b
jne 0x1400813b0
test r10b, r10b
je 0x140081310
mov qword [rcx + 0x28], r9
mov byte [rcx + 0x30], 0
sub rsp, 0x20
call fcn.140132870
call fcn.14020c0c0
add rsp, 0x20
mov eax, dword [0x1415acb28]
cmp eax, 4
jne 0x140081430
nop word cs:[rax + rax]
mov eax, dword [0x14158dcd8]
imul eax, dword [0x14158dcdc]
add eax, 0x131d1d9f
mov ecx, eax
and ecx, 0x2868a2af
and eax, 0x2820808c
add eax, eax
sub ecx, eax
cmp ecx, 0x8b417f33
je 0x1400813f0
xor eax, eax
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x14158dcc8]
or eax, dword [0x14158dccc]
mov ecx, eax
and ecx, 0x47c9585f
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xc7c9585f
or eax, 0xf59ddc5
mov ecx, eax
xor ecx, 0xac34e02f
and ecx, eax
cmp ecx, 0x3ae7f144
je 0x140081430
mov byte [r14], 1
mov qword [rsi], r14
sub rsp, 0x20
mov rcx, rsi
call fcn.140234430
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x14158dcd0]
mov ecx, dword [0x14158dcd4]
not eax
not ecx
or ecx, eax
not ecx
imul eax, ecx, 0x4a6c2167
mov ecx, 0x3226d96a
sub ecx, eax
and ecx, 0x383319ed
cmp ecx, 0x1cdeea8c
ja 0x140081480
jmp 0x1400813f0
mov eax, dword [0x14158dcb8]
or eax, dword [0x14158dcbc]
add eax, 0x17f129bd
cmp eax, 0xae56c1ec
ja 0x1400814d4
ud2
ud2