Function at 0x140084360
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc28
movaps xmmword [rsp + 0xc10], xmm6
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rdx
mov rsi, rcx
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x80]
xor rcx, rax
mov qword [rsp + 0x38], rcx
mov rbx, qword [rsi + 0x80]
mov rdi, qword [rsi + 0x88]
lea r15, [rsp + 0x58]
nop dword [rax]
mov eax, dword [0x141dce8f8]
xor edx, edx
div dword [0x141dce8fc]
and eax, 0x4f6ceb6b
cmp eax, 0xa889a75e
je 0x1400843b0
xor r14d, r14d
xorps xmm6, xmm6
xor r12d, r12d
xor ebp, ebp
nop word cs:[rax + rax]
mov eax, dword [0x141dce900]
xor eax, dword [0x141dce904]
add eax, 0x104dad57
imul rax, rax, 0x51a647d3
shr rax, 0x3e
add eax, 0x66490ed
cmp eax, 0xbef2caf
ja 0x1400843e0
jmp 0x14008442a
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
cmp ebp, 0xb
adc ebp, 0
mov rbx, qword [rsi + 0x80]
mov rdi, qword [rsi + 0x88]
mov r13d, ebx
shr r13d, 1
and r13d, 0x3f
cmp r13d, 0x3f
jne 0x140084490
nop word [rax + rax]
mov eax, dword [0x141dce910]
imul eax, dword [0x141dce914]
imul rcx, rax, 0x4b31834d
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
and eax, 3
cmp eax, 0x9c1e6e11
je 0x140084440
cmp ebp, 6
ja 0x140084410
mov eax, 1
nop word cs:[rax + rax]
pause
mov edx, eax
mov ecx, ebp
shr edx, cl
inc eax
test edx, edx
je 0x140084480
jmp 0x140084416
mov ecx, dword [0x141dce908]
imul ecx, dword [0x141dce90c]
add ecx, 0x25dae552
xor ecx, 0xd643f302
mov rax, r13
xor rax, 0x3e
or rax, r12
sete al
cmp ecx, 0x7486d448
ja 0x140084490
test al, al
je 0x140084a3d
movaps xmmword [rsp + 0x40], xmm6
mov qword [rsp + 0x50], 0
movups xmmword [r15], xmm6
mov qword [r15 + 0x10], 0
movups xmmword [r15 + 0x18], xmm6
mov qword [r15 + 0x28], 0
movups xmmword [r15 + 0x30], xmm6
mov qword [r15 + 0x40], 0
movups xmmword [r15 + 0x48], xmm6
mov qword [r15 + 0x58], 0
movups xmmword [r15 + 0x60], xmm6
mov qword [r15 + 0x70], 0
movups xmmword [r15 + 0x78], xmm6
mov qword [r15 + 0x88], 0
movups xmmword [r15 + 0x90], xmm6
mov qword [r15 + 0xa0], 0
movups xmmword [r15 + 0xa8], xmm6
mov qword [r15 + 0xb8], 0
movups xmmword [r15 + 0xc0], xmm6
mov qword [r15 + 0xd0], 0
movups xmmword [r15 + 0xd8], xmm6
mov qword [r15 + 0xe8], 0
movups xmmword [r15 + 0xf0], xmm6
mov qword [r15 + 0x100], 0
movups xmmword [r15 + 0x108], xmm6
mov qword [r15 + 0x118], 0
movups xmmword [r15 + 0x120], xmm6
mov qword [r15 + 0x130], 0
movups xmmword [r15 + 0x138], xmm6
mov qword [r15 + 0x148], 0
movups xmmword [r15 + 0x150], xmm6
mov qword [r15 + 0x160], 0
movups xmmword [r15 + 0x168], xmm6
mov qword [r15 + 0x178], 0
movups xmmword [r15 + 0x180], xmm6
mov qword [r15 + 0x190], 0
movups xmmword [r15 + 0x198], xmm6
mov qword [r15 + 0x1a8], 0
movups xmmword [r15 + 0x1b0], xmm6
mov qword [r15 + 0x1c0], 0
movups xmmword [r15 + 0x1c8], xmm6
mov qword [r15 + 0x1d8], 0
movups xmmword [r15 + 0x1e0], xmm6
mov qword [r15 + 0x1f0], 0
movups xmmword [r15 + 0x1f8], xmm6
mov qword [r15 + 0x208], 0
movups xmmword [r15 + 0x210], xmm6
mov qword [r15 + 0x220], 0
movups xmmword [r15 + 0x228], xmm6
mov qword [r15 + 0x238], 0
movups xmmword [r15 + 0x240], xmm6
mov qword [r15 + 0x250], 0
movups xmmword [r15 + 0x258], xmm6
mov qword [r15 + 0x268], 0
movups xmmword [r15 + 0x270], xmm6
mov qword [r15 + 0x280], 0
movups xmmword [r15 + 0x288], xmm6
mov qword [r15 + 0x298], 0
movups xmmword [r15 + 0x2a0], xmm6
mov qword [r15 + 0x2b0], 0
movups xmmword [r15 + 0x2b8], xmm6
mov qword [r15 + 0x2c8], 0
movups xmmword [r15 + 0x2d0], xmm6
mov qword [r15 + 0x2e0], 0
movups xmmword [r15 + 0x2e8], xmm6
mov qword [r15 + 0x2f8], 0
movups xmmword [r15 + 0x300], xmm6
mov qword [r15 + 0x310], 0
movups xmmword [r15 + 0x318], xmm6
mov qword [r15 + 0x328], 0
movups xmmword [r15 + 0x330], xmm6
mov qword [r15 + 0x340], 0
movups xmmword [r15 + 0x348], xmm6
mov qword [r15 + 0x358], 0
movups xmmword [r15 + 0x360], xmm6
mov qword [r15 + 0x370], 0
movups xmmword [r15 + 0x378], xmm6
mov qword [r15 + 0x388], 0
movups xmmword [r15 + 0x390], xmm6
mov qword [r15 + 0x3a0], 0
movups xmmword [r15 + 0x3a8], xmm6
mov qword [r15 + 0x3b8], 0
movups xmmword [r15 + 0x3c0], xmm6
mov qword [r15 + 0x3d0], 0
movups xmmword [r15 + 0x3d8], xmm6
mov qword [r15 + 0x3e8], 0
movups xmmword [r15 + 0x3f0], xmm6
mov qword [r15 + 0x400], 0
movups xmmword [r15 + 0x408], xmm6
mov qword [r15 + 0x418], 0
movups xmmword [r15 + 0x420], xmm6
mov qword [r15 + 0x430], 0
movups xmmword [r15 + 0x438], xmm6
mov qword [r15 + 0x448], 0
movups xmmword [r15 + 0x450], xmm6
mov qword [r15 + 0x460], 0
movups xmmword [r15 + 0x468], xmm6
mov qword [r15 + 0x478], 0
movups xmmword [r15 + 0x480], xmm6
mov qword [r15 + 0x490], 0
movups xmmword [r15 + 0x498], xmm6
mov qword [r15 + 0x4a8], 0
movups xmmword [r15 + 0x4b0], xmm6
mov qword [r15 + 0x4c0], 0
movups xmmword [r15 + 0x4c8], xmm6
mov qword [r15 + 0x4d8], 0
movups xmmword [r15 + 0x4e0], xmm6
mov qword [r15 + 0x4f0], 0
movups xmmword [r15 + 0x4f8], xmm6
mov qword [r15 + 0x508], 0
movups xmmword [r15 + 0x510], xmm6
mov qword [r15 + 0x520], 0
movups xmmword [r15 + 0x528], xmm6
mov qword [r15 + 0x538], 0
movups xmmword [r15 + 0x540], xmm6
mov qword [r15 + 0x550], 0
movups xmmword [r15 + 0x558], xmm6
mov qword [r15 + 0x568], 0
movups xmmword [r15 + 0x570], xmm6
mov qword [r15 + 0x580], 0
movups xmmword [r15 + 0x588], xmm6
mov qword [r15 + 0x598], 0
movups xmmword [r15 + 0x5a0], xmm6
mov qword [r15 + 0x5b0], 0
movups xmmword [r15 + 0x5b8], xmm6
mov qword [r15 + 0x5c8], 0
mov r8d, 0x5e8
lea rcx, [rsp + 0x628]
lea rdx, [rsp + 0x40]
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [0x141ddc4f8]
mov edx, 0x5f0
xor ecx, ecx
call fcn.1400c0a10
mov r12, rax
nop word [rax + rax]
mov eax, dword [0x141dce928]
or eax, dword [0x141dce92c]
imul eax, eax, 0xe264914b
add eax, 0xd8e79826
or eax, 0xc245efab
cmp eax, 0x17180b77
je 0x140084980
test r12, r12
je 0x140084cc8
mov eax, dword [0x141dce930]
sub eax, dword [0x141dce934]
xor eax, 0x2a9794ed
imul eax, eax, 0x17309796
add eax, 0xc20bf376
cmp eax, 0xe8ebf54b
jae 0x1400849e0
mov qword [r12], 0
nop word [rax + rax]
mov eax, dword [0x141dce938]
add eax, dword [0x141dce93c]
and eax, 0xb0040010
xor eax, 0x4bee5218
mov qword [r12], 0
cmp eax, 0x8605fd3e
ja 0x1400849e0
mov rcx, r12
add rcx, 8
mov r8d, 0x5e8
lea rdx, [rsp + 0x628]
call sub.VCRUNTIME140.dll_memcpy
nop
mov eax, dword [0x141dce940]
and eax, dword [0x141dce944]
xor eax, 0xff43a715
add eax, 0xbf06cff6
cmp eax, 0xfa3be048
jae 0x140084a20
mov eax, dword [0x141dce918]
imul eax, dword [0x141dce91c]
imul eax, eax, 0xefe05c39
add eax, 0x6553ca51
cmp eax, 0xb3edc713
ja 0x140084c00
mov edx, dword [0x141dce920]
imul edx, dword [0x141dce924]
or edx, 0xc72be7a9
lea rcx, [rbx + 2]
mov rax, rbx
lock cmpxchg qword [rsi + 0x80], rcx
sete cl
cmp edx, 0xa5740dfe
je 0x140084c00
test cl, cl
jne 0x140084c15
mov rdi, qword [rsi + 0x88]
mov r9d, 0x40
nop word [rax + rax]
mov ecx, dword [0x141dce958]
add ecx, dword [0x141dce95c]
or ecx, 0x7da1f7ff
imul r8d, ecx, 0x644190df
mov edx, 1
mov ecx, ebp
shl edx, cl
cmp ebp, 7
cmovae edx, r9d
cmp r8d, 0x78847eef
jb 0x140084ab0
test edx, edx
jle 0x140084b20
mov ecx, edx
and ecx, 7
nop dword [rax + rax]
test r14b, r14b
jne 0x140084af0
cmp edx, 8
jae 0x140084b40
nop word [rax + rax]
test r14b, r14b
jne 0x140084b00
test ecx, ecx
je 0x140084b20
nop dword [rax]
pause
dec ecx
jne 0x140084b10
nop word cs:[rax + rax]
test r14b, r14b
jne 0x140084b20
cmp ebp, 7
adc ebp, 0
mov rbx, rax
jmp 0x1400843e0
mov r8d, dword [0x141dce960]
mov r9d, dword [0x141dce964]
add r8d, r9d
add r8d, 0x1bcb7d1d
imul r8, r8, 0x16ad678b
shr r8, 0x3b
xor r8d, 0x198d172b
cmp r8d, 0x3de2bc5e
ja 0x140084b40
and edx, 0xfffffff8
xor r8d, r8d
jmp 0x140084b8d
add r8d, 8
add edx, 0xfffffff8
je 0x140084b00
mov r9d, dword [0x141dce968]
and r9d, dword [0x141dce96c]
xor r9d, 0x1ff18a0
add r9d, 0x67e02a10
xor r9d, 0xa16a9ec0
cmp r9d, 0xb08d9039
ja 0x140084bee
nop dword [rax]
mov r9d, dword [0x141dce970]
and r9d, dword [0x141dce974]
pause
pause
pause
pause
pause
pause
pause
pause
and r9d, 0x22240e32
cmp r9d, 0x6d8f115
jne 0x140084b80
pause
pause
pause
pause
pause
pause
pause
pause
jmp 0x140084bc0
lea rcx, [rbx + 2]
mov rax, rbx
lock cmpxchg qword [rsi + 0x80], rcx
jmp 0x140084a60
mov eax, 0x8c7289a3
nop word [rax + rax]
mov ecx, dword [0x141dce950]
add ecx, dword [0x141dce954]
or ecx, 0x2f3fe044
mov rdx, rcx
imul rdx, rax
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1c
cmp ecx, 0x46f1a6af
je 0x140084c20
cmp r13d, 0x3e
jne 0x140084c98
test r12, r12
je 0x140084cf7
add rbx, 4
mov qword [rsi + 0x88], r12
mov qword [rsi + 0x80], rbx
mov qword [rdi], r12
mov rax, qword [rsp + 0x28]
mov qword [rdi + 0x5d8], rax
mov rax, qword [rsp + 0x30]
mov qword [rdi + 0x5e0], rax
lock or qword [rdi + 0x5e8], 1
jmp 0x140084dd4
mov eax, dword [0x141dce988]
and eax, dword [0x141dce98c]
add eax, 0x68758c6a
xor eax, 0xc8c4888c
or eax, 0x14326473
cmp eax, 0x1cf9ede1
mov rdx, qword [rsp + 0x28]
jne 0x140084d48
jmp 0x140084d77
ud2
mov eax, dword [0x141dce978]
xor eax, dword [0x141dce97c]
add eax, 0x21ac8da
or eax, 0x57801600
and eax, 0x5f969666
cmp eax, 0x62495ca7
jne 0x140084d20
ud2
mov eax, dword [0x141dce980]
xor edx, edx
div dword [0x141dce984]
and eax, 0x5051bc4b
add eax, 0xd82c1174
and eax, 0xf02058f6
ud2
mov eax, dword [0x141dce990]
xor eax, dword [0x141dce994]
or eax, 0xfddbaffa
imul ecx, eax, 0xbc707dae
lea rax, [r13*2]
add rax, r13
mov qword [rdi + rax*8 + 8], rdx
cmp ecx, 0x94d3b1ac
jae 0x140084d89
lea rax, [r13*2]
add rax, r13
mov qword [rdi + rax*8 + 8], rdx
jmp 0x140084d48
lea rax, [rdi + rax*8]
add rax, 8
mov rcx, qword [rsp + 0x30]
mov qword [rax + 8], rcx
lock or qword [rax + 0x10], 1
mov eax, dword [0x141dce998]
and eax, dword [0x141dce99c]
or eax, 0x4ffffefb
add eax, 0xc45c8d05
cmp eax, 0xac51fbbc
ja 0x140084da0
test r12, r12
je 0x140084dd4
mov rcx, qword [0x141ddc4e0]
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [0x141dce9a0]
xor eax, dword [0x141dce9a4]
imul rax, rax, 0xf91f583
shr rax, 0x39
xor eax, 0x66044fe7
add eax, 0xeee2d27a
cmp eax, 0xd9c29894
jbe 0x140084e00
mfence
nop
mov eax, dword [0x141dce9a8]
or eax, dword [0x141dce9ac]
imul eax, eax, 0x74ed3707
xor eax, 0x26d3f0c0
mfence
cmp eax, 0xd3a905cc
ja 0x140084e00
mov r8d, 0xffffffff
lea r9, [r8 + 1]
nop dword [rax + rax]
mov eax, dword [0x141dce9b0]
xor edx, edx
div dword [0x141dce9b4]
cmp eax, 0x81aee120
jne 0x140084e50
mov rax, qword [rsi + 0x170]
nop dword [rax]
mov eax, dword [0x141dce9b8]
imul eax, dword [0x141dce9bc]
and eax, 0x7ce9d8ea
xor eax, 0x20d3d35b
imul ecx, eax, 0x44553724
mov rax, qword [rsi + 0x170]
cmp ecx, 0xc2fcd677
ja 0x140084e50
nop dword [rax]
mov ecx, dword [0x141dce9c0]
imul ecx, dword [0x141dce9c4]
imul ecx, ecx, 0x1277e74
and ecx, 0x5e9cee0c
imul ecx, ecx, 0x605f9f7b
cmp ecx, 0x291a2896
jb 0x140084e80
test rax, r9
jne 0x140084eea
lea rcx, [r8 + rax]
inc rcx
lock cmpxchg qword [rsi + 0x170], rcx
sete al
nop
mov edx, dword [0x141dce9c8]
or edx, dword [0x141dce9cc]
imul edx, edx, 0xeae00f3b
add edx, 0x1b3966a3
cmp edx, 0xcaf461a7
ja 0x140084ec0
test al, al
je 0x140084e30
jmp 0x140084ef0
mov rcx, rax
nop dword [rax]
mov eax, dword [0x141dce9d0]
xor edx, edx
div dword [0x141dce9d4]
and eax, 0x84254
add eax, 0x965a643e
cmp eax, 0xa21d7e41
ja 0x140084ef0
movzx eax, cx
test rax, rax
je 0x140085000
nop dword [rax + rax]
mov edx, dword [0x141dce9d8]
imul edx, dword [0x141dce9dc]
imul rdx, rdx, 0xfc835eb
shr rdx, 0x3a
imul edx, edx, 0xfad771ba
add edx, 0xb55dfe4c
cmp edx, 0xce2b0ffd
ja 0x140084f20
cmp qword [rsp + 0x38], 2
jae 0x140084f9c
shr rcx, 0x10
movzx ecx, cx
sub rcx, rax
nop
mov eax, dword [0x141dce9f0]
imul eax, dword [0x141dce9f4]
imul eax, eax, 0xf1aa51ec
add eax, 0x4f23d359
cmp eax, 0xfc58f032
ja 0x140084f60
nop
mov eax, dword [0x141dce9f8]
or eax, dword [0x141dce9fc]
or eax, 0xb5bf5fff
cmp eax, 0x8862e627
jb 0x140084f80
test ecx, ecx
jne 0x140085000
mov eax, dword [0x141dce9e0]
or eax, dword [0x141dce9e4]
xor eax, 0x3f52b2b2
add eax, 0x443a8268
or eax, 0x4982924d
cmp eax, 0xec6a34c1
ja 0x140085045
add rsi, 0x158
mov eax, dword [0x141dce9e8]
xor edx, edx
div dword [0x141dce9ec]
mov edi, eax
add edi, 0x42bf7148
xor edi, 0xc2006001
or edi, 0x349b83fc
mov rcx, rsi
mov edx, 1
call fcn.1400f91a0
cmp edi, 0x771377a0
je 0x140084fc9
mov eax, dword [0x141dcea00]
add eax, dword [0x141dcea04]
imul rax, rax, 0x79ef45cf
shr rax, 0x3e
imul eax, eax, 0x534810e5
and eax, 0x3d2c17ef
cmp eax, 0xbfa9c9b6
ja 0x140085000
movaps xmm6, xmmword [rsp + 0xc10]
add rsp, 0xc28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsi + 0x158]
mov edx, 1
call fcn.1400f91a0
jmp 0x140084fc2