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

Disassembly:
mov r11, rsp
push rbx
push rbp
push r12
push r13
push r14
sub rsp, 0x90
mov r9d, dword [0x180014820]
xor r12d, r12d
mov r10d, 0x148
xor eax, eax
mov qword [r11 - 0x38], r15
mov ebp, 1
mov r15d, r12d
mov r14d, r10d
mov r13d, 0x2ac
lock cmpxchg dword [0x1800148b0], ebp
je 0x18000dd13
mov rax, qword gs:[0x58]
lea r8, [rax + r9*8]
mov qword [r11 + 0x18], rsi
mov rsi, qword [r8]
mov qword [r11 - 0x30], rdi
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xc0], rsi
lea rdi, [r10 + rsi]
mov ecx, dword [rsi + r13]
mov eax, ecx
and eax, ebp
cmp r15, 0x20
jae 0x18000db54
test eax, eax
jne 0x18000da41
mov eax, dword [0x180012238]
or ecx, ebp
movups xmm0, xmmword [0x180012228]
mov dword [rsp + 0x30], eax
mov r8, rdi
xor eax, eax
mov qword [rdi], r12
mov dword [rdi + 8], r12d
mov edx, r12d
mov byte [rdi + 0xc], r12b
mov dword [rdi + 0x10], eax
lea rax, [rsp + 0x30]
mov dword [rsi + r13], ecx
sub r8, rax
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x30]
nop dword [rax + rax]
mov eax, dword [rcx]
inc edx
mov dword [r8 + rcx + 0x10], eax
lea rcx, [rcx + 4]
cmp edx, ebp
jb 0x18000da30
cmp byte [rdi + 0xc], r12b
jne 0x18000da9d
lea rcx, [rdi + 0x10]
mov r9d, r12d
nop
mov eax, dword [rdi + 4]
mov edx, dword [rdi]
lea r8d, [rax + 1]
cmp edx, r8d
je 0x18000da84
lea r8d, [rax + 2]
cmp edx, r8d
je 0x18000da84
cmp edx, eax
je 0x18000da8b
lea r8d, [rax + 4]
cmp edx, r8d
jne 0x18000da7d
add eax, 3
xor dword [rcx], eax
inc dword [rdi]
jmp 0x18000da50
add eax, 5
cmp edx, eax
jne 0x18000da91
xor dword [rcx], r8d
inc dword [rdi]
jmp 0x18000da50
lea eax, [r9 + 0x33]
xor dword [rcx], eax
inc r9d
add rcx, 4
cmp r9d, ebp
jb 0x18000da50
mov eax, dword [rdi + 0x10]
mov byte [rdi + 0xc], bpl
mov rcx, qword gs:[rax]
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x18000db27
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x18000db27
mov esi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x6c810f77
lea rcx, [rsi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18000db22
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x10dbd33
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x18000db00
cmp r8d, 0x149a491a
je 0x18000db2c
test r9d, r9d
jne 0x18000dae0
mov rax, qword [rax]
jmp 0x18000dab0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor ecx, ecx
add rax, r10
call rax
mov rsi, qword [rsp + 0xc0]
jmp 0x18000dcdb
test eax, eax
jne 0x18000dbb0
mov eax, dword [0x180012238]
or ecx, ebp
movups xmm0, xmmword [0x180012228]
mov dword [rsp + 0x50], eax
mov edx, r12d
xor eax, eax
mov qword [rdi], r12
mov dword [rdi + 8], r12d
mov byte [rdi + 0xc], r12b
mov dword [rdi + 0x10], eax
lea rax, [rsp + 0x50]
mov dword [rsi + r13], ecx
sub rdi, rax
movaps xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x50]
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rcx]
inc edx
mov dword [rdi + rcx + 0x10], eax
lea rcx, [rcx + 4]
cmp edx, ebp
jb 0x18000dba0
mov r8, qword [r8]
add r8, r14
cmp byte [r8 + 0xc], r12b
jne 0x18000dc21
lea rcx, [r8 + 0x10]
mov r10d, r12d
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r8 + 4]
mov edx, dword [r8]
lea r9d, [rax + 1]
cmp edx, r9d
je 0x18000dc07
lea r9d, [rax + 2]
cmp edx, r9d
je 0x18000dc07
cmp edx, eax
je 0x18000dc0f
lea r9d, [rax + 4]
cmp edx, r9d
jne 0x18000dc00
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000dbd0
add eax, 5
cmp edx, eax
jne 0x18000dc15
xor dword [rcx], r9d
inc dword [r8]
jmp 0x18000dbd0
lea eax, [r10 + 0x33]
xor dword [rcx], eax
inc r10d
add rcx, 4
cmp r10d, ebp
jb 0x18000dbd0
mov eax, dword [r8 + 0x10]
mov byte [r8 + 0xc], bpl
mov rcx, qword gs:[rax]
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x18000dcb7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x18000dcb7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x150556aa
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x18000dcb2
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x10dbd33
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x18000dc90
cmp r8d, 0x5dc0ec6d
je 0x18000dcbc
test r9d, r9d
jne 0x18000dc70
mov rax, qword [rax]
jmp 0x18000dc40
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, ebp
add rax, r10
call rax
lea rdi, [r14 + rsi]
inc r15
xor eax, eax
lock cmpxchg dword [0x1800148b0], ebp
mov r8, qword [rsp + 0xc8]
jne 0x18000d9d3
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0xd0]
mov r9d, dword [0x180014820]
mov r10d, 0x148
cmp qword [0x1800148b8], r12
mov r15, qword [rsp + 0x80]
jne 0x18000deef
mov rax, qword gs:[0x58]
mov ecx, r9d
mov rdx, qword [rax + rcx*8]
mov eax, dword [rdx + r13]
test bpl, al
jne 0x18000dda4
movups xmm0, xmmword [0x180012228]
lea r8, [r14 + rdx]
or eax, ebp
mov qword [r8], r12
lea rcx, [rsp + 0x70]
mov dword [rdx + r13], eax
mov edx, r12d
mov eax, dword [0x180012238]
mov dword [rsp + 0x70], eax
xor eax, eax
mov dword [r8 + 8], r12d
mov byte [r8 + 0xc], r12b
mov dword [r8 + 0x10], eax
lea rax, [rsp + 0x70]
sub r8, rax
movaps xmmword [rsp + 0x60], xmm0
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rcx]
inc edx
mov dword [r8 + rcx + 0x10], eax
lea rcx, [rcx + 4]
cmp edx, ebp
jb 0x18000dd90
mov r14d, r10d
mov rax, qword gs:[0x58]
mov ecx, r9d
mov r8, qword [rax + rcx*8]
add r8, r14
cmp byte [r8 + 0xc], r12b
jne 0x18000de21
lea rcx, [r8 + 0x10]
mov r9d, r12d
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [r8 + 4]
mov edx, dword [r8]
lea r10d, [rax + 1]
cmp edx, r10d
je 0x18000de07
lea r10d, [rax + 2]
cmp edx, r10d
je 0x18000de07
cmp edx, eax
je 0x18000de0f
lea r10d, [rax + 4]
cmp edx, r10d
jne 0x18000de00
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000ddd0
add eax, 5
cmp edx, eax
jne 0x18000de15
xor dword [rcx], r10d
inc dword [r8]
jmp 0x18000ddd0
lea eax, [r9 + 0x33]
xor dword [rcx], eax
inc r9d
add rcx, 4
cmp r9d, ebp
jb 0x18000ddd0
mov eax, dword [r8 + 0x10]
mov byte [r8 + 0xc], bpl
mov rcx, qword gs:[rax]
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x18000deb5
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x18000deb5
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0xe28bfdbc
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x18000deb0
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x10dbd33
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x18000de90
cmp edx, 0x8583e4ae
je 0x18000deba
test r9d, r9d
jne 0x18000de70
mov rax, qword [rax]
jmp 0x18000de40
mov eax, dword [r11 + 0x24]
xor r8d, r8d
mov ecx, dword [r11 + 0x1c]
add rax, r10
add rcx, r10
movzx edx, word [rax + r9*2]
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, r10
xor ecx, ecx
call rax
test rax, rax
mov qword [0x1800148b8], rax
mov ebp, 9
cmovne ebp, r12d
xchg dword [0x1800148b0], r12d
mov eax, ebp
add rsp, 0x90
pop r14
pop r13
pop r12
pop rbp
pop rbx
ret