Function at 0x140115740
Capabilities:
Get local ipv4 addresses
Get socket information
Get socket status
Manipulate boot configuration
Read .ini file
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
mov eax, 0x1a88
call fcn.1401d5c30
sub rsp, rax
mov qword [rsp + 0x19e8], 0xfffffffffffffffe
mov rax, qword [0x1402a25c0]
xor rax, rsp
mov qword [rsp + 0x1a70], rax
mov dword [rsp + 0x19b0], 0
mov rax, qword [rsp + 0x1aa8]
cmp dword [rax + 0x28], 0x66
jne 0x1401157a4
mov rcx, qword [rsp + 0x1aa0]
call fcn.14010f670
xor eax, eax
jmp 0x14011663e
mov rax, qword [rsp + 0x1aa8]
cmp dword [rax + 0x28], 0x68
jne 0x1401157c6
mov rcx, qword [rsp + 0x1aa0]
call fcn.1401103d0
xor eax, eax
jmp 0x14011663e
mov edx, 0x66
mov rcx, qword [rsp + 0x1aa0]
call fcn.1400e3580
mov edx, 0x68
mov rcx, qword [rsp + 0x1aa0]
call fcn.1400e3580
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x1402220e0]
lea rcx, [rsp + 0x1840]
call fcn.1400010b0
mov qword [rsp + 0x19f0], rax
mov rcx, qword [rsp + 0x19f0]
call fcn.1400012c0
mov r9, rax
mov r8d, 1
lea rdx, [0x1402220f8]
lea rcx, [0x140222118]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x344], edx
lea rcx, [rsp + 0x1840]
call fcn.140001470
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x140222128]
lea rcx, [rsp + 0x1848]
call fcn.1400010b0
mov qword [rsp + 0x19f8], rax
mov rcx, qword [rsp + 0x19f8]
call fcn.1400012c0
mov r9, rax
mov r8d, 1
lea rdx, [0x140222140]
lea rcx, [0x140222160]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x348], edx
lea rcx, [rsp + 0x1848]
call fcn.140001470
lea rcx, [rsp + 0x60]
call fcn.14000fb00
nop
mov dword [rsp + 0x1f8], 1
lea rcx, [rsp + 0x60]
call fcn.1401d0bc0
lea rcx, [rsp + 0x240]
call fcn.1400012c0
mov rdx, rax
lea rcx, [rsp + 0x1850]
call fcn.140002d80
mov qword [rsp + 0x1a00], rax
mov rax, qword [rsp + 0x1a00]
mov qword [rsp + 0x1a08], rax
mov rcx, qword [rsp + 0x1a08]
call fcn.140002e30
mov rcx, rax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x34c], edx
lea rcx, [rsp + 0x1850]
call fcn.140002e10
lea rcx, [rsp + 0x220]
call fcn.1400012c0
mov rdx, rax
lea rcx, [rsp + 0x1858]
call fcn.140002d80
mov qword [rsp + 0x1a10], rax
mov rax, qword [rsp + 0x1a10]
mov qword [rsp + 0x1a18], rax
mov rcx, qword [rsp + 0x1a18]
call fcn.140002e30
mov rcx, rax
call fcn.1400a9170
test rax, rax
je 0x140115a0a
lea rcx, [rsp + 0x220]
call fcn.1400012c0
mov rdx, rax
lea rcx, [rsp + 0x1860]
call fcn.140002d80
mov qword [rsp + 0x1a20], rax
mov rax, qword [rsp + 0x1a20]
mov qword [rsp + 0x1a28], rax
mov eax, dword [rsp + 0x19b0]
or eax, 1
mov dword [rsp + 0x19b0], eax
mov rcx, qword [rsp + 0x1a28]
call fcn.140002e30
mov rcx, rax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rsp + 0x1a30], eax
jmp 0x140115a15
mov dword [rsp + 0x1a30], 0
mov rcx, qword [rsp + 0x1aa0]
mov eax, dword [rsp + 0x1a30]
mov dword [rcx + 0x350], eax
mov eax, dword [rsp + 0x19b0]
and eax, 1
test eax, eax
je 0x140115a4e
and dword [rsp + 0x19b0], 0xfffffffe
lea rcx, [rsp + 0x1860]
call fcn.140002e10
nop
lea rcx, [rsp + 0x1858]
call fcn.140002e10
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x368], 0
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x36c], 0
lea rcx, [rsp + 0x270]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x374], edx
lea rcx, [rsp + 0x278]
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x370], edx
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x140222170]
lea rcx, [rsp + 0x1868]
call fcn.1400010b0
mov qword [rsp + 0x1a38], rax
mov rcx, qword [rsp + 0x1a38]
call fcn.1400012c0
mov r9, rax
mov r8d, 1
lea rdx, str.DHCPTimes
lea rcx, [0x1402221a0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x33c], edx
lea rcx, [rsp + 0x1868]
call fcn.140001470
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x1402221b0]
lea rcx, [rsp + 0x1870]
call fcn.1400010b0
mov qword [rsp + 0x1a40], rax
mov rcx, qword [rsp + 0x1a40]
call fcn.1400012c0
mov r9, rax
xor r8d, r8d
lea rdx, str.ForceBootCD
lea rcx, [0x1402221e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x340], edx
lea rcx, [rsp + 0x1870]
call fcn.140001470
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x1402221f0]
lea rcx, [rsp + 0x1878]
call fcn.1400010b0
mov qword [rsp + 0x1a48], rax
mov rcx, qword [rsp + 0x1a48]
call fcn.1400012c0
mov r9, rax
mov r8d, 1
lea rdx, str.DHCPProxy
lea rcx, [0x140222220]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x354], edx
lea rcx, [rsp + 0x1878]
call fcn.140001470
lea rdx, [0x1403ad8a0]
add rdx, 0x228
lea r8, [0x140222230]
lea rcx, [rsp + 0x1880]
call fcn.1400010b0
mov qword [rsp + 0x1a50], rax
mov rcx, qword [rsp + 0x1a50]
call fcn.1400012c0
mov r9, rax
mov r8d, 1
lea rdx, [0x140222248]
lea rcx, [0x140222260]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x140115c81
mov dword [rsp + 0x1a58], 1
jmp 0x140115c8c
mov dword [rsp + 0x1a58], 0
mov rcx, qword [rsp + 0x1aa0]
mov eax, dword [rsp + 0x1a58]
mov dword [rcx + 0x358], eax
lea rcx, [rsp + 0x1880]
call fcn.140001470
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x140222270]
lea rcx, [rsp + 0x1888]
call fcn.1400010b0
mov qword [rsp + 0x1a60], rax
mov rcx, qword [rsp + 0x1a60]
call fcn.1400012c0
mov r9, rax
mov r8d, 1
lea rdx, str.DHCPLocal
lea rcx, [0x1402222a0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x35c], edx
lea rcx, [rsp + 0x1888]
call fcn.140001470
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x1402222b0]
lea rcx, [rsp + 0x1890]
call fcn.1400010b0
mov qword [rsp + 0x1a68], rax
mov rcx, qword [rsp + 0x1a68]
call fcn.1400012c0
mov r9, rax
mov r8d, 1
lea rdx, str.DHCPCache
lea rcx, [0x1402222e0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x360], edx
lea rcx, [rsp + 0x1890]
call fcn.140001470
lea rcx, [rsp + 0x30]
call fcn.14001e700
nop
mov rax, qword [rsp + 0x1aa8]
cmp dword [rax], 2
jne 0x14011659b
mov rax, qword [rsp + 0x1aa0]
cmp dword [rax + 0x220], 0
je 0x14011659b
mov rax, qword [rsp + 0x1aa0]
mov r8d, dword [rax + 0x364]
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x1aa0]
call fcn.14010f910
mov dword [rsp + 0x5b0], eax
cmp dword [rsp + 0x5b0], 0
jne 0x140115e02
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140115d9d
cmp dword [rsp + 0x5b0], 0xffffffff
jne 0x140115e4d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8d, eax
lea rdx, str.DHCP_service_startup_error__d
mov ecx, 1
call fcn.1400dc5d0
mov rdx, qword [rsp + 0x1aa0]
mov r8d, dword [rdx + 0x364]
lea rdx, [0x140222330]
lea rcx, [0x1403ad8a0]
call fcn.1401bc8b0
jmp 0x14011659b
mov dword [rsp + 0x5b8], 1
mov dword [rsp + 0x5bc], 0
mov dword [rsp + 0x3a0], 0
mov dword [rsp + 0x5c0], 0
mov dword [rsp + 0x7d0], 0
jmp 0x140115e97
mov eax, dword [rsp + 0x7d0]
add eax, 1
mov dword [rsp + 0x7d0], eax
movsxd rdi, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.140007db0
cmp rdi, rax
jae 0x140116019
mov dword [rsp + 0x7d4], 0
jmp 0x140115ed0
mov eax, dword [rsp + 0x7d4]
add eax, 1
mov dword [rsp + 0x7d4], eax
mov eax, dword [rsp + 0x3a0]
cmp dword [rsp + 0x7d4], eax
jae 0x140115f0a
mov edi, dword [rsp + 0x7d4]
movsxd rdx, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov rax, qword [rax]
cmp qword [rsp + rdi*8 + 0x3a8], rax
jne 0x140115f08
jmp 0x140115f0a
jmp 0x140115ebf
mov eax, dword [rsp + 0x3a0]
cmp dword [rsp + 0x7d4], eax
jne 0x140115f59
cmp dword [rsp + 0x3a0], 0x40
jae 0x140115f59
movsxd rdx, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov ecx, dword [rsp + 0x7d4]
mov rax, qword [rax]
mov qword [rsp + rcx*8 + 0x3a8], rax
mov eax, dword [rsp + 0x3a0]
add eax, 1
mov dword [rsp + 0x3a0], eax
xor eax, eax
test eax, eax
jne 0x140115eb2
mov dword [rsp + 0x7d8], 0
jmp 0x140115f81
mov eax, dword [rsp + 0x7d8]
add eax, 1
mov dword [rsp + 0x7d8], eax
mov eax, dword [rsp + 0x5c0]
cmp dword [rsp + 0x7d8], eax
jae 0x140115fbb
mov edi, dword [rsp + 0x7d8]
movsxd rdx, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov rax, qword [rax]
cmp qword [rsp + rdi*8 + 0x5c8], rax
jne 0x140115fb9
jmp 0x140115fbb
jmp 0x140115f70
mov eax, dword [rsp + 0x5c0]
cmp dword [rsp + 0x7d8], eax
jne 0x14011600a
cmp dword [rsp + 0x5c0], 0x40
jae 0x14011600a
movsxd rdx, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov ecx, dword [rsp + 0x7d8]
mov rax, qword [rax]
mov qword [rsp + rcx*8 + 0x5c8], rax
mov eax, dword [rsp + 0x5c0]
add eax, 1
mov dword [rsp + 0x5c0], eax
xor eax, eax
test eax, eax
jne 0x140115f63
jmp 0x140115e86
lea rax, [rsp + 0x5b8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x5c0]
xor r8d, r8d
lea rdx, [rsp + 0x3a0]
mov ecx, 0x40
call qword [sym.imp.WS2_32.dll_select]
mov dword [rsp + 0x5b0], eax
cmp dword [rsp + 0x5b0], 0
jne 0x14011605a
jmp 0x140115d9d
cmp dword [rsp + 0x5b0], 0
jge 0x140116069
jmp 0x14011659b
mov rax, qword [rsp + 0x1aa0]
cmp dword [rax + 0x220], 0
jne 0x14011607f
jmp 0x14011659b
mov dword [rsp + 0x7dc], 0
jmp 0x14011609d
mov eax, dword [rsp + 0x7dc]
add eax, 1
mov dword [rsp + 0x7dc], eax
movsxd rdi, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.140007db0
cmp rdi, rax
jae 0x140116596
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.14001e980
lea rdx, [rsp + 0x3a0]
mov rcx, qword [rax]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14011647a
mov dword [rsp + 0x1820], 0x10
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov rcx, rax
lea rax, [rsp + 0x1820]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1828]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rsp + 0x800]
mov rcx, qword [rcx]
call qword [sym.imp.WS2_32.dll_recvfrom]
mov dword [rsp + 0x7e0], eax
cmp dword [rsp + 0x7e0], 0
jge 0x14011623d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8d, eax
lea rdx, str._ERROR__DHCP_socket_error_in_recvfrom:__d
mov ecx, 1
call fcn.1400dc5d0
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov edx, 2
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_shutdown]
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_closesocket]
movsxd rdi, dword [rsp + 0x7dc]
lea rdx, [rsp + 0x18a8]
lea rcx, [rsp + 0x30]
call fcn.140009440
mov r8, rdi
lea rdx, [rsp + 0x18b8]
mov rcx, rax
call fcn.14001f3b0
lea rdi, [rsp + 0x19d8]
mov rsi, rax
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x1898]
lea rsi, [rsp + 0x19d8]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x1960]
lea rsi, [rsp + 0x1898]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x1960]
lea rdx, [rsp + 0x18c8]
lea rcx, [rsp + 0x30]
call fcn.140022890
mov eax, dword [rsp + 0x7dc]
sub eax, 1
mov dword [rsp + 0x7dc], eax
jmp 0x140116596
cmp dword [rsp + 0x7e0], 0
jne 0x140116257
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14011608c
mov ecx, dword [rsp + 0x182c]
call fcn.1400d73b0
test eax, eax
je 0x140116290
movzx edi, word [rsp + 0x182a]
mov rax, qword [rsp + 0x1aa0]
movzx ecx, word [rax + 0x364]
call qword [sym.imp.WS2_32.dll_htons]
movzx eax, ax
cmp edi, eax
jne 0x140116290
jmp 0x14011608c
xor eax, eax
mov word [rsp + 0x7f0], ax
lea rdi, [rsp + 0x7f2]
xor eax, eax
mov ecx, reloc.WS2_32.dll_ntohl
rep stosb byte [rdi], al
mov dword [rsp + 0x1820], 0x10
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.14001e980
lea r8, [rsp + 0x1820]
lea rdx, [rsp + 0x7f0]
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x1401163db
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8d, eax
lea rdx, str._ERROR__DHCP_socket_error_in_getsockname:__d
mov ecx, 1
call fcn.1400dc5d0
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov edx, 2
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_shutdown]
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_closesocket]
movsxd rdi, dword [rsp + 0x7dc]
lea rdx, [rsp + 0x18e8]
lea rcx, [rsp + 0x30]
call fcn.140009440
mov r8, rdi
lea rdx, [rsp + 0x18f8]
mov rcx, rax
call fcn.14001f3b0
lea rdi, [rsp + 0x19c8]
mov rsi, rax
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x18d8]
lea rsi, [rsp + 0x19c8]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x1970]
lea rsi, [rsp + 0x18d8]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x1970]
lea rdx, [rsp + 0x1908]
lea rcx, [rsp + 0x30]
call fcn.140022890
mov eax, dword [rsp + 0x7dc]
sub eax, 1
mov dword [rsp + 0x7dc], eax
jmp 0x140116596
mov eax, dword [rsp + 0x7e0]
mov dword [rsp + 0x1800], eax
lea rdi, [rsp + 0x1804]
lea rsi, [rsp + 0x1828]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x1990]
lea rsi, [rsp + 0x7f0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x1980]
lea rsi, [rsp + 0x1828]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1990]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x1980]
mov r8d, dword [rsp + 0x7e0]
lea rdx, [rsp + 0x800]
mov rcx, qword [rsp + 0x1aa0]
call fcn.140115550
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.14001e980
lea rdx, [rsp + 0x5c0]
mov rcx, qword [rax]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140116591
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8d, eax
lea rdx, str._ERROR__DHCP_socket_error_in_erfdset:__d
mov ecx, 1
call fcn.1400dc5d0
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov edx, 2
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_shutdown]
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_closesocket]
movsxd rdi, dword [rsp + 0x7dc]
lea rdx, [rsp + 0x1928]
lea rcx, [rsp + 0x30]
call fcn.140009440
mov r8, rdi
lea rdx, [rsp + 0x1938]
mov rcx, rax
call fcn.14001f3b0
lea rdi, [rsp + 0x19b8]
mov rsi, rax
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x1918]
lea rsi, [rsp + 0x19b8]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x19a0]
lea rsi, [rsp + 0x1918]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x19a0]
lea rdx, [rsp + 0x1948]
lea rcx, [rsp + 0x30]
call fcn.140022890
mov eax, dword [rsp + 0x7dc]
sub eax, 1
mov dword [rsp + 0x7dc], eax
jmp 0x14011608c
jmp 0x140115d9d
mov dword [rsp + 0x1838], 0
jmp 0x1401165b9
mov eax, dword [rsp + 0x1838]
add eax, 1
mov dword [rsp + 0x1838], eax
movsxd rdi, dword [rsp + 0x1838]
lea rcx, [rsp + 0x30]
call fcn.140007db0
cmp rdi, rax
jae 0x14011660d
movsxd rdx, dword [rsp + 0x1838]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov edx, 2
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_shutdown]
movsxd rdx, dword [rsp + 0x1838]
lea rcx, [rsp + 0x30]
call fcn.14001e980
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x1401165a8
lea rcx, [rsp + 0x30]
call fcn.14001ebd0
mov dword [rsp + 0x1958], 0
lea rcx, [rsp + 0x30]
call fcn.14001e750
nop
lea rcx, [rsp + 0x60]
call fcn.140005d50
mov eax, dword [rsp + 0x1958]
mov rcx, qword [rsp + 0x1a70]
xor rcx, rsp
call fcn.1400a8040
add rsp, 0x1a88
pop rdi
pop rsi
ret