Function at 0x180192d50
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x188
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x100], 0xfffffffffffffffe
mov rsi, rcx
mov dword [rdx + 0x14], 6
mov qword [rbp + 0x10], rdx
mov rax, qword [rdx]
mov qword [rbp - 0x20], rax
lea rax, str.windows
mov qword [rbp], rax
mov qword [rbp + 8], 7
movzx eax, byte [0x18028ecd1]
mov ecx, 0x18
mov edx, 8
call fcn.18006a570
mov qword [rbp + 0xf0], rax
test rax, rax
je 0x1801935df
mov rax, rbp
mov qword [rbp + 0x80], rax
lea rax, [0x180067d10]
mov qword [rbp + 0x88], rax
lea rax, [0x1801a5828]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], 1
mov qword [rbp + 0xd0], 0
lea rax, [rbp + 0x80]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], 1
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0xb0]
call fcn.1801776a0
mov qword [rbp - 0x18], rsi
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp + 0xf0]
mov qword [rcx + 0x10], rax
movdqu xmm0, xmmword [rbp - 0x50]
movdqu xmmword [rcx], xmm0
mov qword [rbp + 0x68], 1
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x78], 1
mov rax, qword [0x180277178]
movzx eax, byte [rax]
test al, al
jne 0x180192fa8
mov ecx, dword [0x18028e858]
test cl, 1
jne 0x180192fa8
cmp ecx, 0x100
jae 0x180192ea8
mov edx, ecx
or edx, 0x20000000
mov eax, ecx
lock cmpxchg dword [0x18028e858], edx
jne 0x180192ea8
lea rax, [0x18028e858]
movd xmm0, ecx
pshufd xmm0, xmm0, 0x50
jmp 0x180192eec
lea rdx, [0x18028e858]
lea r9, [0x18028e840]
lea rcx, [rbp + 0xb0]
lea r8, [rbp + 0x30]
call fcn.1801844d0
mov eax, dword [rbp + 0xb0]
test eax, eax
je 0x180192f6f
cmp eax, 2
je 0x180192fa8
mov rax, qword [rbp + 0xb8]
movq xmm0, qword [rbp + 0xc0]
lea rcx, [0x18028e840]
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
movq qword [rbp + 0x90], xmm0
lea rcx, [rbp + 0xb0]
lea rdx, [rbp + 0x80]
call fcn.180193dd0
mov r8d, dword [rbp + 0xc0]
mov rcx, qword [rbp + 0xb8]
mov eax, r8d
or eax, 0x20000000
mov edx, dword [rbp + 0xc4]
lock cmpxchg dword [rcx], edx
je 0x180192fa8
xor edx, r8d
or edx, 0x20000000
mov eax, dword [rcx]
nop dword [rax]
mov r8d, eax
xor r8d, edx
lock cmpxchg dword [rcx], r8d
jne 0x180192f50
cmp eax, 0x40000000
jb 0x180192fa8
xor eax, edx
mov edx, eax
call fcn.1801927f0
jmp 0x180192fa8
mov rcx, qword [rbp + 0xb8]
mov edx, 0xffffff00
lock xadd dword [rcx], edx
mov eax, edx
and eax, 0x3fffff00
cmp eax, 0x100
setne al
cmp edx, 0x40000000
setb r8b
or r8b, al
jne 0x180192fa8
add edx, 0xffffff00
call fcn.1801927f0
mov rcx, qword [0x18028e840]
test rcx, rcx
je 0x1801937ed
mov rdi, qword [rbp]
mov r14, qword [rbp + 8]
mov rax, qword [0x18028e848]
mov qword [rbp + 0xf8], rax
lea rax, [rcx + 8]
mov qword [rbp + 0xf0], rcx
movzx ecx, word [rcx + 0x21a]
mov qword [rbp + 0xe8], rcx
lea ecx, [rcx*8]
lea r13, [rcx + rcx*2]
mov rsi, 0xffffffffffffffff
xor r15d, r15d
nop dword [rax]
cmp r13, r15
je 0x180193060
lea rbx, [rax + 0x18]
mov rdx, qword [rax + 8]
mov r8, qword [rax + 0x10]
mov r12, r14
sub r12, r8
cmovb r8, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne r12, rax
xor ecx, ecx
test r12, r12
setne cl
mov eax, 0xff
cmovs ecx, eax
add r15, 0x18
inc rsi
mov rax, rbx
cmp cl, 1
je 0x180193000
movzx eax, cl
test eax, eax
jne 0x180193067
jmp 0x180193093
mov rsi, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xf0]
mov rax, qword [rbp + 0xf8]
sub rax, 1
jb 0x1801937ed
mov qword [rbp + 0xf8], rax
mov rcx, qword [rcx + rsi*8 + 0x220]
jmp 0x180192fce
lea rdx, [0x1801a5838]
lea rcx, [rbp + 0xb0]
mov r8d, 0x14
call fcn.180164750
mov rbx, qword [rbp + 0xf0]
mov rax, qword [rbp + 0xb0]
mov r9, qword [rbp + 0xb8]
mov qword [rbp + 0xf8], rax
neg rax
jo 0x1801935f3
mov rax, qword [rbp + 0xc0]
mov ecx, 1
test rax, rax
mov qword [rbp + 0xe8], r9
je 0x18019310d
mov edx, 0x40
cmp rax, 0x40
jb 0x180193111
mov rdx, r9
and rdx, 3
je 0x180193566
mov ecx, 3
mov eax, 4
jmp 0x180193111
xor edx, edx
xor eax, eax
movabs r8, 0x8000000000000004
mov qword [rbp + 0x80], r8
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rdx
lea rax, [rbp + 0x80]
mov qword [rbp + 0x30], rax
lea rax, [0x180050fd0]
mov qword [rbp + 0x38], rax
lea rax, [0x1801a5878]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], 1
mov qword [rbp + 0xd0], 0
lea rax, [rbp + 0x30]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], 1
lea rcx, [rbp - 0x38]
lea rdx, [rbp + 0xb0]
call fcn.1801776a0
mov rsi, qword [rbp + 0x78]
cmp rsi, qword [rbp + 0x68]
jne 0x1801931aa
lea rcx, [rbp + 0x68]
call fcn.180014e80
mov rax, qword [rbp + 0x70]
lea rcx, [rsi + rsi*2]
mov rdx, qword [rbp - 0x28]
mov qword [rax + rcx*8 + 0x10], rdx
movdqu xmm0, xmmword [rbp - 0x38]
movdqu xmmword [rax + rcx*8], xmm0
inc rsi
mov qword [rbp + 0x78], rsi
mov rdx, qword [rbp + 0x80]
movabs rcx, 0x7fffffffffffffff
add rcx, rdx
cmp rcx, 0x15
mov eax, 2
cmovb rax, rcx
cmp rax, 3
je 0x180193263
cmp rax, 2
je 0x18019323f
test rax, rax
jne 0x1801932d2
mov rax, qword [rbp + 0x88]
mov ecx, eax
and ecx, 3
cmp ecx, 1
jne 0x1801932d2
lea rcx, [rax - 1]
mov qword [rbp + 0x50], rcx
mov rcx, qword [rax - 1]
mov qword [rbp + 0x58], rcx
mov rax, qword [rax + 7]
mov qword [rbp + 0x60], rax
mov rax, qword [rax]
test rax, rax
je 0x1801932a4
mov rcx, qword [rbp + 0x58]
call rax
jmp 0x1801932a4
mov rax, rdx
neg rax
jo 0x1801932d2
jae 0x1801932d2
mov rcx, qword [rbp + 0x88]
add rdx, rdx
mov r8d, 2
jmp 0x1801932cd
cmp qword [rbp + 0x88], 0
jne 0x1801932d2
mov rax, qword [rbp + 0x90]
mov ecx, eax
and ecx, 3
cmp ecx, 1
jne 0x1801932d2
lea rcx, [rax - 1]
mov qword [rbp + 0x50], rcx
mov rcx, qword [rax - 1]
mov qword [rbp + 0x58], rcx
mov rax, qword [rax + 7]
mov qword [rbp + 0x60], rax
mov rax, qword [rax]
test rax, rax
je 0x1801932a4
mov rcx, qword [rbp + 0x58]
call rax
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1801932be
mov r8, qword [rax + 0x10]
call fcn.18006a580
mov rcx, qword [rbp + 0x50]
mov edx, 0x18
mov r8d, 8
call fcn.18006a580
xor edi, edi
mov rdx, qword [rbp + 0xf8]
test rdx, rdx
je 0x1801932f2
mov r8d, 1
mov rcx, qword [rbp + 0xe8]
call fcn.18006a580
test dil, dil
je 0x1801937ed
mov dword [rbp + 0x4c], esi
lea rax, [rbp + 0x4c]
mov qword [rbp + 0x80], rax
lea rax, [fcn.18017f6a0]
mov qword [rbp + 0x88], rax
lea rax, [0x1801a58c8]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], 1
mov qword [rbp + 0xd0], 0
lea rax, [rbp + 0x80]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], 1
lea rcx, [rbp + 0x18]
lea rdx, [rbp + 0xb0]
call fcn.1801776a0
mov rsi, qword [rbp + 0x78]
cmp rsi, qword [rbp + 0x68]
jne 0x180193377
lea rcx, [rbp + 0x68]
call fcn.180014e80
mov rax, qword [rbp + 0x70]
lea rcx, [rsi + rsi*2]
mov rdx, qword [rbp + 0x28]
mov qword [rax + rcx*8 + 0x10], rdx
movdqu xmm0, xmmword [rbp + 0x18]
movdqu xmmword [rax + rcx*8], xmm0
inc rsi
mov qword [rbp + 0x78], rsi
mov rax, qword [rbx + r15 + 0xf8]
test rax, rax
je 0x1801937ed
mov rcx, qword [rbx + r15 + 0x100]
mov edx, dword [rbp + 0x4c]
mov r8d, 0xff
movzx r10d, word [rax + 0x13e]
lea r9d, [r10*8]
lea rsi, [r9 + r9*2]
mov r9, 0xffffffffffffffff
xor r11d, r11d
nop dword [rax]
mov rdi, rsi
add rdi, r11
je 0x180193420
xor edi, edi
cmp dword [rax + r9*4 + 0x114], edx
setne dil
cmova edi, r8d
inc r9
add r11, 0xffffffffffffffe8
cmp dil, 1
je 0x1801933e0
movzx r10d, dil
test r10d, r10d
jne 0x180193423
jmp 0x180193437
mov r9, r10
sub rcx, 1
jb 0x1801937ed
mov rax, qword [rax + r9*8 + 0x140]
jmp 0x1801933bb
sub rax, r11
add rax, 0xfffffffffffffff0
mov qword [rbp - 0x10], rax
mov rax, rbp
mov qword [rbp + 0x80], rax
lea rax, [0x180067d10]
mov qword [rbp + 0x88], rax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x90], rax
lea rax, [0x180067d30]
mov qword [rbp + 0x98], rax
lea rax, [0x1801a58e0]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], 2
mov qword [rbp + 0xd0], 0
lea rax, [rbp + 0x80]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], 2
lea rcx, [rbp + 0x30]
lea rdx, [rbp + 0xb0]
call fcn.1801776a0
mov rsi, qword [rbp + 0x78]
test rsi, rsi
je 0x180193502
mov rdi, qword [rbp + 0x70]
add rdi, 8
jmp 0x1801934e9
add rdi, 0x18
dec rsi
je 0x180193502
mov rdx, qword [rdi - 8]
test rdx, rdx
je 0x1801934e0
mov rcx, qword [rdi]
mov r8d, 1
call fcn.18006a580
jmp 0x1801934e0
mov rax, qword [rbp + 0x68]
test rax, rax
je 0x180193522
mov rcx, qword [rbp + 0x70]
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.18006a580
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x20]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rbp + 0x30]
movups xmmword [rcx], xmm0
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x14], 1
movups xmm0, xmmword [rax]
mov rcx, qword [rbp - 0x18]
movups xmmword [rcx], xmm0
mov rax, qword [rax + 0x10]
mov qword [rcx + 0x10], rax
add rsp, 0x188
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movzx ecx, word [r9]
cmp rcx, 0x5a4d
jne 0x1801935ac
mov r8d, dword [r9 + 0x3c]
mov ecx, 1
cmp rax, r8
jbe 0x1801935bb
lea rdx, [r8 + 0x88]
cmp rdx, rax
ja 0x180193111
add r8, r9
mov rdx, r8
and rdx, 7
je 0x1801935c3
mov ecx, 3
mov eax, 8
jmp 0x180193111
movabs r8, 0x8000000000000007
jmp 0x18019311b
mov rdx, r8
jmp 0x180193111
mov esi, dword [r8 + 8]
mov dil, 1
mov rdx, qword [rbp + 0xf8]
test rdx, rdx
jne 0x1801932e0
jmp 0x1801932f2
mov ecx, 8
mov edx, 0x18
call fcn.18019decf
jmp 0x1801938eb
movabs rax, 0x8000000000000004
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x90], r9
mov byte [rbp + 0xa0], 0
lea rax, [rbp + 0x80]
mov qword [rbp + 0x30], rax
lea rax, [0x180050fd0]
mov qword [rbp + 0x38], rax
lea rax, [0x1801a58a8]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], 1
mov qword [rbp + 0xd0], 0
lea rax, [rbp + 0x30]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], 1
lea rcx, [rbp + 0x18]
lea rdx, [rbp + 0xb0]
call fcn.1801776a0
mov rsi, qword [rbp + 0x78]
cmp rsi, qword [rbp + 0x68]
jne 0x180193690
lea rcx, [rbp + 0x68]
call fcn.180014e80
mov rax, qword [rbp + 0x70]
lea rcx, [rsi + rsi*2]
mov rdx, qword [rbp + 0x28]
mov qword [rax + rcx*8 + 0x10], rdx
movups xmm0, xmmword [rbp + 0x18]
movups xmmword [rax + rcx*8], xmm0
inc rsi
mov qword [rbp + 0x78], rsi
mov rdx, qword [rbp + 0x80]
movabs rcx, 0x7fffffffffffffff
add rcx, rdx
cmp rcx, 0x15
mov eax, 2
cmovb rax, rcx
cmp rax, 3
je 0x18019375e
cmp rax, 2
je 0x180193737
test rax, rax
jne 0x1801937ed
mov rax, qword [rbp + 0x88]
mov ecx, eax
and ecx, 3
cmp ecx, 1
jne 0x1801937ed
lea rcx, [rax - 1]
mov qword [rbp + 0xf0], rcx
mov rcx, qword [rax - 1]
mov qword [rbp + 0xe8], rcx
mov rax, qword [rax + 7]
mov qword [rbp + 0xf8], rax
mov rax, qword [rax]
test rax, rax
je 0x1801937af
mov rcx, qword [rbp + 0xe8]
call rax
jmp 0x1801937af
mov rax, rdx
neg rax
jo 0x1801937ed
jae 0x1801937ed
mov rcx, qword [rbp + 0x88]
add rdx, rdx
mov r8d, 2
jmp 0x1801937e8
cmp qword [rbp + 0x88], 0
jne 0x1801937ed
mov rax, qword [rbp + 0x90]
mov ecx, eax
and ecx, 3
cmp ecx, 1
jne 0x1801937ed
lea rcx, [rax - 1]
mov qword [rbp + 0xf0], rcx
mov rcx, qword [rax - 1]
mov qword [rbp + 0xe8], rcx
mov rax, qword [rax + 7]
mov qword [rbp + 0xf8], rax
mov rax, qword [rax]
test rax, rax
je 0x1801937af
mov rcx, qword [rbp + 0xe8]
call rax
mov rax, qword [rbp + 0xf8]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1801937d6
mov rax, qword [rbp + 0xf8]
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp + 0xe8]
call fcn.18006a580
mov edx, 0x18
mov r8d, 8
mov rcx, qword [rbp + 0xf0]
call fcn.18006a580
mov rdx, qword [rbp + 0x70]
mov r8, qword [rbp + 0x78]
mov qword [rsp + 0x20], 3
lea r9, [0x1801a5900]
lea rcx, [rbp + 0xb0]
call fcn.180041120
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x90], rax
movdqu xmm0, xmmword [rbp + 0xb0]
movdqa xmmword [rbp + 0x80], xmm0
lea rax, [rbp + 0x80]
mov qword [rbp - 0x10], rax
lea rax, [0x180015400]
mov qword [rbp - 8], rax
lea rax, [0x1801a5918]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], 1
mov qword [rbp + 0xd0], 0
lea rax, [rbp - 0x10]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], 1
lea rcx, [rbp + 0x30]
lea rdx, [rbp + 0xb0]
call fcn.1801776a0
mov rdx, qword [rbp + 0x80]
test rdx, rdx
je 0x1801938ad
mov rcx, qword [rbp + 0x88]
mov r8d, 1
call fcn.18006a580
movdqu xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0xb0], xmm0
mov rdx, qword [rbp + 0x40]
mov qword [rbp + 0xc0], rdx
mov rcx, qword [rbp + 0xb8]
mov qword [rbp + 0xf0], rcx
call fcn.180038290
lea rdx, [0x1801a5940]
lea rcx, [rbp + 0xb0]
call fcn.180197880
ud2