Function at 0x18005526c
Capabilities:
Authenticate hmac
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 - 0x110]
sub rsp, 0x210
mov rbx, rcx
lea rcx, [rsp + 0x70]
call fcn.1800374b4
mov rax, qword [rbx + 0x68]
lea rcx, [rbp]
mov rbx, qword [0x18010ece0]
mov edx, 0x104
mov dword [rbp - 0x74], 1
mov dword [rbp - 0x78], 1
mov byte [rbp - 0x70], 1
mov dword [rbp - 0x7c], 0x41800000
mov qword [rbp - 0x58], rax
and qword [rbx + 0x20], 0
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea rcx, [rbp]
call qword [sym.imp.msvcrt.dll_strlen]
mov byte [rsp + 0x5a], 0x61
xor ecx, ecx
mov byte [rsp + 0x5b], 0x4b
mov rdi, rax
mov byte [rsp + 0x5c], reloc.WS2_32.dll_WSACleanup
mov byte [rsp + 0x5d], reloc.WS2_32.dll_WSAStartup
mov byte [rsp + 0x5e], 0x79
mov byte [rsp + 0x5f], 0x78
mov byte [rsp + 0x60], 0x61
mov byte [rsp + 0x61], WSACleanup
mov byte [rsp + 0x62], WSASetLastError
mov byte [rsp + 0x63], 0x68
mov byte [rsp + 0x64], 0x77
mov byte [rsp + 0x65], reloc.WS2_32.dll_WSACleanup
mov byte [rsp + 0x66], 0x78
mov byte [rsp + 0x67], 0x78
mov byte [rsp + 0x68], 0x33
mov byte [rsp + 0x69], 0x79
mov byte [rsp + 0x6a], 0x79
mov byte [rsp + 0x6b], 0x6b
mov byte [rsp + 0x6c], 0
mov al, byte [rsp + 0x5a]
mov al, byte [rsp + rcx + 0x5a]
sub al, 5
mov byte [rsp + rcx + 0x5a], al
inc rcx
cmp rcx, 0x12
jb 0x180055341
lea rdx, [rsp + 0x5a]
lea rcx, [rbp]
call qword [sym.imp.msvcrt.dll_strcat]
movss xmm2, dword [rbp - 0x7c]
lea r9, [rsp + 0x70]
mov rcx, qword [rbx + 0x58]
lea rdx, [rbp]
call fcn.180037cd8
mov byte [rbp - 0x48], 1
mov byte [rbp + rdi], 0
mov dword [rsp + 0x30], WSASetLastError
mov eax, dword [rsp + 0x30]
xor al, 0x5c
mov byte [rsp + 0x34], al
mov eax, dword [rsp + 0x30]
inc al
xor al, 0x46
mov byte [rsp + 0x35], al
mov eax, dword [rsp + 0x30]
add al, 2
xor al, 0x6f
mov byte [rsp + 0x36], al
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, 0x73
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, 0x6d
mov byte [rsp + 0x3d], al
mov eax, dword [rsp + 0x30]
add al, 0xa
xor al, 0x73
mov byte [rsp + 0x3e], al
mov eax, dword [rsp + 0x30]
add al, 0xb
xor al, 0x75
mov byte [rsp + 0x3f], al
mov eax, dword [rsp + 0x30]
add al, 0xc
xor al, 0x6e
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x30]
add al, 0xd
xor al, 0x2e
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0x30]
add al, 0xe
xor al, 0x74
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, 0x63
mov byte [rsp + 0x44], al
xor eax, eax
mov byte [rsp + 0x45], al
mov al, byte [rsp + 0x34]
xor edx, edx
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, 0x11
jb 0x180055461
lea rdx, [rsp + 0x34]
mov byte [rsp + 0x45], 0
lea rcx, [rbp]
call qword [sym.imp.msvcrt.dll_strcat]
movss xmm2, dword [rbp - 0x7c]
lea r9, [rsp + 0x70]
mov rcx, qword [rbx + 0x58]
lea rdx, [rbp]
call fcn.180037cd8
mov byte [rbp + rdi], 0
xor ecx, ecx
mov byte [rsp + 0x48], 0x64
mov byte [rsp + 0x49], 0x4e
mov byte [rsp + 0x4a], 0x77
mov byte [rsp + 0x4b], 0x76
mov byte [rsp + 0x4c], 0x7c
mov byte [rsp + 0x4d], 0x7b
mov byte [rsp + 0x4e], 0x64
mov byte [rsp + 0x4f], 0x75
mov byte [rsp + 0x50], 0x69
mov byte [rsp + 0x51], reloc.WS2_32.dll_WSACleanup
mov byte [rsp + 0x52], WSASetLastError
mov byte [rsp + 0x53], 0x7d
mov byte [rsp + 0x54], 0x76
mov byte [rsp + 0x55], 0x36
mov byte [rsp + 0x56], 0x7c
mov byte [rsp + 0x57], 0x7c
mov byte [rsp + 0x58], WSASetLastError
mov byte [rsp + 0x59], 0
mov al, byte [rsp + 0x48]
mov al, byte [rsp + rcx + 0x48]
sub al, 8
mov byte [rsp + rcx + 0x48], al
inc rcx
cmp rcx, 0x11
jb 0x18005550a
lea rdx, [rsp + 0x48]
lea rcx, [rbp]
call qword [sym.imp.msvcrt.dll_strcat]
movss xmm2, dword [rbp - 0x7c]
lea r9, [rsp + 0x70]
mov rcx, qword [rbx + 0x58]
lea rdx, [rbp]
call fcn.180037cd8
mov rbx, qword [rbx + 0x58]
cmp dword [rbx + 0x78], 0
jne 0x180055555
mov rcx, rbx
call fcn.180037a80
mov rax, qword [rbx + 0x488]
test rax, rax
jne 0x180055576
lea rax, [0x180038244]
mov qword [0x18010faa0], rax
lea rax, [0x18010faa0]
mov rcx, rbx
call qword [rax]
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret