Function at 0x180001ad0
Capabilities:
Initialize winsock library

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x1d0
mov r8d, dword [0x180033bc8]
mov rbx, rcx
mov rdx, rcx
mov ecx, 0x724e87bc
call fcn.180028174
test rax, rax
je 0x180001b20
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800330d0]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800330d0], ecx
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0xb4c9980a
call fcn.180028174
test rax, rax
je 0x180001b62
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800326ec]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800326ec], ecx
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x7bcfa978
call fcn.180028174
test rax, rax
je 0x180001ba4
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [str._xx_n]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [str._xx_n], ecx
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x524ee016
call fcn.180028174
test rax, rax
je 0x180001be6
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800330bc]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800330bc], ecx
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0xf631e265
call fcn.180028174
test rax, rax
je 0x180001c28
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800330c0]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800330c0], ecx
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0xe81caeb
call fcn.180028174
test rax, rax
je 0x180001c6a
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800330c8]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800330c8], ecx
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x602e249
call fcn.180028174
test rax, rax
je 0x180001cac
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x180032128]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x180032128], ecx
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x3603764c
call fcn.180028174
test rax, rax
je 0x180001cee
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x180032150]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x180032150], ecx
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x3b27c2e6
call fcn.180028174
test rax, rax
je 0x180001d30
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800330cc]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800330cc], ecx
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x372ab5b7
call fcn.180028174
lea rsi, [0x180000000]
test rax, rax
je 0x180001d6f
xor edx, edx
mov rcx, rax
call fcn.180017b98
test rax, rax
mov qword [0x180033e28], rax
je 0x180001d6f
mov rdi, qword [0x180033bd0]
jmp 0x180001d85
mov rdi, qword [0x180033bd0]
lea rax, [rdi + rsi + 0x37437]
mov qword [0x180033e28], rax
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x1ed20841
call fcn.180028174
test rax, rax
je 0x180001db1
xor edx, edx
mov rcx, rax
call fcn.180017b98
mov rdi, qword [0x180033bd0]
jmp 0x180001db9
lea rax, [rdi + rsi + 0x37ba2]
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0xcc38efb1
mov qword [0x180033a70], rax
call fcn.180028174
test rax, rax
je 0x180001dec
xor edx, edx
mov rcx, rax
call fcn.180017b98
mov rdi, qword [0x180033bd0]
jmp 0x180001df4
lea rax, [rdi + rsi + 0x3790b]
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x64548a2d
mov qword [0x180033a78], rax
call fcn.180028174
test rax, rax
je 0x180001e27
xor edx, edx
mov rcx, rax
call fcn.180017b98
mov rdi, qword [0x180033bd0]
jmp 0x180001e2f
lea rax, [rdi + rsi + 0x37c2a]
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0xd8dc5cde
mov qword [0x180033a80], rax
call fcn.180028174
test rax, rax
je 0x180001e5b
xor edx, edx
mov rcx, rax
call fcn.180017b98
jmp 0x180001e63
lea rax, [rdi + rsi + 0x37c6a]
cmp dword [0x180033afc], 0x1795f247
mov qword [0x180033a88], rax
jne 0x1800020e6
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x17057ca0
call fcn.180028174
test rax, rax
mov rdi, rax
mov qword [rsp + 0x200], rax
je 0x180001efb
mov rcx, qword [0x180033b20]
lea r8, [rsp + 0x208]
xor edx, edx
call fcn.18002a0d4
test eax, eax
jne 0x180001edd
lea r9, [rsp + 0x208]
lea r8, [rsp + 0x1f8]
lea rdx, [rsp + 0x28]
lea rcx, [0x18003622a]
call fcn.1800152b0
test eax, eax
je 0x180001ee7
mov rcx, rdi
call fcn.18000b98c
jmp 0x180001efb
mov r8, qword [rsp + 0x28]
mov rcx, qword [0x1800339a8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x180033b20]
lea r8, [rsp + 0x20]
xor edx, edx
call fcn.18002a0d4
test eax, eax
jne 0x180001f79
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x1f8]
lea rdx, [rsp + 0x200]
lea rcx, [0x180036225]
call fcn.1800152b0
mov rdi, qword [rsp + 0x200]
test eax, eax
jne 0x180001f79
mov edx, dword [rsp + 0x1f8]
cmp edx, 1
jbe 0x180001f65
mov r8d, dword [0x180033b9c]
xor r9d, r9d
mov rcx, rdi
call fcn.180015e14
mov rcx, rdi
call fcn.180017820
mov rcx, qword [0x1800339a8]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x180001f9a
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x345b7e5
call fcn.180028174
test rax, rax
je 0x180001f9a
mov rcx, rax
call fcn.180017820
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0xcfae01c1
call fcn.180028174
test rax, rax
je 0x180001fdc
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800330c4]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800330c4], ecx
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0xfcb8a2f2
call fcn.180028174
test rax, rax
mov rdi, rax
je 0x18000201e
lea rdx, [rsp + 0x30]
mov cx, 0x201
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x18000201e
lea r8d, [rax + 1]
lea rdx, [0x1800339e8]
mov rcx, rdi
call fcn.1800196cc
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x8ff044ed
call fcn.180028174
test rax, rax
je 0x18000203f
mov rcx, rax
call fcn.18001a3dc
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x2848d497
call fcn.180028174
test rax, rax
mov qword [rsp + 0x200], rax
je 0x1800020bc
xor edx, edx
mov rcx, rax
call fcn.180017b98
test rax, rax
mov rdi, rax
je 0x1800020bc
lock add dword [0x180033b70], 1
lea rcx, [0x18001fea8]
xor r8d, r8d
mov rdx, rax
call fcn.1800191d8
test rax, rax
jne 0x1800020b3
call qword [sym.imp.KERNEL32.dll_GetLastError]
lock add dword [0x180033b70], 0xffffffff
mov rcx, qword [0x1800339a8]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1800020bc
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x6aa17dc8
call fcn.180028174
test rax, rax
je 0x1800020e6
xor edx, edx
mov rcx, rax
call fcn.180017b98
mov qword [0x180033a68], rax
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x2cc1f2fd
call fcn.180028174
test rax, rax
je 0x180002193
mov edx, 0x10
mov rcx, rax
call fcn.180017b98
test rax, rax
mov qword [rsp + 0x200], rax
je 0x180002193
mov rcx, qword [0x180033e40]
add rcx, 0x70
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x18000213b
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r11, qword [0x180033e40]
mov eax, dword [r11 + 0x98]
test eax, eax
jne 0x180002130
mov rcx, qword [0x180033e40]
mov r8, qword [rcx]
test r8, r8
je 0x18000217e
lea rax, [0x1800373e8]
cmp r8, rax
je 0x18000217e
mov rcx, qword [0x1800339a8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x180033e40]
mov rax, qword [rsp + 0x200]
mov qword [rcx], rax
add rcx, 0x70
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0xb30fc035
call fcn.180028174
test rax, rax
je 0x1800021ce
xor edx, edx
mov rcx, rax
call fcn.180017b98
test rax, rax
je 0x1800021ce
mov rcx, qword [0x180033e40]
mov rdx, rax
add rcx, 8
call fcn.180025704
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0xdbfb1f99
call fcn.180028174
test rax, rax
je 0x180002209
xor edx, edx
mov rcx, rax
call fcn.180017b98
test rax, rax
je 0x180002209
mov rcx, qword [0x180033e40]
mov rdx, rax
add rcx, 8
call fcn.180025704
mov r8d, dword [0x180033bc8]
mov rdx, rbx
mov ecx, 0x168f8f9f
call fcn.180028174
test rax, rax
je 0x180002244
xor edx, edx
mov rcx, rax
call fcn.180017b98
test rax, rax
je 0x180002244
mov rcx, qword [0x180033e40]
mov rdx, rax
add rcx, 0x18
call fcn.180025704
add rsp, 0x1d0
pop rdi
pop rsi
pop rbx
ret