Function at 0x1400eff00
Capabilities:
Get common file path
Get hostname
Get system information on windows
Initialize winsock library
Query or enumerate registry value

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x650
mov qword [r11 - 0x4f8], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov rax, qword [0x14041da10]
xor rax, rsp
mov qword [rsp + 0x640], rax
mov rdi, rcx
mov qword [r11 - 0x558], rcx
lea rax, vtable.HitmanPro35::HitmanPro.0
mov qword [rcx], rax
mov byte [rcx + 0x32], 1
lea rbx, [0x14034d1a0]
mov qword [rcx + 0x40], rbx
xor esi, esi
mov qword [rcx + 0x48], rsi
lea rax, vtable.Core::Collections::Generic::LinkedList_class_Core::Net::WebProxy____ptr64_.1.0
mov qword [rcx + 0x68], rax
lea rax, vtable.Core::Collections::Generic::LinkedList_class_Core::Net::WebProxy____ptr64_.0
mov qword [rcx + 0x70], rax
mov qword [rcx + 0x78], rsi
mov qword [rcx + 0x80], rsi
mov dword [rcx + 0x88], esi
lea r14, vtable.Core::Mutex.0
mov qword [rcx + 0x98], r14
add rcx, 0xa0
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
mov qword [rdi + 0xd8], rbx
mov qword [rdi + 0xe0], rsi
mov qword [rdi + 0xf0], rbx
mov qword [rdi + 0xf8], rsi
mov qword [rdi + 0x138], rbx
mov qword [rdi + 0x140], rsi
mov qword [rdi + 0x148], r14
lea rcx, [rdi + 0x150]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
mov qword [rdi + 0x178], rbx
mov qword [rdi + 0x180], rsi
mov qword [rdi + 0x188], rbx
mov qword [rdi + 0x190], rsi
lea rax, vtable.Core::DateTime.0
mov qword [rdi + 0x1a0], rax
mov qword [rdi + 0x1a8], rsi
mov dword [rdi + 0x1b0], 1
mov qword [rdi + 0x1e0], rbx
mov qword [rdi + 0x1e8], rsi
mov qword [rdi + 0x1f0], rbx
mov qword [rdi + 0x1f8], rsi
mov qword [rdi + 0x200], rbx
mov qword [rdi + 0x208], rsi
mov qword [rdi + 0x210], rbx
mov qword [rdi + 0x218], rsi
mov byte [rdi + 0x22d], sil
mov qword [rdi + 0x230], rax
mov qword [rdi + 0x238], rsi
mov dword [rdi + 0x240], 1
mov qword [rdi + 0x2b0], rbx
mov qword [rdi + 0x2b8], rsi
mov qword [rdi + 0x2c8], rsi
lea r12, vtable.Core::EventWaitHandle.0
mov qword [rdi + 0x2c0], r12
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0x2c8], rax
lea r14, vtable.Core::ManualResetEvent.0
mov qword [rdi + 0x2c0], r14
mov qword [rdi + 0x2d8], rsi
mov qword [rdi + 0x2d0], r12
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0x2d8], rax
mov qword [rdi + 0x2d0], r14
lea rax, vtable.Delegate_class_HitmanPro35::HitmanPro____ptr64__struct_HitmanPro35::CheckForUpdateEventArgs____ptr64_.0
mov qword [rdi + 0x300], rax
lea rax, vtable.Core::Collections::Generic::LinkedList_class_DelegateCall_class_HitmanPro35::HitmanPro____ptr64__struct_HitmanPro35::CheckForUpdateEventArgs____ptr64_____ptr64_.0
mov qword [rdi + 0x308], rax
lea rax, vtable.Core::Collections::Generic::LinkedList_class_DelegateCall_class_HitmanPro35::HitmanPro____ptr64__struct_HitmanPro35::CheckForUpdateEventArgs____ptr64_____ptr64_.1.0
mov qword [rdi + 0x310], rax
mov qword [rdi + 0x318], rsi
mov qword [rdi + 0x320], rsi
mov dword [rdi + 0x328], esi
lea rax, vtable.Delegate_class_HitmanPro35::HitmanPro____ptr64__struct_HitmanPro35::ApplicationStateEventArgs____ptr64_.0
mov qword [rdi + 0x330], rax
lea rax, vtable.Core::Collections::Generic::LinkedList_class_DelegateCall_class_HitmanPro35::HitmanPro____ptr64__struct_HitmanPro35::ApplicationStateEventArgs____ptr64_____ptr64_.0
mov qword [rdi + 0x338], rax
lea rax, vtable.Core::Collections::Generic::LinkedList_class_DelegateCall_class_HitmanPro35::HitmanPro____ptr64__struct_HitmanPro35::ApplicationStateEventArgs____ptr64_____ptr64_.1.0
mov qword [rdi + 0x340], rax
mov qword [rdi + 0x348], rsi
mov qword [rdi + 0x350], rsi
mov dword [rdi + 0x358], esi
lea rax, vtable.Delegate_class_HitmanPro35::HitmanPro____ptr64__struct_HitmanPro35::ApplicationMessageEventArgs____ptr64_.0
mov qword [rdi + 0x360], rax
lea rax, vtable.Core::Collections::Generic::LinkedList_class_DelegateCall_class_HitmanPro35::HitmanPro____ptr64__struct_HitmanPro35::ApplicationMessageEventArgs____ptr64_____ptr64_.0
mov qword [rdi + 0x368], rax
lea rax, vtable.Core::Collections::Generic::LinkedList_class_DelegateCall_class_HitmanPro35::HitmanPro____ptr64__struct_HitmanPro35::ApplicationMessageEventArgs____ptr64_____ptr64_.1.0
mov qword [rdi + 0x370], rax
mov qword [rdi + 0x378], rsi
mov qword [rdi + 0x380], rsi
mov dword [rdi + 0x388], esi
lea rax, vtable.Delegate_class_HitmanPro35::HitmanPro____ptr64__struct_HitmanPro35::FileChangedEventArgs____ptr64_.0
mov qword [rdi + 0x390], rax
lea rax, vtable.Core::Collections::Generic::LinkedList_class_DelegateCall_class_HitmanPro35::HitmanPro____ptr64__struct_HitmanPro35::FileChangedEventArgs____ptr64_____ptr64_.0
mov qword [rdi + 0x398], rax
lea rax, vtable.Core::Collections::Generic::LinkedList_class_DelegateCall_class_HitmanPro35::HitmanPro____ptr64__struct_HitmanPro35::FileChangedEventArgs____ptr64_____ptr64_.1.0
mov qword [rdi + 0x3a0], rax
mov qword [rdi + 0x3a8], rsi
mov qword [rdi + 0x3b0], rsi
mov dword [rdi + 0x3b8], esi
lea r13, vtable.Delegate_class_HitmanPro35::HitmanPro____ptr64__class_Core::EventArgs____ptr64_.0
mov qword [rdi + 0x3c0], r13
lea r12, vtable.Core::Collections::Generic::LinkedList_class_DelegateCall_class_HitmanPro35::HitmanPro____ptr64__class_Core::EventArgs____ptr64_____ptr64_.0
mov qword [rdi + 0x3c8], r12
lea r14, vtable.Core::Collections::Generic::LinkedList_class_DelegateCall_class_HitmanPro35::HitmanPro____ptr64__class_Core::EventArgs____ptr64_____ptr64_.1.0
mov qword [rdi + 0x3d0], r14
mov qword [rdi + 0x3d8], rsi
mov qword [rdi + 0x3e0], rsi
mov dword [rdi + 0x3e8], esi
mov qword [rdi + 0x3f0], rsi
mov qword [rdi + 0x3f8], rsi
call fcn.14000a380
mov qword [rdi + 0x3f0], rax
lea rax, vtable.Core::Dictionary_class_Core::String__class_HitmanPro35::FileSystemBase____ptr64_.0
mov qword [rdi + 0x400], rax
mov qword [rdi + 0x408], rsi
mov qword [rdi + 0x410], rsi
mov dword [rdi + 0x418], esi
mov qword [rdi + 0x448], rsi
mov qword [rdi + 0x450], rsi
call fcn.14000a340
mov qword [rdi + 0x448], rax
mov qword [rdi + 0x458], rsi
mov qword [rdi + 0x460], rsi
call fcn.1400e3e70
mov qword [rdi + 0x458], rax
lea rax, vtable.Core::Mutex.0
mov qword [rdi + 0x470], rax
lea rcx, [rdi + 0x478]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
mov qword [rdi + 0x4a0], rsi
mov qword [rdi + 0x4a8], rsi
call fcn.14000a380
mov qword [rdi + 0x4a0], rax
mov qword [rdi + 0x4b0], rsi
mov qword [rdi + 0x4b8], rsi
call fcn.14000a340
mov qword [rdi + 0x4b0], rax
lea rax, vtable.HitmanPro35::UserHives.0
mov qword [rdi + 0x4c0], rax
mov qword [rdi + 0x4c8], rsi
mov qword [rdi + 0x4d0], rsi
mov qword [rdi + 0x4d8], rsi
mov qword [rdi + 0x4f0], rsi
mov qword [rdi + 0x4f8], rsi
call fcn.14000a340
mov qword [rdi + 0x4f0], rax
mov qword [rdi + 0x500], rsi
mov qword [rdi + 0x508], rsi
call fcn.14000a340
mov qword [rdi + 0x500], rax
mov qword [rdi + 0x510], rsi
mov qword [rdi + 0x518], rsi
call fcn.14000a340
mov qword [rdi + 0x510], rax
mov qword [rdi + 0x520], rsi
mov qword [rdi + 0x528], rsi
call fcn.14000a340
mov qword [rdi + 0x520], rax
mov qword [rdi + 0x530], rsi
mov qword [rdi + 0x538], rsi
call fcn.14000a340
mov qword [rdi + 0x530], rax
lea rax, vtable.Core::Mutex.0
mov qword [rdi + 0x540], rax
lea rcx, [rdi + 0x548]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rcx, [rdi + 0x570]
call fcn.14011bcd0
nop
lea rax, vtable.Core::Mutex.0
mov qword [rdi + 0x5b0], rax
lea rcx, [rdi + 0x5b8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rcx, [rdi + 0x5e0]
call fcn.14011bcd0
nop
mov qword [rdi + 0x620], rsi
mov qword [rdi + 0x628], rsi
call fcn.14000a340
mov qword [rdi + 0x620], rax
lea rax, vtable.Core::Mutex.0
mov qword [rdi + 0x630], rax
lea rcx, [rdi + 0x638]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
mov qword [rdi + 0x660], rsi
mov qword [rdi + 0x668], rsi
call fcn.14000a340
mov qword [rdi + 0x660], rax
mov qword [rdi + 0x670], rsi
mov qword [rdi + 0x678], rsi
call fcn.14000a340
mov qword [rdi + 0x670], rax
mov qword [rdi + 0x680], rsi
mov qword [rdi + 0x688], rsi
call fcn.14000a340
mov qword [rdi + 0x680], rax
mov qword [rdi + 0x690], rsi
mov qword [rdi + 0x698], rsi
call fcn.14000a340
mov qword [rdi + 0x690], rax
mov qword [rdi + 0x6a0], rsi
mov qword [rdi + 0x6a8], rsi
call fcn.14000a340
mov qword [rdi + 0x6a0], rax
lea rax, vtable.Core::Mutex.0
mov qword [rdi + 0x6b0], rax
lea rcx, [rdi + 0x6b8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
mov qword [rdi + 0x6e0], rsi
mov qword [rdi + 0x6e8], rsi
call fcn.14000a340
mov qword [rdi + 0x6e0], rax
lea rax, vtable.Core::Mutex.0
mov qword [rdi + 0x6f0], rax
lea rcx, [rdi + 0x6f8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
mov qword [rdi + 0x720], rsi
mov qword [rdi + 0x728], rsi
call fcn.1400bf530
mov qword [rdi + 0x720], rax
mov qword [rdi + 0x958], r13
mov qword [rdi + 0x960], r12
mov qword [rdi + 0x968], r14
mov qword [rdi + 0x970], rsi
mov qword [rdi + 0x978], rsi
mov dword [rdi + 0x980], esi
mov qword [rdi + 0x998], rsi
lea rax, vtable.Core::EventWaitHandle.0
mov qword [rdi + 0x990], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0x998], rax
lea rax, vtable.Core::ManualResetEvent.0
mov qword [rdi + 0x990], rax
lea rax, vtable.Core::Mutex.0
mov qword [rdi + 0x9a0], rax
lea rcx, [rdi + 0x9a8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rax, vtable.Core::Dictionary_class_Core::String__bool_.0
mov qword [rdi + 0x9d0], rax
mov qword [rdi + 0x9d8], rsi
mov qword [rdi + 0x9e0], rsi
mov dword [rdi + 0x9e8], esi
mov qword [rdi + 0x9f0], rbx
mov qword [rdi + 0x9f8], rsi
mov qword [rdi + 0xa00], rbx
mov qword [rdi + 0xa08], rsi
mov qword [rdi + 0xa10], rsi
mov qword [rdi + 0xa18], rsi
call fcn.14000a340
mov qword [rdi + 0xa10], rax
mov qword [0x140430c10], rdi
xor r8d, r8d
xor edx, edx
lea ecx, [rsi + 6]
call fcn.1400ce2e0
test al, al
je 0x1400f05ff
mov rcx, rdi
call fcn.1400f4c70
test al, al
lea rdx, str.https:__
jne 0x1400f0606
lea rdx, str.http:__
lea rcx, [0x1404311d0]
call fcn.140200ef0
lea rdx, str.activate.hitmanpro.com_activaterequest.aspx
lea rcx, [0x1404311d0]
call fcn.140200ef0
mov ecx, 0x202
lea rdx, [rsp + 0x200]
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov ecx, pe_nt_image_headers64
call fcn.1402bcb4c
mov qword [rsp + 0x88], rax
test rax, rax
je 0x1400f0659
mov rcx, rax
call fcn.140298070
jmp 0x1400f065c
mov rax, rsi
mov qword [rdi + 8], rax
mov qword [rdi + 0x420], rsi
mov qword [rdi + 0x428], rsi
mov qword [rdi + 0x430], rsi
mov qword [rdi + 0x438], rsi
mov qword [rdi + 0x440], rsi
mov qword [rdi + 0x2f0], rsi
mov qword [rdi + 0x2f8], rsi
mov qword [rdi + 0x4e8], rsi
mov qword [rdi + 0x270], rsi
mov qword [rdi + 0x278], rsi
mov qword [rdi + 0x290], rsi
mov qword [rdi + 0x288], rsi
mov qword [rdi + 0x280], rsi
mov qword [rdi + 0x298], rsi
mov qword [rdi + 0x2a0], rsi
mov qword [rdi + 0x2e0], rsi
mov byte [rdi + 0x31], 0
mov dword [rdi + 0x1d], 0x1000000
mov qword [rdi + 0x260], rsi
mov byte [rdi + 0x248], 0
mov qword [rdi + 0x10], rsi
mov dword [rdi + 0x18], 0
mov dword [rdi + 0x21], 1
mov byte [rdi + 0x25], 0
mov qword [rdi + 0x28], rsi
mov dword [rdi + 0x33], 0
mov byte [rdi + 0x37], 0
mov qword [rdi + 0x100], rsi
mov byte [rdi + 0x1c], 0
mov byte [rdi + 0x22c], 0
mov word [rdi + 0x26c], 0
mov dword [rdi + 0x268], esi
mov dword [rdi + 0x110], esi
mov byte [rdi + 0x2a8], 0
or r14, 0xffffffffffffffff
mov dword [rdi + 0x108], r14d
mov byte [rdi + 0x10c], 1
mov dword [rdi + 0x468], esi
mov byte [rdi + 0x30], 1
mov byte [rdi + 0x38], 0
mov rdx, qword [0x14041eee8]
lea rcx, [rdi + 0x40]
call fcn.140200d00
mov dword [rdi + 0x50], 1
mov byte [rdi + 0x90], 0
mov qword [rdi + 0xc8], rsi
mov qword [rdi + 0xd0], rsi
mov dword [rdi + 0x730], esi
mov qword [rdi + 0x4e0], rsi
mov qword [rdi + 0x220], rsi
mov dword [rdi + 0x228], esi
mov qword [rsp + 0x1d0], 0xf
mov qword [rsp + 0x1c8], rsi
mov byte [rsp + 0x1b8], 0
lea r8d, [r14 + 0x26]
lea rdx, str.secure_memory_thread_safe_use_engines
lea rcx, [rsp + 0x1b8]
call fcn.1400ba880
nop
lea rcx, [rsp + 0x1b8]
call fcn.140072510
nop
cmp qword [rsp + 0x1d0], 0x10
jb 0x1400f07fd
mov rcx, qword [rsp + 0x1b8]
call fcn.14021ae20
mov byte [rdi + 0x54], 0
mov byte [rdi + 0x60], 0
lea rcx, [0x1404310f0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [0x140430b9a], 0
je 0x1400f082d
lea rcx, [0x1404310f0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400f08c1
lea rcx, [rsp + 0x188]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rax, qword [rsp + 0x190]
mov qword [0x140430c48], rax
mov rax, qword [rsp + 0x198]
mov qword [0x140430c50], rax
mov byte [0x140430b9a], 1
lea rcx, [0x1404310f0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [rdi + 0x54], 1
lea rcx, str.Ws2_32.dll
call fcn.14014a9e0
mov rcx, rax
lea rdx, str.GetAddrInfoW
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0x58], rax
test rax, rax
je 0x1400f08c1
lea r8, [0x140430c30]
lea rdx, [0x140118890]
mov rcx, rax
call fcn.1401438b0
test eax, eax
jne 0x1400f08c1
mov rcx, qword [rdi + 0x58]
call fcn.140143fb0
test eax, eax
sete al
mov byte [rdi + 0x60], al
lea rax, vtable.Core::Crypto::AES.0
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 0x80
mov dword [rsp + 0xd0], esi
lea r12, vtable.Core::ByteArray.0
mov qword [rsp + 0xd8], r12
mov dword [rsp + 0xe0], esi
mov qword [rsp + 0xe8], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], r12
mov dword [rsp + 0x100], esi
mov qword [rsp + 0x108], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov qword [rsp + 0x110], rax
mov edx, 0x100
lea rcx, [rsp + 0xc0]