Function at 0x1005cbb0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create raw socket
Create tcp socket
Create udp socket
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008dbc8
mov eax, dword fs:[0]
push eax
sub esp, 0x948
mov eax, dword [0x100ab080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x940], esi
mov edi, dword [ebp + 0x24]
push 6
mov dword [ebp - 4], 0
push 1
push 2
mov dword [edi], 0
mov dword [ebp - 0x94c], 3
mov dword [ebp - 0x948], 0
call dword [sym.imp.WS2_32.dll_socket]
mov ecx, eax
lea eax, [esi + 0xa0]
mov dword [ebp - 0x944], ecx
mov dword [ebp - 0x950], eax
cmp ecx, 0xffffffff
je 0x1005cc5c
add esi, 0x88
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x950]
mov ecx, dword [ebp - 0x944]
push esi
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x940]
mov eax, dword [ebp - 0x950]
mov eax, dword [eax]
cmp eax, 0xffffffff
jne 0x1005ccaf
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
movzx eax, ax
or eax, 0x10000
mov dword [edi], eax
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push str.socks5_subagent_create_socket_failed
push 3
push 0x1e0
push str.subagentSubAgentMonitor.cpp
call dword [0x101250b8]
add esp, 0x10
jmp 0x1005d91c
lea ecx, [ebp - 0x954]
mov dword [ebp - 0x954], 1
push ecx
push 0x8004667e
push eax
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x1005cd1d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
movzx eax, ax
or eax, 0x20000
mov dword [edi], eax
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push str.socks5_subagent_ioctlsocket_failed
push 3
push 0x1ec
push str.subagentSubAgentMonitor.cpp
call dword [0x101250b8]
add esp, 0x10
jmp 0x1005d91c
push dword [ebp + 0x20]
mov eax, 2
mov word [ebp - 0x838], ax
call dword [sym.imp.WS2_32.dll_htons]
cmp dword [ebp + 0x1c], 0xf
lea edx, [ebp + 8]
mov word [ebp - 0x836], ax
xorps xmm0, xmm0
cmova edx, dword [ebp + 8]
mov ecx, edx
mov dword [ebp - 0x818], 0
movups xmmword [ebp - 0x828], xmm0
mov dword [ebp - 0x814], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x944], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1005cd70
sub ecx, dword [ebp - 0x944]
push ecx
push edx
lea ecx, [ebp - 0x828]
call fcn.10003200
lea ecx, [ebp - 0x828]
call fcn.1001a9d0
mov ecx, dword [ebp - 0x814]
mov dword [ebp - 0x834], eax
cmp ecx, 0xf
jbe 0x1005cddb
mov edx, dword [ebp - 0x828]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005cdcb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005d989
push ecx
push edx
call fcn.100666c9
mov eax, dword [ebp - 0x834]
add esp, 8
cmp eax, 0xffffffff
jne 0x1005ced9
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
movzx ecx, si
or ecx, 0x30000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005ce86
call dword [0x101250b0]
cmp eax, 3
jg 0x1005ce86
lea edx, [ebp + 8]
lea ecx, [ebp - 0x828]
call fcn.1001bc10
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 7
jbe 0x1005ce2a
mov eax, dword [eax]
push esi
push eax
push str.socks5_subagent_inet_addr_failed:_s__d
push 3
push 0x1f9
push str.subagentSubAgentMonitor.cpp
call dword [0x101250b8]
mov ecx, dword [ebp - 0x814]
add esp, 0x18
cmp ecx, 7
jbe 0x1005ce86
mov edx, dword [ebp - 0x828]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1005ce7c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005d98e
push ecx
push edx
call fcn.100666c9
add esp, 8
mov ecx, dword [ebp + 0x1c]
cmp ecx, 0xf
jbe 0x1005ceba
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005ceb0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005d984
push ecx
push edx
call fcn.100666c9
add esp, 8
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1006636c
mov esp, ebp
pop ebp
ret 0x24
push 0x10
lea eax, [ebp - 0x838]
push eax
push dword [esi + 0xa0]
call dword [sym.imp.WS2_32.dll_connect]
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0xffffffff
jne 0x1005cf54
call esi
mov dword [ebp - 0x944], eax
cmp eax, 0x2714
je 0x1005cf54
cmp eax, 0x2733
je 0x1005cf54
cmp eax, 0x2734
je 0x1005cf54
movzx eax, ax
or eax, 0x40000
mov dword [edi], eax
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push dword [ebp - 0x944]
push str.socks5_subagent_0.1_failed:__d
push 3
push 0x203
jmp 0x1005d90e
mov eax, dword [ebp - 0x940]
mov dword [ebp - 0x93c], 1
mov eax, dword [eax + 0xa0]
mov dword [ebp - 0x938], eax
lea eax, [ebp - 0x94c]
push eax
push 0
lea eax, [ebp - 0x93c]
push eax
push 0
push 0
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jns 0x1005cfcc
call esi
mov esi, eax
movzx ecx, si
or ecx, 0x50000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_0.2_failed:__d
push 3
push 0x214
jmp 0x1005d90e
jne 0x1005d00c
call esi
mov esi, eax
movzx ecx, si
or ecx, 0x60000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_0.3_failed:__d
push 3
push 0x21c
jmp 0x1005d90e
lea eax, [ebp - 0x93c]
push eax
mov eax, dword [ebp - 0x940]
push dword [eax + 0xa0]
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
jne 0x1005d067
call esi
mov esi, eax
movzx ecx, si
or ecx, 0x70000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_0.4_failed:__d
push 3
push 0x224
jmp 0x1005d90e
mov eax, dword [ebp - 0x940]
push 0x3fd
push 0
mov dword [ebp - 0x93c], 1
mov esi, dword [eax + 0xa0]
lea eax, [ebp - 0x40d]
push eax
mov dword [ebp - 0x938], esi
mov dword [ebp - 0x94c], 3
mov dword [ebp - 0x948], 0
call fcn.10068810
push 0x400
lea eax, [ebp - 0x810]
push 0
push eax
call fcn.10068810
add esp, 0x18
mov word [ebp - 0x410], 0xf7e9
lea eax, [ebp - 0x410]
mov byte [ebp - 0x40e], 0xf6
push 0
push 3
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x1005d12a
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0x80000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_1.1_failed:__d
push 3
push 0x23a
jmp 0x1005d90e
lea eax, [ebp - 0x94c]
push eax
push 0
push 0
lea eax, [ebp - 0x93c]
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jns 0x1005d18b
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0x90000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_1.2_failed:__d
push 3
push 0x244
jmp 0x1005d90e
jne 0x1005d1d0
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0xa0000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_1.3_failed:__d
push 3
push 0x24c
jmp 0x1005d90e
mov esi, dword [ebp - 0x940]
lea eax, [ebp - 0x93c]
push eax
push dword [esi + 0xa0]
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
jne 0x1005d230
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0xb0000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_1.4_failed:__d
push 3
push 0x254
jmp 0x1005d90e
push 0
push 0x400
lea eax, [ebp - 0x810]
push eax
push dword [esi + 0xa0]
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jg 0x1005d291
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0xc0000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_1.5_failed:__d
push 3
push 0x25d
jmp 0x1005d90e
lea ecx, [ebp - 0x810]
call fcn.100291e0
cmp byte [ebp - 0x810], 5
jne 0x1005d8d8
push 0x3fe
lea eax, [ebp - 0x40e]
push 0
push eax
call fcn.10068810
mov eax, esi
mov byte [ebp - 0x410], 1
add esp, 0xc
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x44]
add eax, 0x1c
mov dword [ebp - 0x944], ecx
mov dword [ebp - 0x950], edx
mov byte [ebp - 0x40f], cl
cmp dword [eax + 0x14], 0xf
jbe 0x1005d2eb
mov eax, dword [eax]
push ecx
push eax
lea eax, [ebp - 0x40e]
push eax
call fcn.10068280
mov ecx, dword [ebp - 0x944]
lea eax, [esi + 0x34]
mov edx, dword [ebp - 0x950]
add esp, 0xc
cmp dword [eax + 0x14], 0xf
mov byte [ebp + ecx - 0x40e], dl
jbe 0x1005d31a
mov eax, dword [eax]
push edx
push eax
lea eax, [ebp - 0x40d]
add eax, ecx
push eax
call fcn.10068280
mov eax, dword [esi + 0x2c]
lea ecx, [ebp - 0x410]
mov edx, dword [esi + 0x44]
add esp, 0xc
mov esi, dword [esi + 0xa0]
add eax, 3
add edx, eax
mov dword [ebp - 0x938], esi
mov dword [ebp - 0x93c], 1
mov dword [ebp - 0x94c], 3
mov dword [ebp - 0x948], 0
call fcn.100290e0
push 0
push edx
lea eax, [ebp - 0x410]
push eax
push esi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x1005d3c6
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0xe0000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_2.1_failed:__d
push 3
push 0x286
jmp 0x1005d90e
lea eax, [ebp - 0x94c]
push eax
push 0
push 0
lea eax, [ebp - 0x93c]
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jns 0x1005d427
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0xf0000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_2.2_failed:__d
push 3
push 0x290
jmp 0x1005d90e
jne 0x1005d46c
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0x100000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_2.3_failed:__d
push 3
push 0x298
jmp 0x1005d90e
mov esi, dword [ebp - 0x940]
lea eax, [ebp - 0x93c]
push eax
push dword [esi + 0xa0]
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
jne 0x1005d4cc
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0x110000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_2.4_failed:__d
push 3
push 0x2a0
jmp 0x1005d90e
push 0
push 0x400
lea eax, [ebp - 0x810]
push eax
push dword [esi + 0xa0]
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jg 0x1005d52d
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0x120000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_2.5_failed:__d
push 3
push 0x2a9
jmp 0x1005d90e
lea ecx, [ebp - 0x810]
call fcn.100291e0
cmp byte [ebp - 0x80f], 0
je 0x1005d584
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0x130000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_2.6_failed:__d
push 3
push 0x2b5
jmp 0x1005d90e
push 0x3fc
lea eax, [ebp - 0x40c]
push 0
push eax
call fcn.10068810
mov eax, dword [sym.imp.WS2_32.dll_htons]
add esp, 0xc
cmp byte [ebp + 0x28], 0
mov dword [ebp - 0x410], 0x1000105
je 0x1005d5b6
push 0x15b4
jmp 0x1005d5bb
push 0x15b3
call eax
movzx edx, ax
mov al, byte [ebp - 0x410]
add al, 7
mov dword [ebp - 0x40c], 0
not al
mov ecx, dword [esi + 0xa0]
mov byte [ebp - 0x410], al
mov al, byte [ebp - 0x40f]
add al, 7
mov word [ebp - 0x408], dx
not al
mov dword [ebp - 0x938], ecx
mov byte [ebp - 0x40f], al
add dl, 7
mov al, byte [ebp - 0x40e]
not dl
add al, 7
mov dword [ebp - 0x93c], 1
not al
mov dword [ebp - 0x94c], 3
mov byte [ebp - 0x40e], al
mov al, byte [ebp - 0x40d]
add al, 7
mov dword [ebp - 0x948], 0
not al
mov byte [ebp - 0x40c], 0xf8
mov byte [ebp - 0x40d], al
mov al, byte [ebp - 0x40b]
add al, 7
mov byte [ebp - 0x408], dl
not al
mov byte [ebp - 0x40b], al
mov al, byte [ebp - 0x40a]
add al, 7
not al
mov byte [ebp - 0x40a], al
mov al, byte [ebp - 0x409]
add al, 7
not al
mov byte [ebp - 0x409], al
mov al, byte [ebp - 0x407]
add al, 7
not al
push 0
mov byte [ebp - 0x407], al
lea eax, [ebp - 0x410]
push 0xa
push eax
push ecx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x1005d6e7
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0x140000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_3.1_failed:__d
push 3
push 0x2d1
jmp 0x1005d90e
lea eax, [ebp - 0x94c]
push eax
push 0
push 0
lea eax, [ebp - 0x93c]
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jns 0x1005d748
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0x150000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_3.2_failed:__d
push 3
push 0x2db
jmp 0x1005d90e
jne 0x1005d78d
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0x160000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_3.3_failed:__d
push 3
push 0x2e3
jmp 0x1005d90e
lea eax, [ebp - 0x93c]
push eax
push dword [esi + 0xa0]
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
jne 0x1005d7e7
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0x170000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_3.4_failed:__d
push 3
push 0x2eb
jmp 0x1005d90e
push 0
push 0x400
lea eax, [ebp - 0x810]
push eax
push dword [esi + 0xa0]
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jg 0x1005d848
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0x180000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_3.5_failed:__d
push 3
push 0x2f4
jmp 0x1005d90e
lea ecx, [ebp - 0x810]
call fcn.100291e0
cmp byte [ebp - 0x810], 5
jne 0x1005d8a0
cmp byte [ebp - 0x80f], 0
jne 0x1005d8a0
mov ecx, dword [ebp + 0x1c]
cmp ecx, 0xf
jbe 0x1005d899
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d88f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005d984
push ecx
push edx
call fcn.100666c9
add esp, 8
mov al, 1
jmp 0x1005cebc
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0x190000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_3.6_failed:__d
push 3
push 0x300
jmp 0x1005d90e
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov esi, eax
movzx ecx, si
or ecx, 0xd0000
mov dword [edi], ecx
call dword [0x101250b4]
test al, al
je 0x1005d91c
call dword [0x101250b0]
cmp eax, 3
jg 0x1005d91c
push esi
push str.socks5_subagent_1.6_failed:__d
push 3
push 0x269
push str.subagentSubAgentMonitor.cpp
call dword [0x101250b8]
add esp, 0x14
mov edi, dword [ebp - 0x940]
lea esi, [edi + 0x88]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0xa0]
cmp eax, 0xffffffff
je 0x1005d941
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
push esi
mov dword [edi + 0xa0], 0xffffffff
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp + 0x1c]
cmp ecx, 0xf
jbe 0x1005ceba
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005ceb0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1005ceb0
call fcn.10070c0f
call fcn.10070c0f
call fcn.10070c0f
int3