Function at 0x180005828
Capabilities:
Initialize winsock library

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x1c0
mov r8d, dword [0x180037cb0]
mov rbx, rcx
mov rdx, rcx
mov ecx, 0x624f700f
call fcn.180017a34
test rax, rax
je 0x18000587a
lea r8, [rsp + 0x1d8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x18003711c]
test eax, eax
cmovne ecx, dword [rsp + 0x1d8]
mov dword [0x18003711c], ecx
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0xa4c86fb9
call fcn.180017a34
test rax, rax
je 0x1800058bc
lea r8, [rsp + 0x1d8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x180036f7c]
test eax, eax
cmovne ecx, dword [rsp + 0x1d8]
mov dword [0x180036f7c], ecx
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0x6bce5ecb
call fcn.180017a34
test rax, rax
je 0x1800058fe
lea r8, [rsp + 0x1d8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x180036fc8]
test eax, eax
cmovne ecx, dword [rsp + 0x1d8]
mov dword [0x180036fc8], ecx
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0x424f17a5
call fcn.180017a34
test rax, rax
je 0x180005940
lea r8, [rsp + 0x1d8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x180036fcc]
test eax, eax
cmovne ecx, dword [rsp + 0x1d8]
mov dword [0x180036fcc], ecx
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0xe63015d6
call fcn.180017a34
test rax, rax
je 0x180005982
lea r8, [rsp + 0x1d8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x18003710c]
test eax, eax
cmovne ecx, dword [rsp + 0x1d8]
mov dword [0x18003710c], ecx
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0x1e803d58
call fcn.180017a34
test rax, rax
je 0x1800059c4
lea r8, [rsp + 0x1d8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x180037114]
test eax, eax
cmovne ecx, dword [rsp + 0x1d8]
mov dword [0x180037114], ecx
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0x160315fa
call fcn.180017a34
test rax, rax
je 0x180005a06
lea r8, [rsp + 0x1d8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x180036630]
test eax, eax
cmovne ecx, dword [rsp + 0x1d8]
mov dword [0x180036630], ecx
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0x260281ff
call fcn.180017a34
test rax, rax
je 0x180005a48
lea r8, [rsp + 0x1d8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x180036658]
test eax, eax
cmovne ecx, dword [rsp + 0x1d8]
mov dword [0x180036658], ecx
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0x2b263555
call fcn.180017a34
test rax, rax
je 0x180005a8a
lea r8, [rsp + 0x1d8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x180037118]
test eax, eax
cmovne ecx, dword [rsp + 0x1d8]
mov dword [0x180037118], ecx
cmp dword [0x180037bfc], 0x79405f4
jne 0x180005c03
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0xdf9190f1
call fcn.180017a34
mov rdi, rax
mov qword [rsp + 0x1e0], rax
test rax, rax
je 0x180005aff
lea r8, [rsp + 0x1d8]
lea rdx, [rsp + 0x1e8]
lea rcx, [0x18003b1ae]
call fcn.180004c38
test eax, eax
je 0x180005ae8
mov rcx, rdi
call fcn.180002fd4
jmp 0x180005aff
mov r8, qword [rsp + 0x1e8]
mov rcx, qword [0x180037ae8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea r8, [rsp + 0x1d8]
lea rdx, [rsp + 0x1e0]
lea rcx, [0x18003b1a9]
call fcn.180004c38
test eax, eax
jne 0x180005b61
mov edx, dword [rsp + 0x1d8]
mov rdi, qword [rsp + 0x1e0]
cmp edx, 1
jbe 0x180005b4d
mov r8d, dword [0x180037c94]
xor r9d, r9d
mov rcx, rdi
call fcn.180028d3c
mov rcx, rdi
call fcn.18001c758
mov rcx, qword [0x180037ae8]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x180005b82
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0x13444056
call fcn.180017a34
test rax, rax
je 0x180005b82
mov rcx, rax
call fcn.18001c758
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0xdfaff672
call fcn.180017a34
test rax, rax
je 0x180005bc4
lea r8, [rsp + 0x1d8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x180037110]
test eax, eax
cmovne ecx, dword [rsp + 0x1d8]
mov dword [0x180037110], ecx
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0xecb95541
call fcn.180017a34
mov rdi, rax
test rax, rax
je 0x180005c03
lea rdx, [rsp + 0x20]
mov ecx, 0x201
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x180005c03
lea rdx, [0x180037b10]
mov rcx, rdi
call fcn.180017a84
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0x3cc0054e
call fcn.180017a34
test rax, rax
je 0x180005cb0
mov edx, 0x10
mov rcx, rax
call fcn.18001733c
mov qword [rsp + 0x1e0], rax
test rax, rax
je 0x180005cb0
mov rcx, qword [0x180037f28]
add rcx, 0x70
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x180005c58
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r11, qword [0x180037f28]
mov eax, dword [r11 + 0x98]
test eax, eax
jne 0x180005c4d
mov rcx, qword [0x180037f28]
mov r8, qword [rcx]
test r8, r8
je 0x180005c9b
lea rax, [0x18003c0c0]
cmp r8, rax
je 0x180005c9b
mov rcx, qword [0x180037ae8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x180037f28]
mov rax, qword [rsp + 0x1e0]
mov qword [rcx], rax
add rcx, 0x70
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0xa30e3786
call fcn.180017a34
test rax, rax
je 0x180005ceb
xor edx, edx
mov rcx, rax
call fcn.18001733c
test rax, rax
je 0x180005ceb
mov rcx, qword [0x180037f28]
mov rdx, rax
add rcx, 8
call fcn.180018d88
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0xcbfae82a
call fcn.180017a34
test rax, rax
je 0x180005d26
xor edx, edx
mov rcx, rax
call fcn.18001733c
test rax, rax
je 0x180005d26
mov rcx, qword [0x180037f28]
mov rdx, rax
add rcx, 8
call fcn.180018d88
mov r8d, dword [0x180037cb0]
mov rdx, rbx
mov ecx, 0x68e782c
call fcn.180017a34
test rax, rax
je 0x180005d61
xor edx, edx
mov rcx, rax
call fcn.18001733c
test rax, rax
je 0x180005d61
mov rcx, qword [0x180037f28]
mov rdx, rax
add rcx, 0x18
call fcn.180018d88
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x1c0
pop rdi
ret