Function at 0x180055d1c
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x120]
sub rsp, 0x220
mov rbx, rcx
lea rcx, [rbp - 0x80]
call fcn.180037588
mov rax, qword [rbx + 0x68]
lea rcx, [rbp + 0x10]
mov rbx, qword [0x18010fbd0]
mov edx, 0x104
mov dword [rbp - 0x64], 1
mov dword [rbp - 0x68], 1
mov byte [rbp - 0x60], 1
mov dword [rbp - 0x6c], 0x41800000
mov qword [rbp - 0x48], rax
and qword [rbx + 0x20], 0
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea rcx, [rbp + 0x10]
call qword [sym.imp.msvcrt.dll_strlen]
mov rdi, rax
mov dword [rsp + 0x30], 0x4b
mov ecx, dword [rsp + 0x30]
xor cl, 0x5c
mov byte [rsp + 0x34], cl
mov ecx, dword [rsp + 0x30]
inc cl
xor cl, 0x46
mov byte [rsp + 0x35], cl
mov ecx, dword [rsp + 0x30]
add cl, 2
xor cl, 0x6f
mov byte [rsp + 0x36], cl
mov eax, dword [rsp + 0x30]
add al, 3
xor al, 0x6e
mov byte [rsp + 0x37], al
mov eax, dword [rsp + 0x30]
add al, 4
xor al, 0x74
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x30]
add al, 5
xor al, 0x73
mov byte [rsp + 0x39], al
mov eax, dword [rsp + 0x30]
add al, 6
xor al, 0x5c
mov byte [rsp + 0x3a], al
mov eax, dword [rsp + 0x30]
add al, 7
xor al, 0x6d
mov byte [rsp + 0x3b], al
mov eax, dword [rsp + 0x30]
add al, 8
xor al, 0x69
mov byte [rsp + 0x3c], al
mov eax, dword [rsp + 0x30]
add al, 9
xor al, 0x63
mov byte [rsp + 0x3d], al
mov eax, dword [rsp + 0x30]
add al, 0xa
xor al, 0x72
mov byte [rsp + 0x3e], al
mov eax, dword [rsp + 0x30]
add al, 0xb
xor al, 0x6f
mov byte [rsp + 0x3f], al
mov eax, dword [rsp + 0x30]
add al, 0xc
xor al, 0x73
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x30]
add al, 0xd
xor al, 0x73
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0x30]
add al, 0xe
xor al, 0x2e
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x30]
add al, 0xf
xor al, 0x74
mov byte [rsp + 0x43], al
mov eax, dword [rsp + 0x30]
add al, 0x10
xor al, 0x74
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x30]
add al, 0x11
xor al, 0x66
mov byte [rsp + 0x45], al
xor eax, eax
mov byte [rsp + 0x46], al
xor edx, edx
mov al, byte [rsp + 0x34]
mov al, byte [rsp + rdx + 0x34]
mov ecx, dword [rsp + 0x30]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x34], cl
inc rdx
cmp rdx, 0x12
jb 0x180055e79
lea rdx, [rsp + 0x34]
mov byte [rsp + 0x46], 0
lea rcx, [rbp + 0x10]
call qword [sym.imp.msvcrt.dll_strcat]
movss xmm2, dword [rbp - 0x6c]
lea r9, [rbp - 0x80]
mov rcx, qword [rbx + 0x58]
lea rdx, [rbp + 0x10]
call fcn.180037dac
mov byte [rbp - 0x38], 1
mov byte [rbp + rdi + 0x10], 0
mov dword [rsp + 0x48], 0x1a
mov eax, dword [rsp + 0x48]
xor al, 0x5c
mov byte [rsp + 0x4c], al
mov eax, dword [rsp + 0x48]
inc al
xor al, 0x46
mov byte [rsp + 0x4d], al
mov eax, dword [rsp + 0x48]
add al, 2
xor al, 0x6f
mov byte [rsp + 0x4e], al
mov eax, dword [rsp + 0x48]
add al, 3
xor al, 0x6e
mov byte [rsp + 0x4f], al
mov eax, dword [rsp + 0x48]
add al, 4
xor al, 0x74
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x48]
add al, 5
xor al, 0x73
mov byte [rsp + 0x51], al
mov eax, dword [rsp + 0x48]
add al, 6
xor al, 0x5c
mov byte [rsp + 0x52], al
mov eax, dword [rsp + 0x48]
add al, 7
xor al, 0x73
mov byte [rsp + 0x53], al
mov eax, dword [rsp + 0x48]
add al, 8
xor al, 0x69
mov byte [rsp + 0x54], al
mov eax, dword [rsp + 0x48]
add al, 9
xor al, 0x6d
mov byte [rsp + 0x55], al
mov eax, dword [rsp + 0x48]
add al, 0xa
xor al, 0x73
mov byte [rsp + 0x56], al
mov eax, dword [rsp + 0x48]
add al, 0xb
xor al, 0x75
mov byte [rsp + 0x57], al
mov eax, dword [rsp + 0x48]
add al, 0xc
xor al, 0x6e
mov byte [rsp + 0x58], al
mov eax, dword [rsp + 0x48]
add al, 0xd
xor al, 0x2e
mov byte [rsp + 0x59], al
mov eax, dword [rsp + 0x48]
add al, 0xe
xor al, 0x74
mov byte [rsp + 0x5a], al
mov eax, dword [rsp + 0x48]
add al, 0xf
xor al, 0x74
mov byte [rsp + 0x5b], al
mov eax, dword [rsp + 0x48]
add al, 0x10
xor al, 0x63
mov byte [rsp + 0x5c], al
xor eax, eax
mov byte [rsp + 0x5d], al
mov al, byte [rsp + 0x4c]
xor edx, edx
mov al, byte [rsp + rdx + 0x4c]
mov ecx, dword [rsp + 0x48]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x4c], cl
inc rdx
cmp rdx, 0x11
jb 0x180055fa3
lea rdx, [rsp + 0x4c]
mov byte [rsp + 0x5d], 0
lea rcx, [rbp + 0x10]
call qword [sym.imp.msvcrt.dll_strcat]
movss xmm2, dword [rbp - 0x6c]
lea r9, [rbp - 0x80]
mov rcx, qword [rbx + 0x58]
lea rdx, [rbp + 0x10]
call fcn.180037dac
mov byte [rbp + rdi + 0x10], 0
xor eax, eax
mov dword [rsp + 0x60], 0x31
xor edx, edx
mov byte [rsp + 0x64], WSASetLastError
mov byte [rsp + 0x65], 0x77
mov byte [rsp + 0x66], 0x5e
mov byte [rsp + 0x67], 0x5f
mov byte [rsp + 0x68], 0x45
mov byte [rsp + 0x69], 0x42
mov byte [rsp + 0x6a], WSASetLastError
mov byte [rsp + 0x6b], 0x5c
mov byte [rsp + 0x6c], 0x50
mov byte [rsp + 0x6d], 0x5d
mov byte [rsp + 0x6e], 0x56
mov byte [rsp + 0x6f], 0x44
mov byte [rsp + 0x70], 0x5f
mov byte [rsp + 0x71], 0x1f
mov byte [rsp + 0x72], 0x45
mov byte [rsp + 0x73], 0x45
mov byte [rsp + 0x74], 0x57
mov byte [rsp + 0x75], al
mov al, byte [rsp + 0x64]
mov al, byte [rsp + rdx + 0x64]
mov ecx, dword [rsp + 0x60]
xor cl, al
mov byte [rsp + rdx + 0x64], cl
inc rdx
cmp rdx, 0x11
jb 0x180056054
lea rdx, [rsp + 0x64]
mov byte [rsp + 0x75], 0
lea rcx, [rbp + 0x10]
call qword [sym.imp.msvcrt.dll_strcat]
movss xmm2, dword [rbp - 0x6c]
lea r9, [rbp - 0x80]
mov rcx, qword [rbx + 0x58]
lea rdx, [rbp + 0x10]
call fcn.180037dac
mov rbx, qword [rbx + 0x58]
cmp dword [rbx + 0x78], 0
jne 0x1800560a7
mov rcx, rbx
call fcn.180037b54
mov rax, qword [rbx + 0x488]
test rax, rax
jne 0x1800560c8
lea rax, [0x180038318]
mov qword [0x180110990], rax
lea rax, [0x180110990]
mov rcx, rbx
call qword [rax]
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret