Function at 0x1400219d0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
nop word [rax + rax]
mov eax, dword [str.6_b8__]
add eax, dword [0x140210014]
or eax, 0x88158f0b
xor eax, 0xd25d4304
imul rax, rax, 0x6c8eb7e7
shr rax, 0x3d
cmp eax, 0x3749fd25
ja 0x1400219e0
mov rcx, qword [rsi + 0x10]
call fcn.14014f1d0
nop word cs:[rax + rax]
mov ecx, dword [0x140210018]
mov edx, dword [0x14021001c]
mov r8d, ecx
and r8d, edx
xor ecx, edx
lea ecx, [rcx + r8*2]
mov edx, ecx
and edx, 0x762e9821
xor ecx, 0x762e9821
lea ecx, [rcx + rdx*2]
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x6999d9f9
and edx, 0x96662606
imul edx, r8d
mov r8d, ecx
and r8d, 0x96662606
or ecx, 0x96662606
imul ecx, r8d
add ecx, edx
cmp ecx, 0x6ff0c086
je 0x140021a20
test eax, eax
jne 0x140021b98
mov eax, dword [0x140210020]
xor edx, edx
div dword [0x140210024]
mov ecx, eax
not ecx
and ecx, 0x1f45bc2c
and eax, 0xe0ba43d3
sub eax, ecx
add eax, 0x78221415
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x9357cc85
and ecx, 0x6ca8337a
imul ecx, edx
mov edx, eax
and edx, 0x6ca8337a
or eax, 0x6ca8337a
imul eax, edx
add eax, ecx
cmp eax, 0x62ced7ad
jae 0x140021adf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
nop word cs:[rax + rax]
mov eax, dword [0x140210028]
sub eax, dword [0x14021002c]
mov ecx, eax
not ecx
and ecx, 0xee1035c1
mov edx, eax
and edx, 0x11efca3e
imul edx, ecx
mov ecx, eax
and ecx, 0xee1035c1
or eax, 0xee1035c1
imul eax, ecx
add eax, edx
add eax, 0x272ddf52
imul rbx, rax, 0x14636ceb
shr rbx, 0x3a
call rdi
cmp ebx, 0xf810cf0
ja 0x140021af0
nop dword [rax]
mov eax, dword [0x140210030]
xor edx, edx
div dword [0x140210034]
mov ecx, eax
and ecx, 0x32d6c80c
mov edx, ecx
not edx
and edx, 0xba01ec8d
mov r8d, eax
and r8d, 0xd60000
imul r8d, edx
and eax, 0x3200c80c
or ecx, 0xba01ec8d
imul ecx, eax
add ecx, r8d
mov eax, ecx
xor eax, 0x98435a2a
and ecx, 0x67bca5d4
add ecx, ecx
sub ecx, eax
cmp ecx, 0xc4ef7066
ja 0x140021b40
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140021ba0
cmp rsi, 0xffffffffffffffff
je 0x140021d18
lea rax, [rsi + 8]
mov edx, dword [0x140210038]
mov r8d, dword [0x14021003c]
mov ecx, edx
not ecx
mov r9d, r8d
not r9d
mov r10d, ecx
and r10d, 0xe17b14d0
and edx, 0x1e84eb2f
or edx, r10d
or ecx, r9d
and r9d, 0xe17b14d0
and r8d, 0x1e84eb2f
or r8d, r9d
xor r8d, edx
not ecx
or ecx, r8d
mov edx, ecx
and edx, 0x157ac4aa
and ecx, 0x52a4008
add ecx, ecx
sub edx, ecx
lea ecx, [rdx + 0x272a4359]
mov r8d, ecx
and r8d, 0x311a46f1
xor ecx, 0xcee5b90e
add ecx, edx
add ecx, 0x272a4359
sub ecx, r8d
cmp ecx, 0x513c9e2f
jae 0x140021c40
lock dec qword [rax]
nop word [rax + rax]
mov ecx, dword [0x140210040]
or ecx, dword [0x140210044]
and ecx, 0x92eb3572
imul rdx, rcx, 0x5976b9ed
shr rdx, 0x3c
xor edx, 0x69e2e545
lock dec qword [rax]
sete cl
cmp edx, 0xbf0f1ee1
ja 0x140021c40
test cl, cl
je 0x140021d18
mov eax, dword [0x140210048]
sub eax, dword [0x14021004c]
imul eax, eax, 0x96650009
add eax, 0xac28a6b4
not eax
or eax, 0x9ffe200c
cmp eax, 0xe6ca92cd
jae 0x140021cc0
mov rcx, qword [0x14022cb48]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop word cs:[rax + rax]
mov eax, dword [0x140210050]
sub eax, dword [0x140210054]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x54eed95e
and ecx, 0xab1126a1
imul ecx, edx
mov edx, eax
and edx, 0xab1126a1
or eax, 0xab1126a1
imul eax, edx
add eax, ecx
imul edi, eax, 0x8e9a6c6e
or edi, 0x3f17217b
mov rcx, qword [0x14022cb48]
xor edx, edx
mov r8, rsi
call fcn.14014eed0
cmp edi, 0xcee257b1
ja 0x140021cc0
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret