Function at 0x4d84ac
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x4d84b5
mov eax, dword [ebp - 4]
add esp, 0xfffff628
push ebx
push esi
push edi
mov dword [ebp - 0x9c], eax
mov ebx, 0x58db60
mov eax, 0x58e550
call fcn.0054e578
push 1
lea eax, [ebp - 0xac]
mov cx, 1
mov dx, 0x7d0
call fcn.0055d614
mov esi, eax
fld qword [esi]
call fcn.00555254
push eax
call fcn.005444a0
fstp qword [ebp - 0xa4]
fld qword [ebp - 0xa4]
call fcn.00555254
pop edx
sub eax, edx
cmp eax, 0x3e8
jl 0x4d8526
cmp eax, 0x2710
jle 0x4d8569
mov word [ebp - 0x88], 8
lea edx, [ebx + 0x249]
lea eax, [ebp - 0xc]
call fcn.0055c210
inc dword [ebp - 0x7c]
mov eax, dword [eax]
call fcn.0051c1e8
dec dword [ebp - 0x7c]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.0055c51c
mov ecx, dword [ebp - 0x98]
mov dword fs:[0], ecx
jmp 0x4d8fb4
mov word [ebp - 0x88], 0x14
xor eax, eax
mov dword [ebp - 0x10], eax
lea edx, [ebp - 0x10]
inc dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ecx + 0x2e0]
call fcn.00521278
lea edx, [ebp - 0x10]
push edx
lea edx, [ebx + 0x268]
lea eax, [ebp - 0x14]
call fcn.0055c210
inc dword [ebp - 0x7c]
lea edx, [ebp - 0x14]
pop eax
call fcn.0055c600
push eax
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.0055c51c
pop ecx
test cl, cl
je 0x4d8615
mov word [ebp - 0x88], 0x20
lea edx, [ebx + 0x269]
lea eax, [ebp - 0x18]
call fcn.0055c210
inc dword [ebp - 0x7c]
mov eax, dword [eax]
call fcn.0051c1e8
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0055c51c
mov ecx, dword [ebp - 0x98]
mov dword fs:[0], ecx
jmp 0x4d8fb4
mov word [ebp - 0x88], 0x2c
xor eax, eax
xor edx, edx
mov dword [ebp - 4], eax
lea edi, [ebp - 0x1bc]
inc dword [ebp - 0x7c]
mov eax, edi
mov word [ebp - 0x88], 0x38
mov word [ebp - 0x88], 0x44
mov dword [ebp - 8], edx
lea esi, [ebx + 0x276]
inc dword [ebp - 0x7c]
mov word [ebp - 0x88], 0x38
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
push 0
push 1
push 2
call sub.WSOCK32.DLL_socket
mov esi, eax
cmp esi, 0xffffffff
jne 0x4d86d1
mov word [ebp - 0x88], 0x50
lea edx, [ebx + 0x281]
lea eax, [ebp - 0x1c]
call fcn.0055c210
inc dword [ebp - 0x7c]
mov eax, dword [eax]
call fcn.0051c1e8
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0055c51c
mov ecx, dword [ebp - 0x98]
mov dword fs:[0], ecx
jmp 0x4d8fb4
mov word [ebp - 0x88], 0x38
mov word [ebp - 0x1cc], 2
mov di, 0x50
lea eax, [ebp - 0x1bc]
push eax
call sub.WSOCK32.DLL_gethostbyname
test eax, eax
jne 0x4d875a
mov word [ebp - 0x88], 0x5c
lea edx, [ebx + 0x28f]
lea eax, [ebp - 0x20]
call fcn.0055c210
inc dword [ebp - 0x7c]
mov eax, dword [eax]
call fcn.0051c1e8
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0055c51c
mov ecx, dword [ebp - 0x98]
mov dword fs:[0], ecx
jmp 0x4d8fb4
test eax, eax
je 0x4d876b
mov eax, dword [eax + 0xc]
mov edx, dword [eax]
mov ecx, dword [edx]
mov dword [ebp - 0x1c8], ecx
push edi
call sub.WSOCK32.DLL_htons
mov word [ebp - 0x1ca], ax
lea eax, [ebp - 0x1cc]
push 0x10
push eax
push esi
call sub.WSOCK32.DLL_connect
inc eax
jne 0x4d87ed
mov word [ebp - 0x88], 0x68
lea edx, [ebx + 0x29d]
lea eax, [ebp - 0x24]
call fcn.0055c210
inc dword [ebp - 0x7c]
mov eax, dword [eax]
call fcn.0051c1e8
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0055c51c
mov ecx, dword [ebp - 0x98]
mov dword fs:[0], ecx
jmp 0x4d8fb4
mov word [ebp - 0x88], 0x74
lea edx, [ebp - 0x1bc]
lea eax, [ebp - 0x2c]
call fcn.0055c210
inc dword [ebp - 0x7c]
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebx + 0x2ab]
lea eax, [ebp - 0x28]
call fcn.0055c210
inc dword [ebp - 0x7c]
xor ecx, ecx
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x30]
inc dword [ebp - 0x7c]
pop edx
call fcn.0055c574
lea eax, [ebp - 0x30]
push eax
lea edx, [ebx + 0x2b7]
lea eax, [ebp - 0x34]
call fcn.0055c210
mov edx, eax
inc dword [ebp - 0x7c]
xor eax, eax
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x38]
inc dword [ebp - 0x7c]
pop eax
call fcn.0055c574
lea edx, [ebp - 0x38]
push edx
lea edx, [ebp - 0x1bc]
lea eax, [ebp - 0x3c]
call fcn.0055c210
inc dword [ebp - 0x7c]
xor eax, eax
mov dword [ebp - 0x40], eax
lea edx, [ebp - 0x3c]
inc dword [ebp - 0x7c]
lea ecx, [ebp - 0x40]
pop eax
call fcn.0055c574
lea edx, [ebp - 0x40]
push edx
lea edx, [ebx + 0x2cf]
lea eax, [ebp - 0x44]
call fcn.0055c210
mov edx, eax
inc dword [ebp - 0x7c]
xor eax, eax
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x48]
inc dword [ebp - 0x7c]
pop eax
call fcn.0055c574
lea edx, [ebp - 0x48]
lea eax, [ebp - 4]
call fcn.0055c54c
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x48]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x44]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x40]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.0055c51c
push 0
cmp dword [ebp - 4], 0
je 0x4d8951
mov ecx, dword [ebp - 4]
mov eax, dword [ecx - 4]
jmp 0x4d8953
xor eax, eax
push eax
cmp dword [ebp - 4], 0
je 0x4d895f
mov edx, dword [ebp - 4]
jmp 0x4d8965
lea edx, [ebx + 0x2d4]
push edx
push esi
call sub.WSOCK32.DLL_send
mov edi, eax
mov word [ebp - 0x88], 0x38
inc edi
jne 0x4d89dd
mov word [ebp - 0x88], 0x80
lea edx, [ebx + 0x2d5]
lea eax, [ebp - 0x4c]
call fcn.0055c210
inc dword [ebp - 0x7c]
mov eax, dword [eax]
call fcn.0051c1e8
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x4c]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0055c51c
mov ecx, dword [ebp - 0x98]
mov dword fs:[0], ecx
jmp 0x4d8fb4
push 0x2710
push 0
lea eax, [ebp - 0x28dc]
push eax
call fcn.0054e144
add esp, 0xc
lea edx, [ebp - 0x28dc]
push 0
push 0x2710
push edx
push esi
call sub.WSOCK32.DLL_recv
mov edi, eax
push esi
call sub.WSOCK32.DLL_closesocket
test edi, edi
jg 0x4d8a76
mov word [ebp - 0x88], 0x8c
lea edx, [ebx + 0x2e3]
lea eax, [ebp - 0x50]
call fcn.0055c210
inc dword [ebp - 0x7c]
mov eax, dword [eax]
call fcn.0051c1e8
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x50]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0055c51c
mov ecx, dword [ebp - 0x98]
mov dword fs:[0], ecx
jmp 0x4d8fb4
lea eax, [ebx + 0x2f1]
push eax
lea edx, [ebp - 0x28dc]
push edx
call fcn.0054e371
add esp, 8
test eax, eax
je 0x4d8aaa
lea ecx, [ebx + 0x2fb]
push ecx
lea eax, [ebp - 0x28dc]
push eax
call fcn.0054e371
add esp, 8
test eax, eax
jne 0x4d8b0d
mov word [ebp - 0x88], 0x98
lea edx, [ebx + 0x306]
lea eax, [ebp - 0x54]
call fcn.0055c210
inc dword [ebp - 0x7c]
mov eax, dword [eax]
call fcn.0051c1e8
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x54]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0055c51c
mov ecx, dword [ebp - 0x98]
mov dword fs:[0], ecx
jmp 0x4d8fb4
mov word [ebp - 0x88], 0xa4
lea edx, [ebp - 0x28dc]
lea eax, [ebp - 0x58]
call fcn.0055c210
mov edx, eax
inc dword [ebp - 0x7c]
lea eax, [ebp - 4]
call fcn.0055c54c
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x58]
mov edx, 2
call fcn.0055c51c
mov word [ebp - 0x88], 0xb0
lea edx, [ebx + 0x314]
lea eax, [ebp - 0x5c]
call fcn.0055c210
inc dword [ebp - 0x7c]
lea edx, [ebp - 0x5c]
lea eax, [ebp - 4]
call fcn.0055c6d0
mov esi, eax
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x5c]
mov edx, 2
call fcn.0055c51c
mov word [ebp - 0x88], 0xbc
lea edx, [ebx + 0x31e]
lea eax, [ebp - 0x60]
call fcn.0055c210
inc dword [ebp - 0x7c]
lea edx, [ebp - 0x60]
lea eax, [ebp - 4]
call fcn.0055c6d0
mov edi, eax
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.0055c51c
test esi, esi
je 0x4d8bb7
test edi, edi
jne 0x4d8c1a
mov word [ebp - 0x88], 0xc8
lea edx, [ebx + 0x329]
lea eax, [ebp - 0x64]
call fcn.0055c210
inc dword [ebp - 0x7c]
mov eax, dword [eax]
call fcn.0051c1e8
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x64]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0055c51c
mov ecx, dword [ebp - 0x98]
mov dword fs:[0], ecx
jmp 0x4d8fb4
sub edi, esi
add edi, 0xfffffff7
cmp edi, 1
jge 0x4d8c87
mov word [ebp - 0x88], 0xd4
lea edx, [ebx + 0x337]
lea eax, [ebp - 0x68]
call fcn.0055c210
inc dword [ebp - 0x7c]
mov eax, dword [eax]
call fcn.0051c1e8
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x68]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0055c51c
mov ecx, dword [ebp - 0x98]
mov dword fs:[0], ecx
jmp 0x4d8fb4
mov word [ebp - 0x88], 0xe0
xor eax, eax
lea edx, [ebp - 0x6c]
mov dword [ebp - 0x6c], eax
push edx
inc dword [ebp - 0x7c]
lea edx, [esi + 9]
lea eax, [ebp - 4]
mov ecx, edi
call fcn.0055c88c
lea edx, [ebp - 0x6c]
lea eax, [ebp - 8]
call fcn.0055c54c
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x6c]
mov edx, 2
call fcn.0055c51c
mov word [ebp - 0x88], 0xec
cmp dword [ebp - 8], 0
je 0x4d8cd8
mov ecx, dword [ebp - 8]
jmp 0x4d8cde
lea ecx, [ebx + 0x345]
push ecx
xor edx, edx
mov eax, dword [ebp - 0x9c]
push eax
lea eax, [ebp - 0x70]
mov dword [ebp - 0x70], edx
push eax
inc dword [ebp - 0x7c]
call fcn.004d8fbc
add esp, 0xc
lea edx, [ebp - 0x70]
lea eax, [ebp - 8]
call fcn.0055c54c
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x70]
mov edx, 2
call fcn.0055c51c
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xb0], ecx
xor edx, edx
mov word [ebp - 0x88], 0x38
mov dword [ebp - 0xb4], eax
xor ecx, ecx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xbc], ecx
lea eax, [ebp - 0xb8]
push eax
cmp dword [ebp - 8], 0
je 0x4d8d50
mov edx, dword [ebp - 8]
jmp 0x4d8d56
lea edx, [ebx + 0x346]
push edx
call fcn.004cea90
add esp, 8
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebx + 0x347]
push ecx
call fcn.004cea90
add esp, 8
lea eax, [ebp - 0xb4]
push eax
lea edx, [ebx + 0x3c8]
push edx
call fcn.004cec58
add esp, 8
lea ecx, [ebp - 0xbc]
push ecx
mov eax, dword [ebp - 0xb0]
push eax
mov edx, dword [ebp - 0xb4]
push edx
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.004c8944
add esp, 0x10
mov eax, dword [ebp - 0xbc]
push eax
lea edx, [ebp - 0x295c]
push edx
call fcn.004ce638
add esp, 8
lea ecx, [ebp - 0x295c]
push ecx
call fcn.0054e278
pop ecx
sub eax, 2
push eax
lea eax, [ebp - 0x29dc]
push eax
lea edx, [ebp - 0x295a]
push edx
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.004d9060
mov edi, 0x5a8ba8
add esp, 0x10
mov eax, edi
lea esi, [ebx + 0x3ce]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x29dc]
push edx
push 0x5a8ba8
call fcn.0054e1e8
add esp, 8
lea ecx, [ebx + 0x3d6]
push ecx
push 0x5a8ba8
call fcn.0054e1e8
add esp, 8
xor eax, eax
lea edi, [ebp - 0x29dc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, 0x5a8c28
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor eax, eax
lea edi, [ebp - 0x29dc]
or ecx, 0xffffffff
mov esi, 0x5a8ca8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [sym.Project1.exe__PlayForm]
lea esi, [ebx + 0x3de]
mov edx, dword [eax]
mov ecx, dword [edx + 0x1090]
lea edx, [ebp - 0x29dc]
mov edi, ecx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [sym.Project1.exe__PlayForm]
push edx
mov eax, dword [ecx]
mov edx, dword [eax + 0x1090]
push edx
call fcn.0054e1e8
add esp, 8
mov eax, dword [sym.Project1.exe__PlayForm]
lea ecx, [ebx + 0x3e6]
push ecx
mov edx, dword [eax]
mov ecx, dword [edx + 0x1090]
push ecx
call fcn.0054e1e8
mov word [ebp - 0x88], 0xf8
add esp, 8
mov edx, 0x5a8c28
lea eax, [ebp - 0x74]
call fcn.0055c210
inc dword [ebp - 0x7c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + 0x314]
call fcn.004f16cc
dec dword [ebp - 0x7c]
lea eax, [ebp - 0x74]
mov edx, 2
call fcn.0055c51c
mov ecx, dword [ebp - 0x9c]
mov edx, 0x50
mov eax, dword [ecx + 0x314]
call fcn.004f174c
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ecx + 0x300]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, dword [ebp - 0x9c]
xor edx, edx
mov dword [eax + 0x318], edx
mov word [ebp - 0x88], 0x104
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ecx + 0x314]
call fcn.004f17f8
mov word [ebp - 0x88], 0x38
jmp 0x4d8f87
dec dword [ebp - 0x7c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0055c51c
dec dword [ebp - 0x7c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0055c51c
mov ecx, dword [ebp - 0x98]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret