Function at 0x140081900
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov eax, dword [0x141dcdc00]
xor edx, edx
div dword [str..f4U_r]
cmp eax, 0xbe68d4ed
je 0x140081910
mov rdi, qword [rsi + 8]
mov rbx, qword [rsi + 0x18]
sub rbx, rdi
je 0x140081a00
shr rbx, 5
xor r14d, r14d
xor r15d, r15d
mov rcx, r15
shl rcx, 5
mov rax, qword [rdi + rcx]
lock dec qword [rax]
jne 0x1400819a9
mov eax, dword [0x141dcdc08]
and eax, dword [0x141dcdc0c]
add rcx, rdi
and eax, 0xbaa56f18
add eax, 0xfd4765e7
cmp eax, 0x3be66343
ja 0x1400819f0
nop word cs:[rax + rax]
mov eax, dword [0x141dcdc10]
mov edx, dword [0x141dcdc14]
add eax, edx
add eax, 0x19316150
xor eax, 0x240cece7
add eax, 0x672cc63b
cmp eax, 0x276cd2b
jb 0x1400819f0
call fcn.140075240
inc r15
nop dword [rax]
mov eax, dword [0x141dcdc18]
sub eax, dword [0x141dcdc1c]
xor eax, 0x9a06d388
imul rax, rax, 0x7177a23f
shr rax, 0x3e
or eax, 0x8d921e1c
cmp eax, 0x1d09ee19
jb 0x1400819b0
nop dword [rax + rax]
test r14b, r14b
jne 0x1400819e0
cmp r15, rbx
jne 0x140081940
jmp 0x140081a00
jmp 0x140081980
mov eax, dword [0x141dcdc20]
or eax, dword [0x141dcdc24]
xor eax, 0xdc27586e
imul eax, eax, 0x313b4491
add eax, 0x4d589c12
cmp eax, 0x99ab21fa
jb 0x140081a00
mov rax, qword [rsi + 0x10]
nop word [rax + rax]
mov ecx, dword [0x141dcdc28]
and ecx, dword [0x141dcdc2c]
and ecx, 0x13990880
imul ecx, ecx, 0x458744f1
cmp ecx, 0xec606545
je 0x140081a30
test rax, rax
je 0x140081af0
mov rdi, qword [rsi]
mov rbx, qword [0x141ddb9a0]
xor eax, eax
test al, al
je 0x140081a77
mov rcx, rbx
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [sym.imp.KERNEL32.dll_HeapFree]
nop
mov eax, dword [0x141dcdc30]
xor edx, edx
div dword [0x141dcdc34]
xor eax, 0x4cce6360
imul r15, rax, 0x3114443b
shr r15, 0x3d
xor r15d, 0x3a368a7d
mov rcx, rbx
xor edx, edx
mov r8, rdi
call r14
cmp r15d, 0xf02e1f8a
ja 0x140081a80
nop dword [rax]
mov eax, dword [0x141dcdc38]
sub eax, dword [0x141dcdc3c]
imul eax, eax, 0x8203698c
imul rcx, rax, 0x12da83c3
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0x30c39ce4
je 0x140081ac0
nop dword [rax]
mov eax, dword [0x141dcdc40]
add eax, dword [0x141dcdc44]
cmp eax, 0xb0995a0e
je 0x140081af0
nop word cs:[rax + rax]
mov eax, dword [0x141dcdc48]
xor eax, dword [0x141dcdc4c]
imul rax, rax, 0x10a17899
shr rax, 0x3c
imul eax, eax, 0xd2d2d813
cmp eax, 0x2b5529a0
ja 0x140081b10
mov rdi, qword [rsi + 0x28]
mov rbx, qword [rsi + 0x38]
sub rbx, rdi
je 0x140081bfe
shr rbx, 4
xor r14d, r14d
mov r15d, 0xc16769cf
xor r12d, r12d
nop word cs:[rax + rax]
mov rcx, r12
shl rcx, 4
mov rax, qword [rdi + rcx]
lock dec qword [rax]
jne 0x140081bc7
mov eax, dword [0x141dcdc50]
and eax, dword [0x141dcdc54]
add eax, 0x2157a988
or eax, 0x43f10e34
cmp eax, 0xb15d809e
jne 0x140081b8e
add rcx, rdi
nop word cs:[rax + rax]
mov eax, dword [0x141dcdc58]
and eax, dword [0x141dcdc5c]
xor eax, 0x45420d4c
add eax, 0x9dd02faa
or eax, 0xa9ffc235
cmp eax, 0x9ae4ff95
jb 0x140081ba0
call fcn.140075240
inc r12
nop word [rax + rax]
mov eax, dword [0x141dcdc60]
and eax, dword [0x141dcdc64]
imul rax, r15
shr rax, 0x3d
add eax, 0xc7b5cf15
cmp eax, 0x95f0b600
jb 0x140081bd0
test r14b, r14b
jne 0x140081bf0
cmp r12, rbx
jne 0x140081b60
mov eax, 0x800844d3
nop word cs:[rax + rax]
mov ecx, dword [0x141dcdc68]
sub ecx, dword [0x141dcdc6c]
imul rcx, rax
shr rcx, 0x3d
xor ecx, 0x26975232
add ecx, 0x825c8ba8
cmp ecx, 0x7849698b
jb 0x140081c10
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140081c40
mov rax, qword [rsi + 0x30]
nop dword [rax + rax]
mov ecx, dword [0x141dcdc70]
imul ecx, dword [0x141dcdc74]
or ecx, 0x48280155
and ecx, 0xfb2b0bd7
imul ecx, ecx, 0x67cd9d0a
cmp ecx, 0xe9a53df5
je 0x140081c50
test rax, rax
je 0x140081d48
mov eax, dword [0x141dcdc78]
or eax, dword [0x141dcdc7c]
xor eax, 0xb2ba8d2c
imul eax, eax, 0xf2b43de0
cmp eax, 0x8589fba5
ja 0x140081cd4
mov eax, dword [0x141dcdc80]
xor eax, dword [0x141dcdc84]
mov ecx, 0x8a1a78e3
imul rcx, rax
shr rcx, 0x3c
imul eax, ecx, 0xc252c487
add eax, 0xc3e99964
mov rdi, qword [rsi + 0x20]
mov rbx, qword [0x141ddb9a0]
cmp eax, 0x13d76ff
jae 0x140081cdd
mov rax, qword [0x141ddb9a0]
jmp 0x140081c9e
mov eax, dword [0x141dcdc88]
and eax, dword [0x141dcdc8c]
add eax, 0x62181e23
xor eax, 0x819e51b9
add eax, 0x589fd9ec
cmp eax, 0xccce04a3
ja 0x140081d14
xor esi, esi
mov rcx, rbx
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
test sil, sil
je 0x140081d30
mov rcx, rbx
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140081cff
mov eax, dword [0x141dcdc90]
add eax, dword [0x141dcdc94]
or eax, 0xfe67fbf
cmp eax, 0x14f8a545
je 0x140081d30
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret