Function at 0x140081700
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov eax, dword [0x141dcc8a8]
xor edx, edx
div dword [0x141dcc8ac]
mov rsi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dcc8b0]
xor edx, edx
div dword [0x141dcc8b4]
imul rax, rax, 0x434a4b97
shr rax, 0x3e
cmp eax, 0xaebe1942
je 0x140081730
mov rbx, qword [rsi + 8]
mov r14, qword [rsi + 0x18]
cmp r14, rbx
je 0x140081894
sub r14, rbx
shr r14, 5
xor r15d, r15d
xor r12d, r12d
jmp 0x14008177c
inc r12
cmp r12, r14
je 0x140081894
mov eax, dword [0x141dcc8b8]
xor edx, edx
div dword [0x141dcc8bc]
xor eax, 0xc0008411
or eax, 0x3bdf61a2
cmp eax, 0x304e240d
je 0x140081880
nop
mov ecx, dword [0x141dcc8c0]
and ecx, dword [0x141dcc8c4]
add ecx, 0xcbbb8a8d
and ecx, 0x86a135c3
mov rdi, r12
shl rdi, 5
mov rax, qword [rbx + rdi]
lock dec qword [rax]
sete al
cmp ecx, 0xf4a8982e
ja 0x140081880
test al, al
je 0x140081770
mov eax, dword [0x141dcc8c8]
xor edx, edx
div dword [0x141dcc8cc]
or eax, 0x95f4ff9b
xor eax, 0x230ebcf2
add eax, 0xd2e42611
cmp eax, 0xb9abcb5e
jbe 0x1400817fe
add rdi, rbx
nop word cs:[rax + rax]
mov eax, dword [0x141dcc8d0]
or eax, dword [0x141dcc8d4]
add eax, 0x8e8d3ab5
or eax, 0x1f679f7f
cmp eax, 0xd5ada1d1
ja 0x140081810
test r15b, r15b
je 0x140081840
mov rcx, rdi
call fcn.140075730
nop word [rax + rax]
mov eax, dword [0x141dcc8d8]
and eax, dword [0x141dcc8dc]
and eax, 0xa18020
or eax, 0x6b126bd3
imul ebp, eax, 0x5f110e60
mov rcx, rdi
call fcn.140075730
cmp ebp, 0xcb192cec
ja 0x140081840
nop dword [rax]
test r15b, r15b
jne 0x140081870
jmp 0x140081770
mov rax, r12
shl rax, 5
mov rax, qword [rbx + rax]
lock dec qword [rax]
jmp 0x1400817a0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400818a0
nop word cs:[rax + rax]
mov eax, dword [0x141dcc8e0]
imul eax, dword [0x141dcc8e4]
add eax, 0x5f3f3d03
or eax, 0xee6099c8
cmp eax, 0xc5d4f997
jb 0x1400818b0
mov rax, qword [rsi + 0x10]
mov ecx, 0xe2f45129
nop word [rax + rax]
mov edx, dword [0x141dcc8e8]
imul edx, dword [0x141dcc8ec]
imul rdx, rcx
shr rdx, 0x3c
imul edx, edx, 0x26cdff47
add edx, 0x251879b6
cmp edx, 0x44cdc6dc
jb 0x1400818e0
test rax, rax
je 0x140081920
mov r8, qword [rsi]
mov rcx, qword [0x141dda6a0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rsi + 0x28]
mov rax, qword [rsi + 0x38]
mov rbx, rax
sub rbx, rdi
shr rbx, 4
nop word cs:[rax + rax]
mov ecx, dword [0x141dcc8f0]
add ecx, dword [0x141dcc8f4]
xor ecx, 0xc214032
and ecx, 0xc754936
xor ecx, 0x577c96d5
cmp ecx, 0xdfefd05a
ja 0x140081940
cmp rax, rdi
je 0x140081a94
xor r14d, r14d
mov r15d, 0xaa849945
mov r12d, 0xa7944f45
mov r13d, 0x91fd55bd
nop word cs:[rax + rax]
mov eax, dword [0x141dcc8f8]
xor edx, edx
div dword [0x141dcc8fc]
xor eax, 0xfab07d60
add eax, 0x520c46db
imul rax, r15
shr rax, 0x3e
cmp eax, 0x454bfd08
ja 0x140081a80
nop dword [rax + rax]
mov edx, dword [0x141dcc900]
add edx, dword [0x141dcc904]
mov rcx, r14
shl rcx, 4
mov rax, qword [rdi + rcx]
lock dec qword [rax]
sete al
cmp edx, 0xe37098bc
je 0x140081a80
test al, al
je 0x140081a20
add rcx, rdi
call fcn.140075730
nop word cs:[rax + rax]
mov eax, dword [0x141dcc908]
xor edx, edx
div dword [0x141dcc90c]
imul eax, eax, 0x7fbf709b
add eax, 0x16a739d6
cmp eax, 0x38095cb7
jb 0x140081a00
inc r14
nop word cs:[rax + rax]
mov eax, dword [0x141dcc910]
or eax, dword [0x141dcc914]
imul rax, r12
shr rax, 0x3f
cmp eax, 0x158e7df0
je 0x140081a30
nop dword [rax + rax]
mov eax, dword [0x141dcc918]
or eax, dword [0x141dcc91c]
or eax, 0x8033affc
imul rax, r13
shr rax, 0x3f
or eax, 0x9ce47d06
cmp eax, 0x9a6ed2cf
jb 0x140081a50
cmp r14, rbx
jne 0x140081990
jmp 0x140081a94
mov rax, r14
shl rax, 4
mov rax, qword [rdi + rax]
lock dec qword [rax]
jmp 0x1400819c0
mov rax, qword [rsi + 0x30]
xor ecx, ecx
nop word [rax + rax]
test cl, cl
jne 0x140081aa0
test rax, rax
je 0x140081b70
mov rsi, qword [rsi + 0x20]
mov eax, dword [0x141dcc920]
add eax, dword [0x141dcc924]
imul eax, eax, 0x583f7d8a
or eax, 0x42000100
and eax, 0x6ba08942
cmp eax, 0x1ea3a68e
jb 0x140081af8
mov eax, dword [0x141dcc928]
sub eax, dword [0x141dcc92c]
add eax, 0x2ae6cfd7
or eax, 0x22ad57e8
mov rdi, qword [0x141dda6a0]
cmp eax, 0x5063f985
jne 0x140081b01
mov rax, qword [0x141dda6a0]
jmp 0x140081ad4
mov eax, dword [0x141dcc930]
xor edx, edx
div dword [0x141dcc934]
xor eax, 0x32010000
and eax, 0x327164cc
cmp eax, 0xef6dd3a
je 0x140081b54
mov ebx, dword [0x141dcc938]
and ebx, dword [0x141dcc93c]
or ebx, 0x473bb673
xor ebx, 0xd00a0ab2
add ebx, 0x4edceded
mov rcx, rdi
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebx, 0x1be7d37e
jae 0x140081b70
mov rcx, rdi
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140081b20
mov eax, dword [0x141dcc940]
xor edx, edx
div dword [0x141dcc944]
add eax, 0x4dd6b481
and eax, 0x56de08f8
cmp eax, 0x7200cb17
ja 0x140081b70
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret