Function at 0x14011c590
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.1401e9500
sub rsp, rax
mov qword [rsp + 0x19e8], 0xfffffffffffffffe
mov rax, qword [0x1402bd5c0]
xor rax, rsp
mov qword [rsp + 0x1a70], rax
mov dword [rsp + 0x19b0], 0
mov rax, qword [rsp + 0x1aa8]
cmp dword [rax + 0x28], 0x66
jne 0x14011c5f4
mov rcx, qword [rsp + 0x1aa0]
call fcn.140116520
xor eax, eax
jmp 0x14011d48e
mov rax, qword [rsp + 0x1aa8]
cmp dword [rax + 0x28], 0x68
jne 0x14011c616
mov rcx, qword [rsp + 0x1aa0]
call fcn.140117280
xor eax, eax
jmp 0x14011d48e
mov edx, 0x66
mov rcx, qword [rsp + 0x1aa0]
call fcn.1400e3ba0
mov edx, 0x68
mov rcx, qword [rsp + 0x1aa0]
call fcn.1400e3ba0
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x140238350]
lea rcx, [rsp + 0x1840]
call fcn.1400010b0
mov qword [rsp + 0x19f0], rax
mov rcx, qword [rsp + 0x19f0]
call fcn.140050200
mov r9, rax
mov r8d, 1
lea rdx, [0x140238368]
lea rcx, [0x140238388]
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.140007060
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x140238398]
lea rcx, [rsp + 0x1848]
call fcn.1400010b0
mov qword [rsp + 0x19f8], rax
mov rcx, qword [rsp + 0x19f8]
call fcn.140050200
mov r9, rax
mov r8d, 1
lea rdx, [0x1402383b0]
lea rcx, [0x1402383d0]
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.140007060
lea rcx, [rsp + 0x60]
call fcn.14000e170
nop
mov dword [rsp + 0x1f8], 1
lea rcx, [rsp + 0x60]
call fcn.1401e4480
lea rcx, [rsp + 0x240]
call fcn.140050200
mov rdx, rax
lea rcx, [rsp + 0x1850]
call fcn.140002d40
mov qword [rsp + 0x1a00], rax
mov rax, qword [rsp + 0x1a00]
mov qword [rsp + 0x1a08], rax
mov rcx, qword [rsp + 0x1a08]
call fcn.140002df0
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.140002dd0
lea rcx, [rsp + 0x220]
call fcn.140050200
mov rdx, rax
lea rcx, [rsp + 0x1858]
call fcn.140002d40
mov qword [rsp + 0x1a10], rax
mov rax, qword [rsp + 0x1a10]
mov qword [rsp + 0x1a18], rax
mov rcx, qword [rsp + 0x1a18]
call fcn.140002df0
mov rcx, rax
call fcn.1400aa950
test rax, rax
je 0x14011c85a
lea rcx, [rsp + 0x220]
call fcn.140050200
mov rdx, rax
lea rcx, [rsp + 0x1860]
call fcn.140002d40
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.140002df0
mov rcx, rax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rsp + 0x1a30], eax
jmp 0x14011c865
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 0x14011c89e
and dword [rsp + 0x19b0], 0xfffffffe
lea rcx, [rsp + 0x1860]
call fcn.140002dd0
nop
lea rcx, [rsp + 0x1858]
call fcn.140002dd0
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.140050200
mov rcx, rax
call fcn.1400aac5c
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x374], edx
lea rcx, [rsp + 0x278]
call fcn.140050200
mov rcx, rax
call fcn.1400aac5c
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x370], edx
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x1402383e0]
lea rcx, [rsp + 0x1868]
call fcn.1400010b0
mov qword [rsp + 0x1a38], rax
mov rcx, qword [rsp + 0x1a38]
call fcn.140050200
mov r9, rax
mov r8d, 1
lea rdx, str.DHCPTimes
lea rcx, [0x140238410]
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.140007060
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x140238420]
lea rcx, [rsp + 0x1870]
call fcn.1400010b0
mov qword [rsp + 0x1a40], rax
mov rcx, qword [rsp + 0x1a40]
call fcn.140050200
mov r9, rax
xor r8d, r8d
lea rdx, str.ForceBootCD
lea rcx, [0x140238450]
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.140007060
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x140238460]
lea rcx, [rsp + 0x1878]
call fcn.1400010b0
mov qword [rsp + 0x1a48], rax
mov rcx, qword [rsp + 0x1a48]
call fcn.140050200
mov r9, rax
mov r8d, 1
lea rdx, str.DHCPProxy
lea rcx, [0x140238490]
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.140007060
lea rdx, [0x1403c8910]
add rdx, 0x228
lea r8, [0x1402384a0]
lea rcx, [rsp + 0x1880]
call fcn.1400010b0
mov qword [rsp + 0x1a50], rax
mov rcx, qword [rsp + 0x1a50]
call fcn.140050200
mov r9, rax
mov r8d, 1
lea rdx, [0x1402384b8]
lea rcx, [0x1402384d0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x14011cad1
mov dword [rsp + 0x1a58], 1
jmp 0x14011cadc
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.140007060
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x1402384e0]
lea rcx, [rsp + 0x1888]
call fcn.1400010b0
mov qword [rsp + 0x1a60], rax
mov rcx, qword [rsp + 0x1a60]
call fcn.140050200
mov r9, rax
mov r8d, 1
lea rdx, str.DHCPLocal
lea rcx, [0x140238510]
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.140007060
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x140238520]
lea rcx, [rsp + 0x1890]
call fcn.1400010b0
mov qword [rsp + 0x1a68], rax
mov rcx, qword [rsp + 0x1a68]
call fcn.140050200
mov r9, rax
mov r8d, 1
lea rdx, str.DHCPCache
lea rcx, [0x140238550]
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.140007060
lea rcx, [rsp + 0x30]
call fcn.140027ff0
nop
mov rax, qword [rsp + 0x1aa8]
cmp dword [rax], 2
jne 0x14011d3eb
mov rax, qword [rsp + 0x1aa0]
cmp dword [rax + 0x220], 0
je 0x14011d3eb
mov rax, qword [rsp + 0x1aa0]
mov r8d, dword [rax + 0x364]
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x1aa0]
call fcn.1401167c0
mov dword [rsp + 0x5b0], eax
cmp dword [rsp + 0x5b0], 0
jne 0x14011cc52
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14011cbed
cmp dword [rsp + 0x5b0], 0xffffffff
jne 0x14011cc9d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8d, eax
lea rdx, str.DHCP_service_startup_error__d
mov ecx, 1
call fcn.1400de020
mov rdx, qword [rsp + 0x1aa0]
mov r8d, dword [rdx + 0x364]
lea rdx, [0x1402385a0]
lea rcx, [0x1403c8910]
call fcn.1401cfde0
jmp 0x14011d3eb
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 0x14011cce7
mov eax, dword [rsp + 0x7d0]
add eax, 1
mov dword [rsp + 0x7d0], eax
movsxd rdi, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.14001d480
cmp rdi, rax
jae 0x14011ce69
mov dword [rsp + 0x7d4], 0
jmp 0x14011cd20
mov eax, dword [rsp + 0x7d4]
add eax, 1
mov dword [rsp + 0x7d4], eax
mov eax, dword [rsp + 0x3a0]
cmp dword [rsp + 0x7d4], eax
jae 0x14011cd5a
mov edi, dword [rsp + 0x7d4]
movsxd rdx, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.140007280
mov rax, qword [rax]
cmp qword [rsp + rdi*8 + 0x3a8], rax
jne 0x14011cd58
jmp 0x14011cd5a
jmp 0x14011cd0f
mov eax, dword [rsp + 0x3a0]
cmp dword [rsp + 0x7d4], eax
jne 0x14011cda9
cmp dword [rsp + 0x3a0], 0x40
jae 0x14011cda9
movsxd rdx, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.140007280
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 0x14011cd02
mov dword [rsp + 0x7d8], 0
jmp 0x14011cdd1
mov eax, dword [rsp + 0x7d8]
add eax, 1
mov dword [rsp + 0x7d8], eax
mov eax, dword [rsp + 0x5c0]
cmp dword [rsp + 0x7d8], eax
jae 0x14011ce0b
mov edi, dword [rsp + 0x7d8]
movsxd rdx, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.140007280
mov rax, qword [rax]
cmp qword [rsp + rdi*8 + 0x5c8], rax
jne 0x14011ce09
jmp 0x14011ce0b
jmp 0x14011cdc0
mov eax, dword [rsp + 0x5c0]
cmp dword [rsp + 0x7d8], eax
jne 0x14011ce5a
cmp dword [rsp + 0x5c0], 0x40
jae 0x14011ce5a
movsxd rdx, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.140007280
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 0x14011cdb3
jmp 0x14011ccd6
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 0x14011ceaa
jmp 0x14011cbed
cmp dword [rsp + 0x5b0], 0
jge 0x14011ceb9
jmp 0x14011d3eb
mov rax, qword [rsp + 0x1aa0]
cmp dword [rax + 0x220], 0
jne 0x14011cecf
jmp 0x14011d3eb
mov dword [rsp + 0x7dc], 0
jmp 0x14011ceed
mov eax, dword [rsp + 0x7dc]
add eax, 1
mov dword [rsp + 0x7dc], eax
movsxd rdi, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.14001d480
cmp rdi, rax
jae 0x14011d3e6
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.140007280
lea rdx, [rsp + 0x3a0]
mov rcx, qword [rax]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14011d2ca
mov dword [rsp + 0x1820], 0x10
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.140007280
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 0x14011d08d
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.1400de020
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.140007280
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.140007280
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.14001d8a0
mov r8, rdi
lea rdx, [rsp + 0x18b8]
mov rcx, rax
call fcn.140021050
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.140020ec0
mov eax, dword [rsp + 0x7dc]
sub eax, 1
mov dword [rsp + 0x7dc], eax
jmp 0x14011d3e6
cmp dword [rsp + 0x7e0], 0
jne 0x14011d0a7
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14011cedc
mov ecx, dword [rsp + 0x182c]
call fcn.1400d97b0
test eax, eax
je 0x14011d0e0
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 0x14011d0e0
jmp 0x14011cedc
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.140007280
lea r8, [rsp + 0x1820]
lea rdx, [rsp + 0x7f0]
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x14011d22b
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.1400de020
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.140007280
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.140007280
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.14001d8a0
mov r8, rdi
lea rdx, [rsp + 0x18f8]
mov rcx, rax
call fcn.140021050
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.140020ec0
mov eax, dword [rsp + 0x7dc]
sub eax, 1
mov dword [rsp + 0x7dc], eax
jmp 0x14011d3e6
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.140007280
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.14011c3a0
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.140007280
lea rdx, [rsp + 0x5c0]
mov rcx, qword [rax]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14011d3e1
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.1400de020
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.140007280
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.140007280
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.14001d8a0
mov r8, rdi
lea rdx, [rsp + 0x1938]
mov rcx, rax
call fcn.140021050
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.140020ec0
mov eax, dword [rsp + 0x7dc]
sub eax, 1
mov dword [rsp + 0x7dc], eax
jmp 0x14011cedc
jmp 0x14011cbed
mov dword [rsp + 0x1838], 0
jmp 0x14011d409
mov eax, dword [rsp + 0x1838]
add eax, 1
mov dword [rsp + 0x1838], eax
movsxd rdi, dword [rsp + 0x1838]
lea rcx, [rsp + 0x30]
call fcn.14001d480
cmp rdi, rax
jae 0x14011d45d
movsxd rdx, dword [rsp + 0x1838]
lea rcx, [rsp + 0x30]
call fcn.140007280
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.140007280
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x14011d3f8
lea rcx, [rsp + 0x30]
call fcn.14001d500
mov dword [rsp + 0x1958], 0
lea rcx, [rsp + 0x30]
call fcn.14001d450
nop
lea rcx, [rsp + 0x60]
call fcn.140005e30
mov eax, dword [rsp + 0x1958]
mov rcx, qword [rsp + 0x1a70]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0x1a88
pop rdi
pop rsi
ret