Function at 0x412c90
Capabilities:
Create raw socket
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Get socket status
Receive data
Receive data on socket
Resolve dns
Resolve function by parsing pe exports
Send data
Send data on socket
Set socket configuration

Disassembly:
mov eax, 0x57bc
call fcn.0043ae00
mov eax, dword [esp + 0x57c0]
push ebx
push ebp
push esi
lea eax, [eax + eax*2]
mov esi, ecx
mov ecx, dword [0x4f679c]
push edi
lea eax, [eax + eax*4]
mov dword [esp + 0x14], esi
lea ebx, [eax + eax*4]
mov eax, dword [0x51a850]
shl ebx, 2
cmp ecx, 1
mov dword [esp + 0x24], ebx
mov edi, dword [ebx + eax]
mov dword [esp + 0x10], edi
jne 0x41332b
mov eax, dword [ebx + eax + 0x20]
cmp eax, 0xffffffff
je 0x412cf8
mov edx, dword [0x4f4398]
mov ecx, eax
shl ecx, 5
add ecx, eax
mov eax, dword [edx + ecx*4 + 0x44]
test eax, eax
je 0x41332b
mov ebp, dword [esp + 0x57d4]
push 2
push ebp
push edi
mov ecx, esi
mov byte [ebp + 1], 2
call fcn.00411190
test eax, eax
je 0x41447e
lea eax, [esp + 0x18]
push 8
push eax
push ebp
push edi
mov ecx, esi
mov dword [esp + 0x28], 2
call fcn.004112c0
test eax, eax
je 0x41447e
movsx eax, byte [ebp + 1]
inc eax
cmp eax, 0xff
mov dword [esp + 0x18], eax
jg 0x41447e
test eax, eax
jl 0x41447e
lea ecx, [esp + 0x18]
lea eax, [ebp + 2]
push 8
push ecx
push eax
push edi
mov ecx, esi
call fcn.004112c0
test eax, eax
je 0x41447e
mov dl, byte [0x473aa0]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x17b9]
mov byte [esp + 0x17b8], dl
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x17b8]
push eax
lea eax, [ebp + 2]
push eax
push ecx
call fcn.0043c150
mov al, byte [0x473aa0]
mov edx, dword [esp + 0x24]
mov byte [esp + 0x7c0], al
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x7c1]
rep stosd dword es:[edi], eax
movsx ecx, byte [ebp + 1]
add ecx, ebp
mov byte [esp + edx + 0x17c3], 0
add esp, 0xc
movsx eax, byte [ecx + 2]
cmp eax, 0xff
mov dword [esp + 0x18], eax
jg 0x41447e
xor edi, edi
cmp eax, edi
jl 0x41447e
jle 0x412e31
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x18]
push 8
add ecx, 3
push edx
push ecx
push eax
mov ecx, esi
call fcn.004112c0
test eax, eax
je 0x41447e
movsx edx, byte [ebp + 1]
mov ecx, dword [esp + 0x18]
push ecx
lea eax, [edx + ebp + 3]
lea ecx, [esp + 0x7b8]
push eax
push ecx
call fcn.0043c150
mov eax, dword [esp + 0x24]
add esp, 0xc
mov dl, byte [0x473aa0]
mov ecx, dword [0x51a850]
mov byte [esp + eax + 0x7b4], 0
xor eax, eax
mov dword [esp + 0x79], eax
mov byte [esp + 0x78], dl
mov dword [esp + 0x7d], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x81], eax
mov eax, dword [0x4f439c]
mov edx, dword [ebx + ecx + 0xc]
cmp eax, edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], edi
jle 0x413230
mov edx, dword [0x4f4398]
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
add eax, edx
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x413207
lea ecx, [esp + 0x17b8]
push eax
push ecx
call fcn.0043fa60
add esp, 8
test eax, eax
jne 0x413201
mov edx, dword [0x4f4398]
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x7b4]
lea esi, [edi + edx + 0x10]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x412ee8
test cl, cl
je 0x412ee4
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x412ee8
add eax, 2
add esi, 2
test cl, cl
jne 0x412ec4
xor eax, eax
jmp 0x412eed
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x413207
mov eax, dword [edi + edx + 0x64]
test eax, eax
je 0x412f47
mov edx, dword [edi + edx + 0x60]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push edx
call esi
mov edi, eax
mov eax, dword [esp + 0x34]
push eax
call esi
cmp eax, edi
ja 0x413201
mov ecx, dword [0x4f4398]
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + ecx + 0x5c]
push eax
call esi
mov ecx, dword [esp + 0x34]
mov edi, eax
push ecx
call esi
cmp eax, edi
jb 0x413201
mov edx, dword [0x4f4398]
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + edx + 0x58]
test eax, eax
je 0x412fb1
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x412f78
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x78]
push edx
push eax
call fcn.0041d940
mov edx, dword [0x4f4398]
mov dword [esp + 0x20], 1
lea esi, [edi + edx + 0x48]
lea eax, [esp + 0x78]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x412fa4
test cl, cl
je 0x412fa0
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x412fa4
add eax, 2
add esi, 2
test cl, cl
jne 0x412f80
xor eax, eax
jmp 0x412fa9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x413207
test byte [edi + edx + 0x68], 0x40
je 0x413207
cmp dword [edi + edx + 0x78], 0xffffffff
je 0x41322c
lea ecx, [esp + 0x38]
push ecx
call fcn.0043ba28
lea edx, [esp + 0x3c]
push edx
call fcn.0043b8c8
mov esi, dword [0x4f4398]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x5c], eax
add esp, 8
mov ecx, dword [edi + esi + 0x78]
lea eax, [ecx + ecx*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
sub eax, ecx
add ecx, edx
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*4]
mov eax, dword [0x4f43a4]
test byte [eax + ecx*4 + 0x7038], 0x40
je 0x41322c
mov ecx, dword [edi + esi + 0x78]
mov ebx, edx
shl ebx, 0xc
add ebx, eax
lea eax, [ecx + ecx*2]
add ebx, edx
push 0x46f778
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
sub eax, ecx
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*4]
lea edx, [ebx + ecx*4 + 0x31]
lea ecx, [esp + 0x37c4]
push edx
call fcn.0042c2f0
lea ecx, [esp + 0x37c0]
call fcn.0042c3b0
test eax, eax
je 0x413201
lea ecx, [esp + 0x37c0]
call fcn.0042c350
mov bl, byte [0x473aa0]
mov edx, eax
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x9d]
mov byte [esp + 0x9c], bl
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x1a5]
mov byte [esp + 0x1a4], bl
lea ebx, [esp + 0x9c]
rep stosd dword es:[edi], eax
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x46e14c
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xa0]
push ecx
call fcn.0042f510
lea edx, [esp + 0xa4]
push 0x46e148
push edx
call fcn.0043ad80
add esp, 0x10
test eax, eax
je 0x413131
mov byte [eax], 0
lea edi, [eax + 1]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x1a4]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x46e14c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1a8]
push ecx
call fcn.0042f510
add esp, 8
mov dl, byte [0x473aa0]
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x2ad]
mov byte [esp + 0x2ac], dl
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
push ecx
push edx
lea eax, [esp + 0x2b4]
push str._02d:_02d
push eax
call fcn.0043afc4
add esp, 0x10
lea esi, [esp + 0x2ac]
lea eax, [esp + 0x9c]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4131a5
test cl, cl
je 0x4131a1
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4131a5
add eax, 2
add esi, 2
test cl, cl
jne 0x41317d
xor eax, eax
jmp 0x4131aa
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jg 0x4131ed
lea esi, [esp + 0x1a4]
lea eax, [esp + 0x2ac]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4131e4
test cl, cl
je 0x4131e0
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4131e4
add eax, 2
add esi, 2
test cl, cl
jne 0x4131bc
xor eax, eax
jmp 0x4131e9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jle 0x41322c
lea ecx, [esp + 0x37c0]
call fcn.0042c3b0
test eax, eax
jne 0x413063
mov edx, dword [0x4f4398]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x1c]
mov ecx, dword [0x4f439c]
inc eax
add esi, 0x84
cmp eax, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], esi
jl 0x412e85
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov eax, dword [0x4f439c]
cmp esi, eax
jne 0x4132ff
mov eax, dword [0x4f67a4]
test eax, eax
je 0x4132dd
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x7b4]
lea ecx, [esp + 0x17b8]
push eax
push ecx
mov ecx, esi
call fcn.004240d0
test eax, eax
je 0x4132bd
lea edi, [esp + 0x17b8]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x51a850]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebx + edx + 0x24]
mov eax, ecx
mov esi, edi
mov edi, edx
push 2
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov byte [ebp + 1], 0
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00411190
test eax, eax
je 0x41447e
jmp 0x4134f5
mov edx, dword [esp + 0x10]
push 2
push ebp
push edx
mov ecx, esi
mov byte [ebp + 1], 1
call fcn.00411190
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 2
push ebp
push eax
mov byte [ebp + 1], 1
call fcn.00411190
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
mov ecx, dword [esp + 0x10]
push 2
push ebp
push ecx
mov ecx, dword [esp + 0x20]
mov byte [ebp + 1], 0
call fcn.00411190
test eax, eax
je 0x41447e
mov edx, dword [0x51a850]
mov dword [ebx + edx + 0x20], esi
jmp 0x4134f5
mov ebp, dword [esp + 0x57d4]
xor eax, eax
movsx ecx, byte [ebp + 1]
test ecx, ecx
jle 0x413349
mov dl, byte [eax + ebp + 2]
test dl, dl
je 0x413364
inc eax
cmp eax, ecx
jl 0x41333c
xor eax, eax
test ecx, ecx
jle 0x4134de
cmp byte [eax + ebp + 2], 2
je 0x413380
inc eax
cmp eax, ecx
jl 0x413353
jmp 0x4134de
push 2
push ebp
push edi
mov ecx, esi
mov byte [ebp + 1], 0
call fcn.00411190
test eax, eax
je 0x41447e
jmp 0x4134f5
push 2
push ebp
push edi
mov ecx, esi
mov byte [ebp], 5
mov byte [ebp + 1], 2
call fcn.00411190
test eax, eax
je 0x41447e
lea eax, [esp + 0x18]
push 8
push eax
push ebp
push edi
mov ecx, esi
mov dword [esp + 0x28], 2
call fcn.004112c0
test eax, eax
je 0x41447e
movsx eax, byte [ebp + 1]
inc eax
cmp eax, 0xff
mov dword [esp + 0x18], eax
jg 0x41447e
test eax, eax
jl 0x41447e
lea ecx, [esp + 0x18]
push 8
lea eax, [ebp + 2]
push ecx
push eax
push edi
mov ecx, esi
call fcn.004112c0
test eax, eax
je 0x41447e
mov dl, byte [0x473aa0]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x7b5]
mov byte [esp + 0x7b4], dl
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x7b4]
push eax
lea eax, [ebp + 2]
push eax
push ecx
call fcn.0043c150
movsx eax, byte [ebp + 1]
mov edx, dword [esp + 0x24]
add eax, ebp
add esp, 0xc
mov byte [esp + edx + 0x7b3], 0
movsx edx, byte [eax + 2]
cmp edx, 0xff
mov dword [esp + 0x18], edx
jg 0x41447e
test edx, edx
jl 0x41447e
jle 0x41347b
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x18]
push 8
add eax, 3
push ecx
push eax
push edx
mov ecx, esi
call fcn.004112c0
test eax, eax
je 0x41447e
mov edx, dword [esp + 0x18]
mov al, byte [0x473aa0]
mov ecx, 0x400
mov byte [esp + 0x17b8], al
xor eax, eax
lea edi, [esp + 0x17b9]
push edx
rep stosd dword es:[edi], eax
movsx ecx, byte [ebp + 1]
lea eax, [esp + 0x17bc]
lea edx, [ecx + ebp + 3]
push edx
push eax
call fcn.0043c150
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov byte [ebp], 5
mov byte [esp + ecx + 0x17b8], 0
mov ecx, esi
push 2
push ebp
push edx
mov byte [ebp + 1], 0
call fcn.00411190
test eax, eax
je 0x41447e
jmp 0x4134f5
push 2
push ebp
push edi
mov ecx, esi
mov byte [ebp + 1], 0
call fcn.00411190
test eax, eax
je 0x41447e
mov al, byte [0x473aa0]
mov ecx, 0x400
mov byte [esp + 0x27bc], al
xor eax, eax
lea edi, [esp + 0x27bd]
rep stosd dword es:[edi], eax
mov ecx, dword [0x51a850]
mov eax, dword [ebx + ecx + 0x20]
mov edx, dword [ebx + ecx + 0xc]
cmp eax, 0xffffffff
je 0x413555
mov ecx, eax
mov esi, dword [sym.imp.WS2_32.dll_inet_ntoa]
shl ecx, 5
add ecx, eax
mov eax, dword [0x4f4398]
lea ecx, [eax + ecx*4]
push ecx
push edx
call esi
push eax
lea edx, [esp + 0x27c4]
push str._s__s_SOCKS5
push edx
call fcn.0043afc4
add esp, 0x10
jmp 0x4135ab
mov eax, dword [0x4f67a4]
test eax, eax
je 0x41358c
lea eax, [ebx + ecx + 0x24]
mov cl, byte [ebx + ecx + 0x24]
test cl, cl
je 0x41358c
mov esi, dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push edx
call esi
push eax
lea eax, [esp + 0x27c4]
push str._s__s_SOCKS5
push eax
call fcn.0043afc4
add esp, 0x10
jmp 0x4135ab
mov esi, dword [sym.imp.WS2_32.dll_inet_ntoa]
push edx
call esi
push eax
lea ecx, [esp + 0x27c0]
push str._s_unknown_SOCKS5
push ecx
call fcn.0043afc4
add esp, 0xc
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
lea edx, [esp + 0x88]
push 8
push edx
push ebp
push eax
mov ecx, edi
mov dword [esp + 0x98], 0xa
call fcn.004112c0
test eax, eax
je 0x41447e
mov al, byte [ebp]
cmp al, 5
jne 0x41447e
cmp byte [ebp + 1], 3
jne 0x413cdc
cmp byte [ebp + 3], 1
jne 0x413cdc
mov eax, dword [0x50315c]
test eax, eax
je 0x41447e
mov edx, dword [0x51a850]
xor ecx, ecx
mov ax, word [ebp + 8]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov word [esp + 0x68], 2
mov dword [esp + 0x70], ecx
lea edi, [esp + 0x17b9]
mov dword [esp + 0x74], ecx
mov cl, byte [0x473aa0]
mov edx, dword [ebx + edx + 0xc]
mov word [esp + 0x6a], ax
mov byte [esp + 0x17b8], cl
mov ecx, 0x400
xor eax, eax
push edx
rep stosd dword es:[edi], eax
mov al, byte [0x473aa0]
mov ecx, 0x400
mov byte [esp + 0x7b8], al
xor eax, eax
lea edi, [esp + 0x7b9]
mov dword [esp + 0x70], edx
rep stosd dword es:[edi], eax
call esi
test eax, eax
je 0x41369b
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x7b4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x6a]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
and eax, 0xffff
lea edx, [esp + 0x7b4]
push eax
push edx
lea eax, [esp + 0x17c0]
push str.UDP__s:_d
push eax
call fcn.0043afc4
lea edi, [esp + 0x17c8]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x27cc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x27cc]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.0040a330
mov ecx, dword [0x51a850]
add esp, 0x14
mov eax, dword [ebx + ecx + 0x20]
cmp eax, 0xffffffff
je 0x4137f7
mov edx, eax
shl edx, 5
add edx, eax
mov eax, dword [0x4f4398]
mov ecx, dword [eax + edx*4 + 0x74]
cmp ecx, 0xffffffff
je 0x4137f7
mov eax, ecx
mov edx, dword [0x4f43b0]
shl eax, 5
add eax, ecx
shl eax, 3
sub eax, ecx
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [ecx + edx]
mov ecx, dword [ecx + edx + 0x313c]
test ecx, ecx
je 0x4137f7
cmp dword [eax + 0x314c], 1
jne 0x4137f7
mov ecx, dword [esp + 0x14]
add eax, 0x31
push eax
lea eax, [esp + 0x7b8]
push eax
call fcn.004199f0
test eax, eax
je 0x4137f7
mov edx, dword [0x4f944c]
test edx, edx
jne 0x4137ce
lea ecx, [esp + 0x7b4]
push ecx
push 0x4f904c
push ebp
call fcn.0043afc4
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x10]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x18]
push ebp
push edx
call fcn.00411190
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x10]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x18]
push edx
push eax
call fcn.00411190
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
xor edi, edi
push 1
push edi
push edi
push edi
push 2
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov ecx, dword [0x51a850]
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
lea edx, [esp + 0x3c]
push 4
mov dword [ebx + ecx + 4], eax
mov eax, dword [0x51a850]
mov dword [esp + 0x40], 1
push edx
mov ecx, dword [ebx + eax + 4]
push 0x20
push 0xffff
push ecx
call esi
mov eax, dword [0x51a850]
lea edx, [esp + 0x54]
push 4
mov dword [esp + 0x58], 0x1000
mov ecx, dword [ebx + eax + 4]
push edx
push 0x1001
push 0xffff
push ecx
call esi
mov eax, dword [0x51a850]
lea edx, [esp + 0x54]
push 4
push edx
mov ecx, dword [ebx + eax + 4]
push 0x1002
push 0xffff
push ecx
call esi
mov eax, dword [0x51a850]
mov word [esp + 0x5a], di
mov word [esp + 0x58], 2
mov dword [esp + 0x5c], edi
mov ecx, dword [ebx + eax + 4]
lea edx, [esp + 0x58]
push 0x10
push edx
push ecx
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
jne 0x41447e
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.WS2_32.dll_getsockname]
mov byte [ebp + 1], al
mov byte [ebp + 2], al
lea edx, [esp + 0x34]
lea eax, [esp + 0x58]
push edx
push eax
push edi
mov dword [esp + 0x40], 0x10
mov byte [ebp + 3], 1
call esi
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0x34]
mov dword [ebp + 4], ecx
mov ecx, dword [0x51a850]
push edx
lea eax, [esp + 0x5c]
mov edx, dword [ebx + ecx + 4]
push eax
push edx
call esi
mov ax, word [esp + 0x5a]
mov ecx, dword [esp + 0x14]
push 0xa
push ebp
push edi
mov word [ebp + 8], ax
call fcn.00411190
test eax, eax
je 0x41447e
mov eax, dword [0x4fb8a4]
xor ecx, ecx
cmp eax, ecx
jne 0x413c82
cmp dword [0x4fc8b4], ecx
jne 0x413c82
mov eax, dword [0x51a850]
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x20], ecx
mov esi, dword [ebx + eax + 4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [ebx + eax + 0x18]
mov dword [esp + 0x30], esi
cmp ecx, 2
jne 0x41447e
mov edx, 2
jmp 0x413970
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x10]
mov dword [esp + 0xa0], esi
mov dword [esp + 0x9c], 1
xor eax, eax
lea ecx, [esp + 0xa0]
cmp dword [ecx], edi
je 0x413998
inc eax
add ecx, 4
cmp eax, 1
jb 0x41398b
cmp eax, 1
jne 0x4139ab
mov dword [esp + 0xa4], edi
mov dword [esp + 0x9c], edx
lea ecx, [esp + 0x78]
lea edx, [esp + 0x9c]
push ecx
push 0
push 0
push edx
push 0x40
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jne 0x4139f5
mov eax, dword [0x502140]
cmp eax, 0xffffffff
je 0x413c27
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
inc ecx
lea eax, [eax + eax*4]
mov dword [esp + 0x20], ecx
shl eax, 2
cmp ecx, eax
jg 0x41447e
jmp 0x413c27
test eax, eax
mov dword [esp + 0x20], 0
jl 0x41447e
lea ecx, [esp + 0x9c]
push ecx
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x413c15
mov eax, 0xff6
mov edi, dword [esp + 0x30]
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
push 0
lea edx, [esp + 0x44]
push 0
lea eax, [esp + 0x94]
push edx
lea ecx, [esp + 0x44]
push eax
lea edx, [esp + 0x2c]
push ecx
push edx
lea eax, [esp + 0x40]
push 1
lea esi, [ebp + 0xa]
push eax
push edi
mov dword [esp + 0x50], esi
mov dword [esp + 0x5c], 0
mov dword [esp + 0x64], 0x10
call dword [sym.imp.WS2_32.dll_WSARecvFrom]
mov eax, dword [esp + 0x1c]
test eax, eax
jbe 0x413c48
mov ecx, dword [esp + 0x2c]
push eax
push ecx
call fcn.0040eee0
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x74]
mov dx, word [esp + 0x72]
add esp, 8
cmp ecx, eax
mov ax, word [esp + 0x8e]
jne 0x413aa7
cmp ax, dx
je 0x413acd
cmp byte [esi], 0
jne 0x413bcf
cmp byte [ebp + 0xb], 0
jne 0x413bcf
cmp byte [ebp + 0xc], 0
jne 0x413bcf
cmp ax, dx
jne 0x413bcf
mov ecx, dword [esp + 0x1c]
cmp ecx, 0xa
jbe 0x413c27
mov al, byte [ebp + 0xd]
xor edx, edx
mov dword [esp + 0x44], edx
cmp al, 1
mov dword [esp + 0x48], edx
mov word [esp + 0x44], 2
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], edx
jne 0x413b16
mov eax, dword [ebp + 0xe]
mov dx, word [ebp + 0x12]
mov dword [esp + 0x48], eax
lea eax, [ebp + 0x14]
mov dword [esp + 0x2c], eax
mov word [esp + 0x46], dx
lea eax, [ecx - 0xa]
jmp 0x413b8f
cmp al, 3
jne 0x413c27
movsx eax, byte [ebp + 0xe]
lea edx, [eax + 7]
cmp ecx, edx
jbe 0x413c27
mov ecx, eax
lea esi, [ebp + 0xf]
mov edx, ecx
lea edi, [esp + 0x3b4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [esp + eax + 0x3b4], 0
lea eax, [esp + 0x3b4]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x413c27
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
movsx ecx, byte [ebp + 0xe]
mov eax, dword [edx]
mov dword [esp + 0x48], eax
mov dx, word [ecx + ebp + 0xf]
lea eax, [ecx + ebp + 0x11]
mov word [esp + 0x46], dx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
sub eax, ecx
sub eax, 7
push 0
push 0
lea ecx, [esp + 0x4c]
push 0x10
push ecx
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x34]
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
push 0
push edx
lea eax, [esp + 0x40]
push 1
push eax
push ecx
call dword [sym.imp.WS2_32.dll_WSASendTo]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push edx
push eax
call fcn.0040eee0
add esp, 8
jmp 0x413c27
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x1c]
mov word [ebp + 8], ax
push 0
lea eax, [ecx + 0xa]
push 0
lea edx, [esp + 0x70]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
push 0x10
push edx
lea eax, [esp + 0x34]
push 0
push eax
lea ecx, [esp + 0x40]
push 1
push ecx
mov byte [ebp], 0
mov byte [ebp + 1], 0
mov byte [ebp + 2], 0
mov byte [ebp + 3], 1
mov dword [esp + 0x4c], ebp
push edi
jmp 0x413bb5
lea ecx, [esp + 0x9c]
push ecx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x413c5b
mov eax, dword [0x51a850]
mov edx, 2
cmp dword [ebx + eax + 0x18], edx
je 0x413968
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
lea ecx, [esp + 0x34]
push 0
push ecx
mov ecx, dword [esp + 0x1c]
push ebp
push edi
mov dword [esp + 0x44], 0x1000
call fcn.004112c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ecx, dword [esp + 0x6c]
sub esp, 0x10
mov esi, eax
mov eax, dword [esp + 0x78]
mov edx, esp
push esi
mov dword [edx], eax
mov eax, dword [esp + 0x84]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x88]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov edx, dword [esp + 0x57e4]
mov ecx, dword [esp + 0x28]
push edx
call fcn.004125e0
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
cmp al, 5
jne 0x41447e
cmp byte [ebp + 1], 1
jne 0x414069
push 1
push 0
push 0
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov ecx, dword [0x51a850]
mov dword [ebx + ecx + 4], eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x413d34
mov edx, dword [esp + 0x10]
push 0xa
push ebp
push edx
mov ecx, edi
mov byte [ebp + 1], 1
call fcn.00411190
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
mov al, byte [0x473aa0]
mov ecx, 0xff
mov byte [esp + 0x3b4], al
xor eax, eax
lea edi, [esp + 0x3b5]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [ebp + 3]
cmp al, 1
jne 0x413d65
mov cx, word [ebp + 8]
mov word [esp + 0x5a], cx
jmp 0x413ddb
cmp al, 3
jne 0x413ddb
movsx eax, byte [ebp + 4]
mov dword [esp + 0x3c], eax
add eax, 0xfffffffd
test eax, eax
mov dword [esp + 0x40], eax
jle 0x413d9f
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x40]
push 8
lea eax, [ebp + 0xa]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x24]
call fcn.004112c0
test eax, eax
je 0x41447e
jmp 0x413da5
jl 0x41447e
mov eax, dword [esp + 0x3c]
lea esi, [ebp + 5]
mov ecx, eax
lea edi, [esp + 0x3b4]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.WS2_32.dll_inet_ntoa]
mov byte [esp + eax + 0x3b4], 0
mov ax, word [eax + ebp + 5]
mov word [esp + 0x5a], ax
mov cl, byte [0x473aa0]
xor eax, eax
mov byte [esp + 0x7b4], cl
mov ecx, 0x400
lea edi, [esp + 0x7b5]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x3b4]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x413e3d
mov edx, dword [ebp + 4]
push edx
call esi
test eax, eax
je 0x41447e
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3b4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x5a]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
and eax, 0xffff
lea edx, [esp + 0x3b4]
push eax
push edx
lea eax, [esp + 0x7bc]
push str.CONNECT__s:_d
push eax
call fcn.0043afc4
lea edi, [esp + 0x7c4]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x27cc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x27cc]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.0040a330
mov ecx, dword [0x51a850]
add esp, 0x14
mov eax, dword [ebx + ecx + 0x20]
cmp eax, 0xffffffff
je 0x413f97
mov edx, eax
shl edx, 5
add edx, eax
mov eax, dword [0x4f4398]
mov ecx, dword [eax + edx*4 + 0x74]
cmp ecx, 0xffffffff
je 0x413f97
mov eax, ecx
mov edx, dword [0x4f43b0]
shl eax, 5
add eax, ecx
shl eax, 3
sub eax, ecx
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [ecx + edx]
mov ecx, dword [ecx + edx + 0x313c]
test ecx, ecx
je 0x413f97
cmp dword [eax + 0x314c], 1
jne 0x413f97
mov esi, dword [esp + 0x14]
add eax, 0x31
push eax
lea eax, [esp + 0x3b8]
push eax
mov ecx, esi
call fcn.004199f0
test eax, eax
je 0x413f9b
mov edx, dword [0x4f944c]
test edx, edx
jne 0x413f70
lea ecx, [esp + 0x3b4]
push ecx
push 0x4f904c
push ebp
call fcn.0043afc4
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x10]
not ecx
dec ecx
push ecx
push ebp
push edx
mov ecx, esi
call fcn.00411190
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x10]
not ecx
dec ecx
push ecx
push edx
push eax
mov ecx, esi
call fcn.00411190
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x5a]
push 1
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
and eax, 0xffff
lea edx, [esp + 0x3b8]
push eax
mov eax, dword [0x51a850]
push edx
mov ecx, dword [ebx + eax + 4]
push ecx
mov ecx, esi
call fcn.00419740
test eax, eax
jne 0x413feb
mov edx, dword [esp + 0x10]
push 0xa
push ebp
push edx
mov ecx, esi
mov byte [ebp + 1], 1
call fcn.00411190
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
mov edx, dword [0x51a850]
lea eax, [esp + 0x38]
mov word [esp + 0x44], 2
mov dword [esp + 0x38], 0x10
push eax
mov eax, dword [ebx + edx + 4]
lea ecx, [esp + 0x48]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x10]
mov dx, word [esp + 0x46]
push 0xa
mov dword [ebp + 4], ecx
push ebp
push edi
mov ecx, esi
mov byte [ebp + 1], 0
mov byte [ebp + 2], 0
mov byte [ebp + 3], 1
mov word [ebp + 8], dx
call fcn.00411190
mov eax, dword [0x51a850]
mov edx, dword [esp + 0x57d0]
push 0
push edi
mov ecx, dword [ebx + eax + 4]
push ecx
push edx
mov ecx, esi
call fcn.00417ca0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
cmp al, 5
jne 0x41447e
cmp byte [ebp + 1], 2
jne 0x41447e
mov al, byte [ebp + 3]
cmp al, 1
jne 0x414097
mov eax, dword [ebp + 4]
mov cx, word [ebp + 8]
mov dword [esp + 0x48], eax
mov word [esp + 0x46], cx
jmp 0x414130
cmp al, 3
jne 0x414130
movsx eax, byte [ebp + 4]
mov dword [esp + 0x3c], eax
add eax, 0xfffffffd
test eax, eax
mov dword [esp + 0x40], eax
jle 0x4140d3
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x40]
push 8
lea eax, [ebp + 0xa]
push edx
push eax
push ecx
mov ecx, edi
call fcn.004112c0
test eax, eax
je 0x41447e
jmp 0x4140d9
jl 0x41447e
mov eax, dword [esp + 0x3c]
lea esi, [ebp + 5]
mov ecx, eax
lea edi, [esp + 0x3b4]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [esp + eax + 0x3b4], 0
mov ax, word [eax + ebp + 5]
lea ecx, [esp + 0x3b4]
mov word [esp + 0x46], ax
push ecx
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x41422f
mov edx, dword [eax + 0xc]
mov esi, dword [sym.imp.WS2_32.dll_inet_ntoa]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [esp + 0x48], ecx
mov dl, byte [0x473aa0]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x17b9]
mov byte [esp + 0x17b8], dl
mov byte [esp + 0x7b4], dl
rep stosd dword es:[edi], eax
mov ecx, 0x400
lea edi, [esp + 0x7b5]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x48]
push eax
call esi
test eax, eax
je 0x414193
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x7b4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x46]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
and eax, 0xffff
lea edx, [esp + 0x7b4]
push eax
push edx
lea eax, [esp + 0x17c0]
push str.BIND__s:_d
push eax
call fcn.0043afc4
lea edi, [esp + 0x17c8]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x27cc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x27cc]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.0040a330
add esp, 0x14
mov dword [esp + 0x20], 0
push 1
push 0
push 0
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov ecx, dword [0x51a850]
mov dword [ebx + ecx + 4], eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x414251
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 0xa
push ebp
push edx
mov byte [ebp + 1], 1
call fcn.00411190
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
mov ecx, dword [0x51a850]
xor eax, eax
mov word [esp + 0x5a], ax
mov dword [esp + 0x5c], eax
mov word [esp + 0x58], 2
mov edx, dword [ebx + ecx + 4]
lea eax, [esp + 0x58]
push 0x10
push eax
push edx
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
jne 0x41447e
mov eax, dword [0x51a850]
push 5
mov ecx, dword [ebx + eax + 4]
push ecx
call dword [sym.imp.WS2_32.dll_listen]
mov ecx, dword [0x51a850]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0x10
push edx
mov edx, dword [ebx + ecx + 4]
lea eax, [esp + 0x5c]
push eax
push edx
call dword [sym.imp.WS2_32.dll_getsockname]
mov eax, dword [0x502114]
mov ecx, dword [esp + 0x10]
push 0xa
mov dword [esp + 0x60], eax
mov dword [ebp + 4], eax
mov ax, word [esp + 0x5e]
push ebp
push ecx
mov ecx, dword [esp + 0x20]
mov byte [ebp + 1], 0
mov byte [ebp + 2], 0
mov byte [ebp + 3], 1
mov word [ebp + 8], ax
call fcn.00411190
test eax, eax
je 0x41447e
mov eax, dword [0x51a850]
mov edi, 1
xor esi, esi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], esi
mov ecx, dword [ebx + eax + 0x18]
cmp ecx, 2
jne 0x41447e
mov dword [esp + 0x9c], 0
mov edx, dword [ebx + eax + 4]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x9c], edi
xor eax, eax
lea ecx, [esp + 0xa0]
cmp dword [ecx], edx
je 0x414349
inc eax
add ecx, 4
cmp eax, edi
jb 0x41433d
cmp eax, edi
jne 0x41435f
mov dword [esp + 0xa4], edx
mov dword [esp + 0x9c], 2
lea eax, [esp + 0x78]
lea ecx, [esp + 0x9c]
push eax
push 0
push 0
push ecx
push 0x40
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jne 0x41439a
mov eax, dword [0x502140]
cmp eax, 0xffffffff
je 0x4143da
lea eax, [eax + eax*2]
inc esi
lea edx, [eax + eax*4]
shl edx, 2
cmp esi, edx
jg 0x41447e
jmp 0x4143da
xor esi, esi
test eax, eax
jl 0x41447e
mov ecx, dword [0x51a850]
lea eax, [esp + 0x9c]
push eax
mov edx, dword [ebx + ecx + 4]
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x4143f7
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x9c]
push eax
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x41447e
mov eax, dword [0x51a850]
cmp dword [ebx + eax + 0x18], 2
je 0x414313
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8
mov eax, dword [0x51a850]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], 0x10
lea edx, [esp + 0x8c]
mov ecx, dword [ebx + eax + 4]
push edx
push ecx
mov ecx, edi
call fcn.00411780
mov esi, eax
test esi, esi
je 0x41447e
mov edx, dword [esp + 0x90]
mov ax, word [esp + 0x8e]
mov byte [ebp], 5
mov byte [ebp + 1], 0
mov byte [ebp + 2], 0
mov byte [ebp + 3], 1
mov dword [ebp + 4], edx
mov word [ebp + 8], ax
mov ecx, dword [0x51a850]
push 0xa
push ebp
mov edx, dword [ebx + ecx]
mov ecx, edi
push edx
call fcn.00411190
test eax, eax
je 0x414477
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x57d0]
push 0
push eax
push esi
push ecx
mov ecx, edi
call fcn.00417ca0
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x57bc
ret 8