Function at 0x1400871c0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
nop dword [rax]
mov eax, dword [0x141f3ae28]
xor eax, dword [0x141f3ae2c]
add eax, 0xd638e5ab
and eax, 0x85554f64
cmp eax, 0xa88a22a2
je 0x1400871d0
mov r8, qword [rsi]
cmp r8d, 3
jne 0x1400872f0
mov rax, qword [rsi + 8]
lock dec qword [rax]
jne case.0x14008735b.0
mov eax, dword [0x141f3ae30]
or eax, dword [0x141f3ae34]
add eax, 0xf9d8e358
or eax, 0xf57ddfbd
cmp eax, 0xdc60cfea
jne 0x140087225
add rsi, 8
nop dword [rax]
mov eax, dword [0x141f3ae38]
xor edx, edx
div dword [0x141f3ae3c]
and eax, 0xd4002488
add eax, 0x1b6eb22b
cmp eax, 0x44191b9
jb 0x140087230
mov eax, dword [0x141f3ae40]
xor edx, edx
div dword [0x141f3ae44]
mov ecx, 0xa8cf9309
imul rcx, rax
shr rcx, 0x3d
or ecx, 0x1408900
and ecx, 0x1408905
cmp ecx, 0x3f8e9932
jbe 0x140087290
mov rcx, rsi
call fcn.1400c6580
nop word cs:[rax + rax]
mov edi, dword [0x141f3ae48]
or edi, dword [0x141f3ae4c]
add edi, 0x37da346
and edi, 0x23eb98da
add edi, 0x373f3f1c
mov rcx, rsi
call fcn.1400c6580
cmp edi, 0xdf89059
jb 0x140087290
nop
mov eax, dword [0x141f3ae50]
mov ecx, dword [0x141f3ae54]
add eax, ecx
add eax, 0x790d832a
and eax, 0x1117dcfc
imul eax, eax, 0x8a3455ab
cmp eax, 0xcfe94ff7
jae 0x1400872c0
jmp case.0x14008735b.0
mov eax, dword [0x141f3ae58]
imul eax, dword [0x141f3ae5c]
add eax, 0x544a87d2
or eax, 0xaf7dff7f
cmp eax, 0x4183ba53
jb 0x1400872f0
mov rcx, qword [rsi + 8]
mov eax, dword [0x141f3ae60]
xor edx, edx
div dword [0x141f3ae64]
mov eax, dword [str.p_r_N]
imul eax, dword [0x141f3ae6c]
add eax, 0x56c945bc
and eax, 0x8024198
cmp eax, 0xd661e14b
je 0x140087320
cmp r8d, 2
jb case.0x14008735b.0
mov eax, ecx
and eax, 3
lea rdx, [0x141f267f0]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
lea rsi, [rcx - 1]
nop word cs:[rax + rax]
mov eax, dword [0x141f3ae88]
sub eax, dword [0x141f3ae8c]
add eax, 0x1f193987
or eax, 0x66bddf6b
cmp eax, 0x8fca50f2
ja 0x140087370
mov rdi, qword [rcx - 1]
mov rbx, qword [rcx + 7]
mov r14, qword [rbx]
test r14, r14
je 0x1400873e0
xor eax, eax
test al, al
je 0x1400873b0
mov rcx, rdi
call r14
nop dword [rax]
mov ebp, dword [0x141f3ae90]
imul ebp, dword [0x141f3ae94]
add ebp, 0x31d3c858
or ebp, 0x366980a
and ebp, 0x136e9d4a
mov rcx, rdi
call r14
cmp ebp, 0xd59acd69
ja 0x1400873b0
nop dword [rax]
mov eax, dword [0x141f3ae98]
imul eax, dword [0x141f3ae9c]
add eax, 0x8b38ece1
and eax, 0x48480434
cmp eax, 0xe8ca1724
ja 0x1400873e0
nop
mov eax, dword [0x141f3aea0]
and eax, dword [0x141f3aea4]
add eax, 0x491acd83
xor eax, 0xa09a3e3e
imul eax, eax, 0x41f0bc7f
cmp eax, 0x2c23356a
jb 0x140087400
cmp qword [rbx + 8], 0
je 0x1400874a6
mov rax, qword [rbx + 0x10]
nop
mov ecx, dword [0x141f3aea8]
and ecx, dword [0x141f3aeac]
add ecx, 0x35029bdf
or ecx, 0xdb79a5c6
xor ecx, 0xa6ae9373
cmp ecx, 0x68b39432
jb 0x140087430
cmp rax, 0x11
jb 0x140087494
nop dword [rax]
mov eax, dword [0x141f3aeb0]
and eax, dword [0x141f3aeb4]
add eax, 0xaf4a6804
and eax, 0xd1fca47b
cmp eax, 0xe5a15323
ja 0x140087460
mov rdi, qword [rdi - 8]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140087490
mov rcx, qword [0x141f49060]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [0x141f49060]
mov eax, dword [0x141f3aeb8]
add eax, dword [0x141f3aebc]
cmp eax, 0x7ad37acd
jne 0x140087536
jmp 0x140087564
mov ebx, dword [0x141f3aec0]
or ebx, dword [0x141f3aec4]
add ebx, 0x863ce5a8
and ebx, 0x8d458e13
mov rcx, rdi
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebx, 0x2195a346
jbe case.0x14008735b.0
mov rcx, rdi
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140087536
mov eax, dword [0x141f3aec8]
mov ecx, dword [0x141f3aecc]
add eax, ecx
add eax, 0xa2da9aec
cmp eax, 0xf7a7f999
ja case.0x14008735b.0
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret