Function at 0x180004370
Capabilities:
Get hostname
Get mac address on windows
Hash data via wincrypt
Hash data with md5
Initialize hashing via wincrypt
Initialize winsock library
Resolve dns

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x7c8
mov r14, rcx
mov rax, qword [0x1805560a0]
xor rax, rsp
mov qword [rsp + 0x7c0], rax
lea rdx, [rsp + 0x1e8]
mov cx, 2
call sub.WS2_32.dll_WSAStartup
test eax, eax
jne 0x18000441a
lea rcx, [rsp + 0xe0]
mov edx, 0xff
call sub.WS2_32.dll_gethostname
test eax, eax
jne 0x180004415
lea rcx, [rsp + 0xe0]
call sub.WS2_32.dll_gethostbyname
test rax, rax
je 0x180004415
mov rax, qword [rax + 0x18]
mov rax, qword [rax]
mov ecx, dword [rax]
call sub.WS2_32.dll_inet_ntoa
mov rsi, rax
lea rdi, [0x18054b0d0]
lea rcx, [rsp + 0x380]
lea r8, [rsp + 0xe0]
mov rdx, rdi
call fcn.1800046d0
lea rcx, [rsp + 0x5a0]
mov rdx, rdi
mov r8, rsi
call fcn.1800046d0
call sub.WS2_32.dll_WSACleanup
mov dword [rsp + 0x6c], 0
xor ebx, ebx
lea rdx, [rsp + 0x6c]
xor ecx, ecx
call qword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
mov edx, dword [rsp + 0x6c]
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x18000469e
mov rdi, rax
lea rdx, [rsp + 0x6c]
mov rcx, rax
call qword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
test eax, eax
jne 0x18000469e
movzx r8d, byte [rdi + 0x198]
movzx r9d, byte [rdi + 0x199]
movzx r10d, byte [rdi + 0x19a]
movzx ecx, byte [rdi + 0x19b]
movzx edx, byte [rdi + 0x19c]
movzx ebx, byte [rdi + 0x19d]
movzx esi, byte [rdi + 0x19e]
movzx eax, byte [rdi + 0x19f]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r10d
lea rdx, str._02X_02X_02X_02X_02X_02X_02X_02X
lea rsi, [rsp + 0x490]
mov rcx, rsi
call fcn.1800046d0
mov qword [rsp + 0x20], rsi
lea rdx, str._s__s__s
lea rcx, [rsp + 0x6b0]
lea r8, [rsp + 0x380]
lea r9, [rsp + 0x5a0]
call fcn.1800046d0
mov dword [rsp + 0x54], 0x10
mov dword [rsp + 0x20], 0xf0000000
xor ebx, ebx
lea rcx, [rsp + 0x60]
xor edx, edx
xor r8d, r8d
mov r9d, 1
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x18000469e
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
xor ebx, ebx
mov edx, 0x8003
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x18000467d
lea rsi, [rsp + 0x6b0]
mov rcx, rsi
call fcn.18000b720
mov rcx, qword [rsp + 0x58]
xor ebx, ebx
mov rdx, rsi
mov r8d, eax
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
mov rcx, qword [rsp + 0x58]
test eax, eax
je 0x180004677
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0xd0]
lea r9, [rsp + 0x54]
mov edx, 2
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
je 0x180004684
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
mov byte [rsp + 0xc0], 0
cmp dword [rsp + 0x54], 0
je 0x180004621
xor ebx, ebx
lea r15, str._02x
lea rsi, [rsp + 0x70]
lea r12, [rsp + 0xa0]
nop dword [rax]
movzx r8d, byte [rsp + rbx + 0xd0]
mov rcx, rsi
mov rdx, r15
call fcn.180004750
mov edx, 0x21
mov rcx, r12
mov r8, rsi
call fcn.18000b7c8
add rbx, 1
mov eax, dword [rsp + 0x54]
cmp rbx, rax
jb 0x1800045f0
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov rcx, qword [rsp + 0x60]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
test r14, r14
je 0x18000465d
lea rsi, [rsp + 0xa0]
mov rcx, rsi
call fcn.18000b720
lea rdx, [rax + 1]
mov rcx, r14
mov r8, rsi
call fcn.18000b840
mov edx, dword [rsp + 0x6c]
mov rcx, rdi
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov ebx, 1
jmp 0x18000469e
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov rcx, qword [rsp + 0x60]
jmp 0x180004696
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov rcx, qword [rsp + 0x60]
xor ebx, ebx
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov rcx, qword [rsp + 0x7c0]
xor rcx, rsp
call fcn.18001a3d0
mov eax, ebx
add rsp, 0x7c8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret