Function at 0x140077220
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, rdx
mov qword [rsp + 0x30], rcx
mov eax, dword [0x141dccd68]
xor edx, edx
div dword [0x141dccd6c]
lea rax, [rsi + 0x38]
mov qword [rsp + 0x28], rax
nop
mov eax, dword [str._znKn:gE_]
add eax, dword [0x141dccd74]
imul eax, eax, 0x4da4b287
add eax, 0xeeaa9458
imul rax, rax, 0xee1b6d
shr rax, 0x37
cmp eax, 0x10f8af3e
ja 0x140077250
mov eax, dword [0x141dccd78]
add eax, dword [0x141dccd7c]
mov ecx, 0xab0cd929
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xa50814
cmp ecx, 0xab19fc12
jbe 0x1400772b0
movzx eax, byte [0x141ddc4f8]
nop word [rax + rax]
mov eax, dword [0x141dccd80]
xor edx, edx
div dword [0x141dccd84]
xor eax, 0xaa081c11
and eax, 0xfb6edc11
add eax, 0x2a1291ad
mov r15, qword [rsi + 0x28]
movzx ebp, byte [rsi + 0x30]
movzx ecx, byte [0x141ddc4f8]
cmp eax, 0x2a063ef8
jb 0x1400772b0
mov eax, dword [0x141dccd88]
and eax, dword [0x141dccd8c]
add eax, 0xa1d517e1
or eax, 0x9b97bf6e
cmp eax, 0xf091ec18
jbe 0x14007730c
mov edx, 0x5f0
xor ecx, ecx
call fcn.1400c0a10
mov r14d, 0x8a0ded89
nop word cs:[rax + rax]
mov eax, dword [0x141dccd90]
and eax, dword [0x141dccd94]
imul r12d, eax, 0x40f878bd
add r12d, 0x994e8c4d
imul r12, r14
shr r12, 0x3e
mov edx, 0x5f0
xor ecx, ecx
call fcn.1400c0a10
cmp r12d, 0x6da93562
je 0x140077320
mov rbx, rax
test rax, rax
je 0x14007738a
mov eax, dword [0x141dccdb0]
xor edx, edx
div dword [0x141dccdb4]
imul rax, rax, 0x5115c069
shr rax, 0x3e
imul eax, eax, 0xaaa94564
cmp eax, 0x5aede488
jbe 0x1400773f1
jmp 0x140077426
mov eax, dword [0x141dccd98]
sub eax, dword [0x141dccd9c]
or eax, 0xffffb6fd
cmp eax, 0xdb4bde1c
jb 0x1400773c9
mov eax, dword [0x141dccda0]
xor edx, edx
div dword [0x141dccda4]
or eax, 0x49e4000c
and eax, 0x5df40a8c
imul eax, eax, 0xaa3222a2
ud2
ud2
mov eax, dword [0x141dccdb8]
and eax, dword [0x141dccdbc]
xor eax, 0x1f721a98
imul r14, rax, 0x7a50f325
shr r14, 0x3e
mov r8d, 0x5f0
mov rcx, rbx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
cmp r14d, 0xb261f6c1
jne 0x140077438
mov r8d, 0x5f0
mov rcx, rbx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
jmp 0x1400773f1
mov rax, qword [rsi + 0x60]
mov qword [rsp + 0x20], rax
movabs rcx, 0xe414a674f0de7325
movabs rdx, 0xded7d4e2d7dedfc6
movabs r8, 0xa60c596fc19fead0
movabs r9, 0x7465646279746573
movabs r10, 0x6c7967656e657261
movabs r11, 0x800000000000000
jmp 0x14007758c
mov rax, r12
xor rax, r9
mov rdi, rax
rol rdi, 0x10
lea r14, [rax + r10]
xor rdi, r14
add rax, r8
lea r13, [rdi + rdx]
mov r14, rax
xor r14, rcx
rol rdi, 0x15
rol rax, 0x20
xor r12, r13
xor r13, r11
xor r13, rdi
add r12, r14
rol r14, 0xd
add rax, r13
xor r14, r12
rol r13, 0x10
xor r13, rax
rol r12, 0x20
add rax, r14
add r12, r13
rol r14, 0x11
xor r14, rax
rol r13, 0x15
rol rax, 0x20
xor r13, r12
xor r12, r11
xor rax, 0xff
add r12, r14
add rax, r13
rol r14, 0xd
xor r14, r12
rol r13, 0x10
rol r12, 0x20
xor r13, rax
add rax, r14
rol r14, 0x11
add r12, r13
xor r14, rax
rol r13, 0x15
xor r13, r12
rol rax, 0x20
add r12, r14
add rax, r13
rol r14, 0xd
xor r14, r12
rol r13, 0x10
rol r12, 0x20
xor r13, rax
add rax, r14
rol r14, 0x11
add r12, r13
xor r14, rax
rol r13, 0x15
xor r13, r12
rol rax, 0x20
add r12, r14
add rax, r13
rol r14, 0xd
xor r14, r12
rol r13, 0x10
xor r13, rax
add rax, r14
rol r14, 0x11
rol r13, 0x15
mov r12, rax
rol r12, 0x20
xor r12, r14
xor r12, r13
xor r12, rax
jne 0x1400775ef
mov eax, dword [0x141dccdc0]
imul eax, dword [0x141dccdc4]
imul eax, eax, 0x202a108
cmp eax, 0xda84dcd0
ja 0x1400775e5
nop word cs:[rax + rax]
mov eax, dword [0x141dccdc8]
sub eax, dword [0x141dccdcc]
add eax, 0x93ea930d
or eax, 0x992f1763
xor eax, 0xc427790b
mov r12d, 1
lock xadd qword [0x141ddc440], r12
cmp eax, 0x93af62b0
jbe 0x140077490
lock inc qword [0x141ddc440]
jmp 0x1400775b0
mov rax, qword [rsi + 0x58]
mov rcx, qword [rsp + 0x28]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
mov rcx, qword [rsp + 0x30]
movups xmmword [rcx + 0x128], xmm1
movups xmmword [rcx + 0x118], xmm0
mov qword [rcx + 0x138], r15
mov byte [rcx + 0x140], bpl
mov qword [rcx], 0
mov qword [rcx + 8], rbx
mov qword [rcx + 0x80], 0
mov qword [rcx + 0x88], rbx
mov rdx, qword [rsp + 0x20]
mov qword [rcx + 0x100], rdx
mov qword [rcx + 0x108], r12
mov qword [rcx + 0x110], rax
mov rax, qword [rsi + 0x10]
shl rax, 1
test rax, rax
je 0x140077709
mov eax, 0x8ced90f3
nop dword [rax]
mov ecx, dword [0x141dccdd0]
imul ecx, dword [0x141dccdd4]
imul rcx, rax
shr rcx, 0x3e
imul ecx, ecx, 0xe56b4829
add ecx, 0xfbed5ee3
cmp ecx, 0x4dbfc161
jb 0x140077670
mov rsi, qword [rsi + 0x18]
mov rdi, qword [0x141ddc4e0]
mov eax, dword [0x141dccdd8]
xor edx, edx
div dword [0x141dccddc]
add eax, 0x2cff0902
and eax, 0x412114
cmp eax, 0xedeceba5
jbe 0x1400776d1
mov rcx, rdi
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov eax, dword [0x141dccde0]
and eax, dword [0x141dccde4]
or eax, 0x42e0eee4
imul ebp, eax, 0x4fe0eff6
mov rcx, rdi
xor edx, edx
mov r8, rsi
call rbx
cmp ebp, 0xb2b22470
je 0x1400776e0
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret