Function at 0x180007f98
Capabilities:
Encode data using xor
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov r10d, dword [rsp + 0x58]
mov ebp, edx
mov eax, dword [0x1800e807c]
lea edx, [rcx - 0xd6a]
mov rbx, qword [rsp + 0x50]
mov r11d, r8d
mov edi, r8d
xor r11d, 0x1113
lea esi, [r10 - 0xabf]
xor edi, 0x3f48
xor r10d, 0x3082
xor ebp, 0x224e
add r9d, 0xffffd0f3
cmp dword [0x1800e8060], eax
ja 0x180008015
mov rcx, qword [section..data]
mov eax, dword [rbx + 0x1c]
xor eax, dword [rcx + 0x98]
xor eax, 0xbdfb09da
mov dword [rcx + 0x98], eax
mov rax, qword [section..data]
add dword [rax + 0x98], 0xfffff32c
lea eax, [rdi + 0x223]
cmp r8d, eax
je 0x1800082b3
lea eax, [rdi + 0x123e]
cmp r10d, eax
jg 0x18000823c
lea eax, [r10 + 0x206f]
cmp edx, eax
je 0x180008206
mov eax, dword [rbx + 0x50]
cmp dword [rbx + 0xd8], eax
jbe 0x180008073
mov rax, qword [section..data]
lea rcx, [0x180016d60]
mov qword [rax + 0xc8], rcx
xor r10d, r10d
lea r11d, [r10 + 1]
mov rax, qword [rbx + 0xc8]
mov r8, qword [section..data]
mov r9d, dword [r10 + rax]
add r10, 4
imul r9d, dword [r8 + 0x98]
mov ecx, dword [r8 + 0x58]
mov eax, dword [0x1800e80a4]
add eax, 0xfff05353
add ecx, eax
mov eax, dword [0x1800e8038]
mov dword [0x1800e80a4], ecx
add eax, 0x2881c04
mov ecx, dword [0x1800e8064]
mov edx, r9d
sub ecx, dword [0x1800e8098]
add ecx, eax
shr edx, 0x10
mov dword [0x1800e8038], ecx
mov rax, qword [r8 + 0xd0]
movsxd rcx, dword [0x1800e80ac]
mov byte [rcx + rax], dl
mov edx, r9d
add dword [0x1800e80ac], r11d
mov rax, qword [section..data]
shr edx, 8
movsxd rcx, dword [rax + 0x9c]
mov rax, qword [0x1800e80e0]
mov byte [rcx + rax], dl
mov rax, qword [section..data]
add dword [rax + 0x9c], r11d
mov rax, qword [rbx + 0xd0]
movsxd rcx, dword [0x1800e80ac]
mov byte [rcx + rax], r9b
add dword [0x1800e80ac], r11d
mov ecx, dword [0x1800e8038]
mov eax, dword [0x1800e8064]
inc eax
imul ecx, eax
mov eax, r11d
mov dword [0x1800e8038], ecx
mov rcx, qword [section..data]
sub eax, dword [rcx + 0xc0]
add dword [rcx + 0x88], eax
mov rdx, qword [section..data]
mov eax, dword [0x1800e80f0]
add eax, eax
sub eax, dword [rbx + 0x1c]
add eax, 0x19d265
mov dword [0x1800e80f0], eax
mov ecx, dword [rdx + 0x7c]
add ecx, dword [0x1800e8098]
mov eax, dword [0x1800e8064]
add eax, 0xfd70a9fb
add ecx, eax
mov dword [0x1800e8064], ecx
mov ecx, dword [rdx + 0x34]
add ecx, 0x18d330
add ecx, dword [rdx + 0x14]
xor dword [rbx + 0x94], ecx
cmp r10, 0x2e60
jl 0x18000807a
mov rax, qword [section..data]
mov ecx, dword [0x1800e8148]
sub ecx, dword [rax + 0x40]
mov eax, dword [rbx + 0x14]
add ecx, 0xcfb52
add eax, 0x194735
xor ecx, eax
mov dword [rbx + 0x98], ecx
mov rax, qword [section..data]
mov ecx, dword [rax + 0xe0]
add ecx, dword [0x1800e80e8]
xor ecx, dword [0x1800e80a8]
xor ecx, 0x73ff2
mov dword [0x1800e80a8], ecx
jmp 0x1800082b3
mov rcx, qword [section..data]
mov eax, dword [rcx + 0x1c]
and eax, edx
cmp dword [0x1800e8148], eax
jbe 0x1800082b3
mov edx, dword [rcx + 0x94]
mov ecx, dword [rcx + 0xd8]
sub ecx, ebp
mov eax, ebp
add ecx, r11d
or rdx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
jmp 0x1800082b3
mov rcx, qword [section..data]
mov eax, dword [rcx + 0x138]
and eax, esi
xor eax, 0x224e
cmp r11d, eax
jb 0x18000827c
mov r8d, esi
mov edx, esi
sub r8d, dword [rcx + 0xe4]
sub edx, edi
mov ecx, dword [0x1800e802c]
xor ecx, esi
imul ecx, r9d
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov rcx, qword [section..data]
mov eax, dword [0x1800e80f0]
and eax, 0x901
or eax, 0x2244
sub dword [0x1800e8040], eax
mov eax, dword [rbx + 0x7c]
xor eax, esi
or dword [rcx + 0x40], eax
mov edx, dword [0x1800e804c]
add edx, dword [0x1800e8060]
mov r8, qword [section..data]
or edx, edi
or dword [r8 + 0x48], edx
mov rbx, qword [rsp + 0x30]
lea eax, [rdi + 0xc6c]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret