Function at 0x402c30
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42ffd0
mov eax, dword fs:[0]
push eax
sub esp, 0x14c
mov eax, dword [0x43d0a0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
cmp byte [0x4412f3], 1
je 0x4033fb
mov byte [0x4412f3], 1
mov dword [ebp - 4], 0
cmp byte [0x4418a2], 0
jne 0x4033ed
mov eax, dword [0x441644]
test eax, eax
je 0x402c9b
cmp eax, 0xffffffff
jne 0x402eb0
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x43ff98], eax
mov eax, 2
mov word [ebp - 0x40], ax
movzx ecx, word [0x441880]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x3e], ax
push 0
mov esi, dword [sym.imp.WS2_32.dll_htonl]
call esi
mov dword [ebp - 0x3c], eax
push 0x10
lea edx, [ebp - 0x40]
push edx
mov eax, dword [0x43ff98]
push eax
mov edi, dword [sym.imp.WS2_32.dll_bind]
call edi
mov dword [ebp - 0xa4], eax
push closesocket
mov ecx, dword [0x43ff98]
push ecx
mov ebx, dword [sym.imp.WS2_32.dll_listen]
call ebx
mov dword [ebp - 0xac], eax
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x43ffc0], eax
mov edx, 2
mov word [ebp - 0x78], dx
mov eax, dword [0x441880]
inc eax
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x76], ax
push 0
call esi
mov dword [ebp - 0x74], eax
push 0x10
lea ecx, [ebp - 0x78]
push ecx
mov edx, dword [0x43ffc0]
push edx
call edi
mov dword [ebp - 0xa0], eax
push closesocket
mov eax, dword [0x43ffc0]
push eax
call ebx
mov dword [ebp - 0xa8], eax
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x43ffa4], eax
mov ecx, 2
mov word [ebp - 0x5c], cx
mov edx, dword [0x441880]
add edx, ecx
push edx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x5a], ax
push 0
call esi
mov dword [ebp - 0x58], eax
push 0x10
lea eax, [ebp - 0x5c]
push eax
mov ecx, dword [0x43ffa4]
push ecx
call edi
mov esi, eax
push closesocket
mov edx, dword [0x43ffa4]
push edx
call ebx
xor ebx, ebx
cmp dword [ebp - 0xa4], ebx
jne 0x402df9
cmp dword [ebp - 0xac], ebx
jne 0x402df9
cmp dword [ebp - 0xa0], ebx
jne 0x402df9
cmp dword [ebp - 0xa8], ebx
jne 0x402df9
cmp esi, ebx
jne 0x402df9
cmp eax, ebx
jne 0x402df9
mov byte [0x4412d0], 1
mov byte [0x4412d1], 1
mov byte [0x4412d2], 1
jmp 0x402e9e
mov dword [0x43ff98], ebx
mov dword [0x43ffc0], ebx
mov dword [0x43ffa4], ebx
mov byte [0x44136d], 1
mov byte [0x4418a2], 1
movzx eax, word [0x441880]
push eax
lea esi, [ebp - 0xe8]
call fcn.004167e0
push eax
mov edi, 0x432f4c
mov eax, 0x4415f0
lea esi, [ebp - 0xcc]
call fcn.00416470
lea edi, [ebp - 0x30]
call fcn.00416550
add esp, 4
cmp dword [eax + 0x18], 0x10
jb 0x402e58
mov eax, dword [eax + 4]
jmp 0x402e5b
add eax, 4
push ebx
push ebx
push 0x10
push eax
push ebx
call dword [sym.imp.USER32.dll_FindWindowA]
push eax
mov esi, dword [sym.imp.USER32.dll_PostMessageA]
call esi
lea ecx, [ebp - 0x30]
call fcn.004157d0
lea ecx, [ebp - 0xcc]
call fcn.004157d0
lea ecx, [ebp - 0xe8]
call fcn.004157d0
push ebx
push ebx
push 0x111
mov ecx, dword [0x4413d0]
push ecx
call esi
cmp byte [0x4418a2], 0
jne 0x4033ed
mov eax, dword [0x441644]
cmp eax, 1
jne 0x4033ed
xor ebx, ebx
cmp dword [0x441240], ebx
jne 0x403004
mov ecx, 0x432e83
mov edi, 0x43e13c
call fcn.004165c0
test al, al
je 0x403004
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
push 0x4415d4
mov edx, dword [0x441660]
push edx
lea esi, [ebp - 0x158]
call fcn.004167e0
push eax
mov eax, dword [0x44165c]
push eax
lea esi, [ebp - 0x120]
call fcn.004167e0
push eax
push 0x441864
mov eax, 0x432f7c
lea edi, [ebp - 0x104]
call fcn.00416620
add esp, 4
mov edi, str.____Fps:000____0Byte_Sec___
lea esi, [ebp - 0x13c]
call fcn.00416470
lea edi, [ebp - 0x4c]
call fcn.00416550
add esp, 4
mov edi, 0x432f58
lea esi, [ebp - 0x84]
call fcn.00416470
lea edi, [ebp - 0x68]
call fcn.00416550
add esp, 4
mov edi, 0x432f50
lea esi, [ebp - 0xcc]
call fcn.00416470
lea edi, [ebp - 0xe8]
call fcn.00416550
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x30]
call fcn.00415960
mov ecx, edi
call fcn.004157d0
mov ecx, esi
call fcn.004157d0
lea ecx, [ebp - 0x68]
call fcn.004157d0
lea ecx, [ebp - 0x84]
call fcn.004157d0
lea ecx, [ebp - 0x4c]
call fcn.004157d0
lea ecx, [ebp - 0x13c]
call fcn.004157d0
lea ecx, [ebp - 0x104]
call fcn.004157d0
lea ecx, [ebp - 0x120]
call fcn.004157d0
lea ecx, [ebp - 0x158]
call fcn.004157d0
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x402fee
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [0x4413d0]
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
lea ecx, [ebp - 0x30]
call fcn.004157d0
mov ecx, dword [0x4413d0]
mov edx, 0x4418f4
call fcn.00416c50
mov dword [ebp - 0x88], ebx
cmp byte [0x4412d0], 0
jne 0x403166
mov eax, dword [0x43ff98]
cmp eax, ebx
je 0x40304c
push 2
push eax
call dword [sym.imp.WS2_32.dll_shutdown]
mov edx, dword [0x43ff98]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [0x43ff98], ebx
mov dword [ebp - 0x88], 0xffffffff
mov dword [0x4412d4], ebx
cmp dword [0x44187c], 0x10
mov eax, dword [0x441868]
jae 0x40306f
mov eax, 0x441868
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [0x43ffbc], eax
cmp eax, ebx
je 0x4030ac
mov ecx, 2
mov word [0x441200], cx
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [0x441204], ecx
movzx edx, word [0x441880]
push edx
call dword [sym.imp.WS2_32.dll_htons]
mov word [0x441202], ax
xor esi, esi
mov dword [ebp - 0x98], esi
mov edi, dword [sym.imp.WS2_32.dll_connect]
mov ebx, dword [sym.imp.WS2_32.dll_socket]
cmp esi, 0x64
jge 0x403119
mov eax, dword [0x43ff98]
test eax, eax
je 0x4030e3
push 2
push eax
call dword [sym.imp.WS2_32.dll_shutdown]
mov eax, dword [0x43ff98]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
push 0
push 1
push 2
call ebx
mov dword [0x43ff98], eax
test eax, eax
je 0x403152
push 0x10
push 0x441200
push eax
call edi
mov dword [ebp - 0x88], eax
test eax, eax
je 0x403139
or ecx, 0xffffffff
cmp dword [0x4412f4], ecx
jne 0x403139
mov dword [ebp - 0x88], ecx
xor eax, eax
mov dword [ebp - 0x9c], eax
cmp eax, 0x100
jge 0x403166
mov byte [eax + 0x43ffd8], 0
mov byte [eax + 0x43fe90], 0
inc eax
jmp 0x40311b
cmp byte [0x4418a2], 1
jne 0x40314e
mov dword [ebp - 0x88], 0
jmp 0x403119
test eax, eax
je 0x403119
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
mov dword [ebp - 0x98], esi
jmp 0x4030c0
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x8c], ebx
mov edi, dword [sym.imp.WS2_32.dll_shutdown]
cmp byte [0x4412d1], bl
jne 0x403276
mov eax, dword [0x43ffc0]
cmp eax, esi
je 0x4031a3
push 2
push eax
call edi
mov ecx, dword [0x43ffc0]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [0x43ffc0], esi
or ebx, 0xffffffff
mov dword [ebp - 0x8c], ebx
mov dword [0x4412d8], esi
cmp dword [0x44187c], 0x10
mov eax, dword [0x441868]
jae 0x4031c5
mov eax, 0x441868
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [0x43ffbc], eax
cmp eax, esi
je 0x403201
mov edx, 2
mov word [0x4412b8], dx
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [0x4412bc], edx
mov eax, dword [0x441880]
inc eax
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [0x4412ba], ax
xor esi, esi
mov dword [ebp - 0xb0], esi
cmp esi, 0x64
jge 0x403276
mov eax, dword [0x43ffc0]
test eax, eax
je 0x403229
push 2
push eax
call edi
mov ecx, dword [0x43ffc0]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x43ffc0], eax
test eax, eax
je 0x403431
push 0x10
push 0x4412b8
push eax
call dword [sym.imp.WS2_32.dll_connect]
mov ebx, eax
mov dword [ebp - 0x8c], ebx
test ebx, ebx
je 0x403419
cmp dword [0x4412f8], 0xffffffff
jne 0x403419
or ebx, 0xffffffff
mov dword [ebp - 0x8c], ebx
xor esi, esi
mov dword [ebp - 0x90], esi
cmp byte [0x4412d2], 0
jne 0x403394
mov eax, dword [0x43ffa4]
test eax, eax
je 0x4032ac
push 2
push eax
call edi
mov edx, dword [0x43ffa4]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [0x43ffa4], esi
or esi, 0xffffffff
mov dword [ebp - 0x90], esi
mov dword [0x4412dc], 0
cmp dword [0x44187c], 0x10
mov eax, dword [0x441868]
jae 0x4032d2
mov eax, 0x441868
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [0x43ffbc], eax
test eax, eax
je 0x403311
mov ecx, 2
mov word [0x43ffc8], cx
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [0x43ffcc], ecx
mov edx, dword [0x441880]
add edx, 2
push edx
call dword [sym.imp.WS2_32.dll_htons]
mov word [0x43ffca], ax
xor edi, edi
mov dword [ebp - 0x94], edi
cmp edi, 0x64
jge 0x403389
mov eax, dword [0x43ffa4]
test eax, eax
je 0x40333c
push 2
push eax
call dword [sym.imp.WS2_32.dll_shutdown]
mov eax, dword [0x43ffa4]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x43ffa4], eax
test eax, eax
je 0x403457
push 0x10
push 0x43ffc8
push eax
call dword [sym.imp.WS2_32.dll_connect]
mov esi, eax
mov dword [ebp - 0x90], esi
test esi, esi
je 0x40343f
cmp dword [0x4412fc], 0xffffffff
jne 0x40343f
or esi, 0xffffffff
mov dword [ebp - 0x90], esi
call fcn.00416f80
mov edi, dword [sym.imp.WS2_32.dll_shutdown]
cmp dword [ebp - 0x88], 0xffffffff
je 0x403465
cmp ebx, 0xffffffff
je 0x403465
cmp esi, 0xffffffff
je 0x403465
mov byte [0x4412d0], 1
mov byte [0x4412d1], 1
mov byte [0x4412d2], 1
mov eax, 1
mov dword [0x4412d4], eax
mov dword [0x4412d8], eax
mov dword [0x4412dc], eax
xor eax, eax
mov dword [0x4412f4], eax
mov dword [0x4412f8], eax
mov dword [0x4412fc], eax
mov byte [0x4412f3], 0
mov dword [ebp - 4], 0xffffffff
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041c9bc
mov esp, ebp
pop ebp
ret
cmp byte [0x4418a2], 1
jne 0x403429
xor ebx, ebx
jmp 0x403270
test ebx, ebx
je 0x403276
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
jmp 0x403203
cmp byte [0x4418a2], 1
jne 0x40344f
xor esi, esi
jmp 0x403383
test esi, esi
je 0x403389
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
jmp 0x403313
mov eax, dword [0x43ff98]
test eax, eax
je 0x403483
push 2
push eax
call edi
mov eax, dword [0x43ff98]
test eax, eax
je 0x403483
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [0x43ffc0]
test eax, eax
je 0x4034a1
push 2
push eax
call edi
mov eax, dword [0x43ffc0]
test eax, eax
je 0x4034a1
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [0x43ffa4]
test eax, eax
je 0x4034bf
push 2
push eax
call edi
mov eax, dword [0x43ffa4]
test eax, eax
je 0x4034bf
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
cmp byte [0x441675], 0
jne 0x4034f0
cmp dword [0x4415ec], 0x10
mov eax, dword [0x4415d8]
jae 0x4034db
mov eax, 0x4415d8
push 0x10
push eax
push 0x432f80
mov ecx, dword [0x4413d0]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp byte [0x441675], 1
jne 0x403521
cmp dword [0x4415ec], 0x10
mov eax, dword [0x4415d8]
jae 0x40350c
mov eax, 0x4415d8
push 0x10
push eax
push str.Disconnected_
mov edx, dword [0x4413d0]
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [0x4412f3], 0
mov byte [0x4418a2], 1
push 0
push 0
push 0x111
mov eax, dword [0x4413d0]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
xor al, al
jmp 0x4033fd