Function at 0x1401157b0
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.1401d4c90
sub rsp, rax
mov qword [rsp + 0x19e8], 0xfffffffffffffffe
mov rax, qword [0x1402a15c0]
xor rax, rsp
mov qword [rsp + 0x1a70], rax
mov dword [rsp + 0x19b0], 0
mov rax, qword [rsp + 0x1aa8]
cmp dword [rax + 0x28], 0x66
jne 0x140115814
mov rcx, qword [rsp + 0x1aa0]
call fcn.14010f6e0
xor eax, eax
jmp 0x1401166ae
mov rax, qword [rsp + 0x1aa8]
cmp dword [rax + 0x28], 0x68
jne 0x140115836
mov rcx, qword [rsp + 0x1aa0]
call fcn.140110440
xor eax, eax
jmp 0x1401166ae
mov edx, 0x66
mov rcx, qword [rsp + 0x1aa0]
call fcn.1400e35f0
mov edx, 0x68
mov rcx, qword [rsp + 0x1aa0]
call fcn.1400e35f0
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x1402210e0]
lea rcx, [rsp + 0x1840]
call fcn.1400010b0
mov qword [rsp + 0x19f0], rax
mov rcx, qword [rsp + 0x19f0]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, [0x1402210f8]
lea rcx, [0x140221118]
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.140001490
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x140221128]
lea rcx, [rsp + 0x1848]
call fcn.1400010b0
mov qword [rsp + 0x19f8], rax
mov rcx, qword [rsp + 0x19f8]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, [0x140221140]
lea rcx, [0x140221160]
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.140001490
lea rcx, [rsp + 0x60]
call fcn.14000f1c0
nop
mov dword [rsp + 0x1f8], 1
lea rcx, [rsp + 0x60]
call fcn.1401cfc20
lea rcx, [rsp + 0x240]
call fcn.140023510
mov rdx, rax
lea rcx, [rsp + 0x1850]
call fcn.140002de0
mov qword [rsp + 0x1a00], rax
mov rax, qword [rsp + 0x1a00]
mov qword [rsp + 0x1a08], rax
mov rcx, qword [rsp + 0x1a08]
call fcn.140002e90
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.140002e70
lea rcx, [rsp + 0x220]
call fcn.140023510
mov rdx, rax
lea rcx, [rsp + 0x1858]
call fcn.140002de0
mov qword [rsp + 0x1a10], rax
mov rax, qword [rsp + 0x1a10]
mov qword [rsp + 0x1a18], rax
mov rcx, qword [rsp + 0x1a18]
call fcn.140002e90
mov rcx, rax
call fcn.1400a9180
test rax, rax
je 0x140115a7a
lea rcx, [rsp + 0x220]
call fcn.140023510
mov rdx, rax
lea rcx, [rsp + 0x1860]
call fcn.140002de0
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.140002e90
mov rcx, rax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rsp + 0x1a30], eax
jmp 0x140115a85
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 0x140115abe
and dword [rsp + 0x19b0], 0xfffffffe
lea rcx, [rsp + 0x1860]
call fcn.140002e70
nop
lea rcx, [rsp + 0x1858]
call fcn.140002e70
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.140023510
mov rcx, rax
call fcn.1400a948c
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x374], edx
lea rcx, [rsp + 0x278]
call fcn.140023510
mov rcx, rax
call fcn.1400a948c
mov edx, eax
mov rax, qword [rsp + 0x1aa0]
mov dword [rax + 0x370], edx
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x140221170]
lea rcx, [rsp + 0x1868]
call fcn.1400010b0
mov qword [rsp + 0x1a38], rax
mov rcx, qword [rsp + 0x1a38]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, str.DHCPTimes
lea rcx, [0x1402211a0]
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.140001490
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x1402211b0]
lea rcx, [rsp + 0x1870]
call fcn.1400010b0
mov qword [rsp + 0x1a40], rax
mov rcx, qword [rsp + 0x1a40]
call fcn.140023510
mov r9, rax
xor r8d, r8d
lea rdx, str.ForceBootCD
lea rcx, [0x1402211e0]
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.140001490
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x1402211f0]
lea rcx, [rsp + 0x1878]
call fcn.1400010b0
mov qword [rsp + 0x1a48], rax
mov rcx, qword [rsp + 0x1a48]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, str.DHCPProxy
lea rcx, [0x140221220]
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.140001490
lea rdx, [0x1403ac8a0]
add rdx, 0x228
lea r8, [0x140221230]
lea rcx, [rsp + 0x1880]
call fcn.1400010b0
mov qword [rsp + 0x1a50], rax
mov rcx, qword [rsp + 0x1a50]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, [0x140221248]
lea rcx, [0x140221260]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x140115cf1
mov dword [rsp + 0x1a58], 1
jmp 0x140115cfc
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.140001490
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x140221270]
lea rcx, [rsp + 0x1888]
call fcn.1400010b0
mov qword [rsp + 0x1a60], rax
mov rcx, qword [rsp + 0x1a60]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, str.DHCPLocal
lea rcx, [0x1402212a0]
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.140001490
mov rdx, qword [rsp + 0x1aa0]
add rdx, 0x228
lea r8, [0x1402212b0]
lea rcx, [rsp + 0x1890]
call fcn.1400010b0
mov qword [rsp + 0x1a68], rax
mov rcx, qword [rsp + 0x1a68]
call fcn.140023510
mov r9, rax
mov r8d, 1
lea rdx, str.DHCPCache
lea rcx, [0x1402212e0]
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.140001490
lea rcx, [rsp + 0x30]
call fcn.140021960
nop
mov rax, qword [rsp + 0x1aa8]
cmp dword [rax], 2
jne 0x14011660b
mov rax, qword [rsp + 0x1aa0]
cmp dword [rax + 0x220], 0
je 0x14011660b
mov rax, qword [rsp + 0x1aa0]
mov r8d, dword [rax + 0x364]
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x1aa0]
call fcn.14010f980
mov dword [rsp + 0x5b0], eax
cmp dword [rsp + 0x5b0], 0
jne 0x140115e72
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140115e0d
cmp dword [rsp + 0x5b0], 0xffffffff
jne 0x140115ebd
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8d, eax
lea rdx, str.DHCP_service_startup_error__d
mov ecx, 1
call fcn.1400dc610
mov rdx, qword [rsp + 0x1aa0]
mov r8d, dword [rdx + 0x364]
lea rdx, [0x140221330]
lea rcx, [0x1403ac8a0]
call fcn.1401bb910
jmp 0x14011660b
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 0x140115f07
mov eax, dword [rsp + 0x7d0]
add eax, 1
mov dword [rsp + 0x7d0], eax
movsxd rdi, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.14001db40
cmp rdi, rax
jae 0x140116089
mov dword [rsp + 0x7d4], 0
jmp 0x140115f40
mov eax, dword [rsp + 0x7d4]
add eax, 1
mov dword [rsp + 0x7d4], eax
mov eax, dword [rsp + 0x3a0]
cmp dword [rsp + 0x7d4], eax
jae 0x140115f7a
mov edi, dword [rsp + 0x7d4]
movsxd rdx, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.140007d10
mov rax, qword [rax]
cmp qword [rsp + rdi*8 + 0x3a8], rax
jne 0x140115f78
jmp 0x140115f7a
jmp 0x140115f2f
mov eax, dword [rsp + 0x3a0]
cmp dword [rsp + 0x7d4], eax
jne 0x140115fc9
cmp dword [rsp + 0x3a0], 0x40
jae 0x140115fc9
movsxd rdx, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.140007d10
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 0x140115f22
mov dword [rsp + 0x7d8], 0
jmp 0x140115ff1
mov eax, dword [rsp + 0x7d8]
add eax, 1
mov dword [rsp + 0x7d8], eax
mov eax, dword [rsp + 0x5c0]
cmp dword [rsp + 0x7d8], eax
jae 0x14011602b
mov edi, dword [rsp + 0x7d8]
movsxd rdx, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.140007d10
mov rax, qword [rax]
cmp qword [rsp + rdi*8 + 0x5c8], rax
jne 0x140116029
jmp 0x14011602b
jmp 0x140115fe0
mov eax, dword [rsp + 0x5c0]
cmp dword [rsp + 0x7d8], eax
jne 0x14011607a
cmp dword [rsp + 0x5c0], 0x40
jae 0x14011607a
movsxd rdx, dword [rsp + 0x7d0]
lea rcx, [rsp + 0x30]
call fcn.140007d10
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 0x140115fd3
jmp 0x140115ef6
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 0x1401160ca
jmp 0x140115e0d
cmp dword [rsp + 0x5b0], 0
jge 0x1401160d9
jmp 0x14011660b
mov rax, qword [rsp + 0x1aa0]
cmp dword [rax + 0x220], 0
jne 0x1401160ef
jmp 0x14011660b
mov dword [rsp + 0x7dc], 0
jmp 0x14011610d
mov eax, dword [rsp + 0x7dc]
add eax, 1
mov dword [rsp + 0x7dc], eax
movsxd rdi, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.14001db40
cmp rdi, rax
jae 0x140116606
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.140007d10
lea rdx, [rsp + 0x3a0]
mov rcx, qword [rax]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1401164ea
mov dword [rsp + 0x1820], 0x10
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.140007d10
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 0x1401162ad
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.1400dc610
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.140007d10
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.140007d10
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.14001e460
mov r8, rdi
lea rdx, [rsp + 0x18b8]
mov rcx, rax
call fcn.14001e570
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.140021a90
mov eax, dword [rsp + 0x7dc]
sub eax, 1
mov dword [rsp + 0x7dc], eax
jmp 0x140116606
cmp dword [rsp + 0x7e0], 0
jne 0x1401162c7
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1401160fc
mov ecx, dword [rsp + 0x182c]
call fcn.1400d73c0
test eax, eax
je 0x140116300
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 0x140116300
jmp 0x1401160fc
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.140007d10
lea r8, [rsp + 0x1820]
lea rdx, [rsp + 0x7f0]
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x14011644b
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.1400dc610
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.140007d10
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.140007d10
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.14001e460
mov r8, rdi
lea rdx, [rsp + 0x18f8]
mov rcx, rax
call fcn.14001e570
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.140021a90
mov eax, dword [rsp + 0x7dc]
sub eax, 1
mov dword [rsp + 0x7dc], eax
jmp 0x140116606
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.140007d10
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.1401155c0
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.140007d10
lea rdx, [rsp + 0x5c0]
mov rcx, qword [rax]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x140116601
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.1400dc610
movsxd rdx, dword [rsp + 0x7dc]
lea rcx, [rsp + 0x30]
call fcn.140007d10
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.140007d10
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.14001e460
mov r8, rdi
lea rdx, [rsp + 0x1938]
mov rcx, rax
call fcn.14001e570
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.140021a90
mov eax, dword [rsp + 0x7dc]
sub eax, 1
mov dword [rsp + 0x7dc], eax
jmp 0x1401160fc
jmp 0x140115e0d
mov dword [rsp + 0x1838], 0
jmp 0x140116629
mov eax, dword [rsp + 0x1838]
add eax, 1
mov dword [rsp + 0x1838], eax
movsxd rdi, dword [rsp + 0x1838]
lea rcx, [rsp + 0x30]
call fcn.14001db40
cmp rdi, rax
jae 0x14011667d
movsxd rdx, dword [rsp + 0x1838]
lea rcx, [rsp + 0x30]
call fcn.140007d10
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.140007d10
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x140116618
lea rcx, [rsp + 0x30]
call fcn.14001de20
mov dword [rsp + 0x1958], 0
lea rcx, [rsp + 0x30]
call fcn.140007ce0
nop
lea rcx, [rsp + 0x60]
call fcn.140005db0
mov eax, dword [rsp + 0x1958]
mov rcx, qword [rsp + 0x1a70]
xor rcx, rsp
call fcn.1400a8050
add rsp, 0x1a88
pop rdi
pop rsi
ret