Function at 0x18001887c
Capabilities:
Initialize winsock library

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x1d0
mov r8d, dword [0x180035c58]
mov rbx, rcx
mov rdx, rcx
mov ecx, 0x7895433b
call fcn.18000ae48
test rax, rax
je 0x1800188cc
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800350e8]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800350e8], ecx
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0xbe125c8d
call fcn.18000ae48
test rax, rax
je 0x18001890e
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800346ec]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800346ec], ecx
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0x71146dff
call fcn.18000ae48
test rax, rax
je 0x180018950
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800350d0]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800350d0], ecx
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0x58952491
call fcn.18000ae48
test rax, rax
je 0x180018992
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800350d4]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800350d4], ecx
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0xfcea26e2
call fcn.18000ae48
test rax, rax
je 0x1800189d4
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800350d8]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800350d8], ecx
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0x45a0e6c
call fcn.18000ae48
test rax, rax
je 0x180018a16
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800350e0]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800350e0], ecx
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0xcd926ce
call fcn.18000ae48
test rax, rax
je 0x180018a58
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x180034128]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x180034128], ecx
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0x3cd8b2cb
call fcn.18000ae48
test rax, rax
je 0x180018a9a
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x180034150]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x180034150], ecx
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0x31fc0661
call fcn.18000ae48
test rax, rax
je 0x180018adc
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800350e4]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800350e4], ecx
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0x3df17130
call fcn.18000ae48
lea rsi, [0x180000000]
test rax, rax
je 0x180018b1b
xor edx, edx
mov rcx, rax
call fcn.18000f450
mov qword [0x180035f08], rax
test rax, rax
je 0x180018b1b
mov rdi, qword [0x180035c60]
jmp 0x180018b31
mov rdi, qword [0x180035c60]
lea rax, [rdi + rsi + 0x3a33d]
mov qword [0x180035f08], rax
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0x1409ccc6
call fcn.18000ae48
test rax, rax
je 0x180018b5d
xor edx, edx
mov rcx, rax
call fcn.18000f450
mov rdi, qword [0x180035c60]
jmp 0x180018b65
lea rax, [rdi + rsi + 0x3abda]
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0xc6e32b36
mov qword [0x180035b38], rax
call fcn.18000ae48
test rax, rax
je 0x180018b98
xor edx, edx
mov rcx, rax
call fcn.18000f450
mov rdi, qword [0x180035c60]
jmp 0x180018ba0
lea rax, [rdi + rsi + 0x3a80b]
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0x6e8f4eaa
mov qword [0x180035b40], rax
call fcn.18000ae48
test rax, rax
je 0x180018bd3
xor edx, edx
mov rcx, rax
call fcn.18000f450
mov rdi, qword [0x180035c60]
jmp 0x180018bdb
lea rax, [rdi + rsi + 0x3ac26]
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0xd2079859
mov qword [0x180035b48], rax
call fcn.18000ae48
test rax, rax
je 0x180018c07
xor edx, edx
mov rcx, rax
call fcn.18000f450
jmp 0x180018c0f
lea rax, [rdi + rsi + 0x3ac2b]
cmp dword [0x180035bcc], 0x1d4e36c0
mov qword [0x180035b50], rax
jne 0x180018dff
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0x1ddeb827
call fcn.18000ae48
mov rdi, rax
mov qword [rsp + 0x200], rax
test rax, rax
je 0x180018cae
mov rcx, qword [0x180035ca0]
lea r8, [rsp + 0x208]
xor edx, edx
mov rsi, qword [rcx + 0x60]
mov rcx, qword [0x180035bf0]
call fcn.180002e84
test eax, eax
jne 0x180018c90
lea r9, [rsp + 0x208]
lea r8, [rsp + 0x1f8]
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.18001e334
test eax, eax
je 0x180018c9a
mov rcx, rdi
call fcn.18000cda8
jmp 0x180018cae
mov r8, qword [rsp + 0x28]
mov rcx, qword [0x180035a68]
xor edx, edx
call qword [sym.imp.kERNEL32.dll_HeapFree]
mov rax, qword [0x180035ca0]
mov rcx, qword [0x180035bf0]
lea r8, [rsp + 0x20]
mov rsi, qword [rax + 0x28]
xor edx, edx
call fcn.180002e84
test eax, eax
jne 0x180018d33
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x1f8]
lea rdx, [rsp + 0x200]
mov rcx, rsi
call fcn.18001e334
mov rdi, qword [rsp + 0x200]
test eax, eax
jne 0x180018d33
mov edx, dword [rsp + 0x1f8]
cmp edx, 1
jbe 0x180018d1f
mov r8d, dword [0x180035c90]
xor r9d, r9d
mov rcx, rdi
call fcn.1800283c4
mov rcx, rdi
call fcn.18000635c
mov rcx, qword [0x180035a68]
mov r8, rdi
xor edx, edx
call qword [sym.imp.kERNEL32.dll_HeapFree]
jmp 0x180018d54
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0x99e7362
call fcn.18000ae48
test rax, rax
je 0x180018d54
mov rcx, rax
call fcn.18000635c
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0xc575c546
call fcn.18000ae48
test rax, rax
je 0x180018d96
lea r8, [rsp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrToIntExA]
mov ecx, dword [0x1800350dc]
test eax, eax
cmovne ecx, dword [rsp + 0x1f8]
mov dword [0x1800350dc], ecx
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0xf6636675
call fcn.18000ae48
mov rdi, rax
test rax, rax
je 0x180018dd5
lea rdx, [rsp + 0x30]
mov ecx, 0x201
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x180018dd5
lea rdx, [0x180035ab0]
mov rcx, rdi
call fcn.1800227b0
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0x607ab94f
call fcn.18000ae48
test rax, rax
je 0x180018dff
xor edx, edx
mov rcx, rax
call fcn.18000f450
mov qword [0x180035b30], rax
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0x261a367a
call fcn.18000ae48
test rax, rax
je 0x180018eac
mov edx, 0x10
mov rcx, rax
call fcn.18000f450
mov qword [rsp + 0x200], rax
test rax, rax
je 0x180018eac
mov rcx, qword [0x180035f28]
add rcx, 0x70
call qword [sym.imp.kERNEL32.dll_EnterCriticalSection]
jmp 0x180018e54
mov ecx, 0xa
call qword [sym.imp.kERNEL32.dll_Sleep]
mov r11, qword [0x180035f28]
mov eax, dword [r11 + 0x98]
test eax, eax
jne 0x180018e49
mov rcx, qword [0x180035f28]
mov r8, qword [rcx]
test r8, r8
je 0x180018e97
lea rax, [0x18003a2ee]
cmp r8, rax
je 0x180018e97
mov rcx, qword [0x180035a68]
xor edx, edx
call qword [sym.imp.kERNEL32.dll_HeapFree]
mov rcx, qword [0x180035f28]
mov rax, qword [rsp + 0x200]
mov qword [rcx], rax
add rcx, 0x70
call qword [sym.imp.kERNEL32.dll_LeaveCriticalSection]
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0xb9d404b2
call fcn.18000ae48
test rax, rax
je 0x180018ee7
xor edx, edx
mov rcx, rax
call fcn.18000f450
test rax, rax
je 0x180018ee7
mov rcx, qword [0x180035f28]
mov rdx, rax
add rcx, 8
call fcn.18002736c
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0xd120db1e
call fcn.18000ae48
test rax, rax
je 0x180018f22
xor edx, edx
mov rcx, rax
call fcn.18000f450
test rax, rax
je 0x180018f22
mov rcx, qword [0x180035f28]
mov rdx, rax
add rcx, 8
call fcn.18002736c
mov r8d, dword [0x180035c58]
mov rdx, rbx
mov ecx, 0x1c544b18
call fcn.18000ae48
test rax, rax
je 0x180018f5d
xor edx, edx
mov rcx, rax
call fcn.18000f450
test rax, rax
je 0x180018f5d
mov rcx, qword [0x180035f28]
mov rdx, rax
add rcx, 0x18
call fcn.18002736c
add rsp, 0x1d0
pop rdi
pop rsi
pop rbx
ret