Function at 0x416930
Capabilities:
Act as tcp client
Check if file exists
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Delete file
Get socket status
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58291b
mov eax, dword fs:[0]
push eax
sub esp, 0x288
mov eax, dword [0x5e4a44]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x18]
mov dword [ebp - 0x144], ecx
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x130], edx
call fcn.00464d7d
mov dword [ebp - 4], 0
mov eax, dword [ebx]
push 1
push ecx
sub eax, 0x10
mov dword [ebp - 0x16c], esp
mov esi, esp
push eax
call fcn.00403050
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00415cd0
mov eax, dword [ebx]
add esp, 8
push 0
push 0x1001
push eax
lea ecx, [ebp - 0x160]
call fcn.0046519f
test eax, eax
jne 0x416a13
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
mov ebx, dword [ebx]
push ebx
push eax
mov eax, dword [ebp - 0x130]
push 0x5afaf8
push eax
call fcn.00403110
add esp, 0x10
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
call fcn.00464e7f
or eax, 0xffffffff
jmp 0x41747c
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
mov dword [ebp - 0x168], esi
cmp esi, 0xffffffff
jne 0x416a61
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, dword [ebp - 0x130]
push eax
push 0x5afb0c
push ecx
mov dword [edi], eax
call fcn.00403110
add esp, 0xc
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], esi
call fcn.00464e7f
mov eax, 0xfffffffe
jmp 0x41747c
mov ebx, dword [ebp - 0x138]
xor eax, eax
mov edx, 2
mov dword [ebp - 0x12c], eax
push ebx
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov word [ebp - 0x12c], dx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x128], eax
cmp eax, 0xffffffff
jne 0x416abb
push ebx
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x416b40
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [ebp - 0x128], edx
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
push 4
lea edx, [ebp - 0x14c]
push edx
push 0x1002
push 0xffff
push esi
mov word [ebp - 0x12a], ax
mov dword [ebp - 0x14c], 0x10000
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x416b81
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x130]
push ecx
push eax
push 0x5afb34
push edx
mov dword [edi], eax
call fcn.00403110
add esp, 0x10
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
call fcn.00464e7f
mov eax, 0xfffffffc
jmp 0x41747c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push ebx
push eax
mov dword [edi], eax
mov eax, dword [ebp - 0x130]
push 0x5afb20
push eax
call fcn.00403110
add esp, 0x10
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
call fcn.00464e7f
mov eax, 0xfffffffd
jmp 0x41747c
push 4
lea eax, [ebp - 0x14c]
push eax
push 0x1001
push 0xffff
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x416be7
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x130]
push ecx
push eax
push 0x5afb4c
push edx
mov dword [edi], eax
call fcn.00403110
add esp, 0x10
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
call fcn.00464e7f
mov eax, 0xfffffffb
jmp 0x41747c
push 0x10
lea eax, [ebp - 0x12c]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x416c51
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
movzx ecx, word [ebp - 0x12a]
mov edx, dword [ebp - 0x128]
push ecx
movzx ecx, word [ebp + 0xc]
push edx
mov edx, dword [ebp - 0x130]
push ecx
push ebx
push eax
push 0x5afb64
push edx
mov dword [edi], eax
call fcn.00403110
add esp, 0x1c
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
call fcn.00464e7f
mov eax, 0xfffffffa
jmp 0x41747c
mov ebx, dword [ebp + 0x10]
add ebx, 4
push ebx
call fcn.00450d15
add esp, 4
mov dword [ebp - 0x164], eax
test eax, eax
jne 0x416ca4
push esi
mov dword [edi], eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [ebp - 0x130]
push ebx
push 0x5afb84
push eax
call fcn.00403110
add esp, 0xc
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
call fcn.00464e7f
mov eax, 0xfffffff9
jmp 0x41747c
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x144]
push ecx
mov dword [eax], ebx
push edx
add eax, 4
push eax
call fcn.00558100
mov eax, dword [ebp - 0x14c]
add esp, 0xc
push eax
call fcn.00450d15
mov ecx, dword [ebp - 0x164]
add esp, 4
mov dword [ebp - 0x150], eax
test eax, eax
jne 0x416d25
push ecx
mov dword [edi], eax
call fcn.00450d0a
add esp, 4
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x130]
push edx
push 0x5afb98
push eax
call fcn.00403110
add esp, 0xc
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
call fcn.00464e7f
mov eax, 0xfffffff8
jmp 0x41747c
push 4
push ebx
push ecx
push esi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x416d96
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, dword [ebp - 0x164]
push edx
mov dword [edi], eax
call fcn.00450d0a
mov eax, dword [ebp - 0x150]
add esp, 4
push eax
call fcn.00450d0a
add esp, 4
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [edi]
mov edx, dword [ebp - 0x130]
push ebx
push ecx
push 0x5afbac
push edx
call fcn.00403110
add esp, 0x10
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
call fcn.00464e7f
mov eax, 0xfffffff7
jmp 0x41747c
xor edi, edi
mov dword [ebp - 0x144], edi
mov byte [ebp - 0x139], 1
mov dword [ebp - 0x134], 0xfffffff3
jmp 0x416db7
mov esi, dword [ebp - 0x168]
lea eax, [ebp - 0x170]
push eax
push 0
push 0
lea ecx, [ebp - 0x294]
push ecx
push 0
mov dword [ebp - 0x294], 1
mov dword [ebp - 0x290], esi
mov dword [ebp - 0x170], 2
mov dword [ebp - 0x16c], 0
call dword [sym.imp.WS2_32.dll_select]
mov esi, eax
cmp esi, 0xffffffff
jne 0x416e2c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, dword [ebp - 0x140]
push esi
push eax
mov dword [edx], eax
mov eax, dword [ebp - 0x130]
push str.select
push eax
mov dword [ebp - 0x134], 0xfffffff6
call fcn.00403110
add esp, 0x10
jmp 0x416e8c
test esi, esi
jne 0x416e60
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x140]
push esi
push eax
push str.select
push edx
mov dword [ecx], eax
mov dword [ebp - 0x134], 0xfffffff5
call fcn.00403110
add esp, 0x10
jmp 0x416e8c
jge 0x416f96
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push esi
push eax
mov eax, dword [ebp - 0x130]
push str.select
push eax
call fcn.00403110
add esp, 0x10
mov al, 1
test al, al
jne 0x416db1
lea ecx, [ebp - 0x160]
call fcn.00464d17
cmp dword [ebp - 0x134], 0
mov ebx, dword [ebp - 0x148]
jne 0x417423
mov eax, dword [ebx]
push 0
push 2
push eax
lea ecx, [ebp - 0x160]
call fcn.0046519f
test eax, eax
je 0x417498
lea ecx, [ebp - 0x160]
call fcn.00464c68
mov esi, eax
cmp esi, 4
jbe 0x4173de
push esi
call fcn.00450d15
mov edi, eax
add esp, 4
mov dword [ebp - 0x16c], edi
test edi, edi
je 0x4173ae
push esi
push edi
lea ecx, [ebp - 0x160]
call fcn.00464a71
mov ebx, dword [edi]
push ebx
mov dword [ebp - 0x144], ebx
call fcn.00450d15
mov edx, eax
add esp, 4
mov dword [ebp - 0x138], edx
test edx, edx
je 0x41736f
add esi, 0xfffffffc
lea eax, [edi + 4]
mov ecx, esi
lea edi, [ebp - 0x144]
call fcn.0044aac0
xor edi, edi
cmp eax, edi
je 0x417289
mov edx, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x140]
push edx
push esi
push eax
mov dword [ecx], eax
mov eax, dword [ebp - 0x130]
push 0x5afc48
push eax
mov dword [ebp - 0x134], 0xffffffed
call fcn.00403110
add esp, 0x14
mov ecx, dword [ebp - 0x138]
push ecx
call fcn.00450d0a
mov edi, dword [ebp - 0x16c]
add esp, 4
push edi
call fcn.00450d0a
mov ebx, dword [ebp - 0x148]
add esp, 4
jmp 0x41740f
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x150]
push 0
sub ecx, edi
push ecx
mov ecx, dword [ebp - 0x168]
lea eax, [edi + edx]
push eax
push ecx
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
cmp esi, 0xffffffff
jne 0x416ff2
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, dword [ebp - 0x140]
push esi
push eax
mov dword [edx], eax
mov eax, dword [ebp - 0x130]
push 0x5afbd4
push eax
mov dword [ebp - 0x134], 0xfffffff4
call fcn.00403110
add esp, 0x10
jmp 0x416e8c
test esi, esi
jge 0x417029
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x140]
push esi
push eax
push 0x5afbd4
push edx
mov dword [ecx], eax
mov dword [ebp - 0x134], 0xfffffff3
call fcn.00403110
add esp, 0x10
jmp 0x416e8c
je 0x416e82
cmp byte [ebp - 0x139], 0
je 0x417167
add edi, esi
cmp edi, 4
jb 0x416f96
mov eax, dword [ebp - 0x150]
mov ebx, dword [eax]
sub ebx, 4
sub edi, 4
add eax, 4
lea ecx, [ebp - 0x160]
cmp edi, ebx
jb 0x4170df
push ebx
push eax
mov byte [ebp - 4], 1
call fcn.00464ab3
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x134], eax
jmp 0x416e8c
push edi
push eax
mov byte [ebp - 4], 5
call fcn.00464ab3
mov dword [ebp - 4], 0
mov dword [ebp - 0x144], edi
xor edi, edi
mov byte [ebp - 0x139], 0
jmp 0x416f96
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x150]
add eax, esi
cmp eax, ebx
mov dword [ebp - 0x144], eax
jl 0x41720a
sub esi, eax
add esi, ebx
push esi
push ecx
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 9
call fcn.00464ab3
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x134], eax
jmp 0x416e8c
push esi
push ecx
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0xd
call fcn.00464ab3
mov dword [ebp - 4], 0
jmp 0x416f96
mov esi, dword [ebp - 0x144]
cmp esi, ebx
je 0x4172c7
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x140]
push ebx
mov ecx, ebx
push esi
shl ecx, 0x10
or ecx, esi
push 0x5afc60
push eax
mov dword [ebp - 0x134], 0xffffffec
mov dword [edx], ecx
call fcn.00403110
add esp, 0x10
jmp 0x416f6d
push edi
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x160]
mov eax, dword [edx + 0x28]
push edi
push edi
lea ecx, [ebp - 0x160]
call eax
mov ecx, dword [ebp - 0x138]
push esi
push ecx
lea ecx, [ebp - 0x160]
call fcn.00464ab3
push edi
push esi
lea ecx, [ebp - 0x160]
call fcn.00464c32
mov dword [ebp - 0x134], edi
mov dword [ebp - 4], edi
jmp 0x416f6d
mov dword [ebp - 0x134], 0xffffffee
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x140]
push esi
push eax
mov dword [edx], eax
mov eax, dword [ebp - 0x130]
push 0x5afc8c
push eax
call fcn.00403110
add esp, 0x10
push edi
call fcn.00450d0a
mov ebx, dword [ebp - 0x148]
add esp, 4
jmp 0x41740f
mov dword [ebp - 0x134], 0xffffffef
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x140]
push esi
push eax
push 0x5afca0
push edx
mov dword [ecx], eax
call fcn.00403110
add esp, 0x10
jmp 0x41740f
mov dword [ebp - 0x134], 0xfffffff0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x130]
mov dword [ecx], eax
mov ecx, dword [ebx]
push ecx
push esi
push eax
push 0x5afcb4
push edx
call fcn.00403110
add esp, 0x14
lea ecx, [ebp - 0x160]
call fcn.00464d17
cmp dword [ebp - 0x134], 0
je 0x417439
mov eax, dword [ebx]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x417439
mov ebx, dword [ebx]
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x164]
push eax
call fcn.00450d0a
mov ecx, dword [ebp - 0x150]
add esp, 4
push ecx
call fcn.00450d0a
mov edx, dword [ebp - 0x168]
add esp, 4
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
call fcn.00464e7f
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.005509f8
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x134], 0xfffffff1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x130]
mov dword [ecx], eax
mov ecx, dword [ebx]
push ecx
push eax
push 0x5afccc
push edx
call fcn.00403110
add esp, 0x10
jmp 0x417423