Function at 0x5abd60
Capabilities:
Act as tcp client
Check for time delay via gettickcount
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push 0xffffffffffffffff
push 0x795eaa
mov eax, dword fs:[0]
push eax
sub esp, 0x4fc
mov eax, dword [0x856918]
xor eax, esp
mov dword [esp + 0x4f8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x856918]
xor eax, esp
push eax
lea eax, [esp + 0x510]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x520]
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
jne 0x5abe39
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.005abb10
push eax
lea ecx, [esp + 0x24]
push str.CCategoryManager::CheckSpeedRaw_failed_to_create_socket_with_error:
xor esi, esi
push ecx
mov dword [esp + 0x52c], esi
call fcn.00404cfa
push 1
push eax
mov byte [esp + 0x534], 1
call fcn.005a7050
mov edi, 0x10
add esp, 0x1c
cmp dword [esp + 0x30], edi
jb 0x5abe0e
mov edx, dword [esp + 0x1c]
push edx
call fcn.00564155
add esp, 4
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], esi
mov byte [esp + 0x1c], 0
cmp dword [esp + 0x4c], edi
jb 0x5abe32
mov eax, dword [esp + 0x38]
push eax
call fcn.00564155
add esp, 4
xor eax, eax
jmp 0x5ac21b
mov ecx, dword [esp + 0x528]
xor eax, eax
push ecx
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], eax
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [0x858028]
mov word [esp + 0xfe], ax
mov eax, dword [esp + 0x524]
mov edi, 0x10
mov edx, 2
mov word [esp + 0xfc], dx
mov dword [esp + 0x100], eax
mov dword [esp + 0x14], 0
cmp dword [0x85803c], edi
jae 0x5abea8
mov ecx, 0x858028
mov eax, dword [0x85800c]
cmp dword [0x858020], edi
jae 0x5abeba
mov eax, 0x85800c
push ecx
push 0
push 0
lea ecx, [esp + 0x20]
push ecx
push str.google.com
push eax
push 1
call fcn.005ab5f0
add esp, 0x1c
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
lea edx, [esp + 0x100]
push edx
push esi
mov dword [esp + 0x5c], eax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x5abff3
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
lea eax, [esp + 0x74]
push eax
call fcn.005abb10
mov esi, eax
push ebx
lea ecx, [esp + 0x40]
push str.CCategoryManager::CheckSpeedRaw_failed_to_connect_to_server:
push ecx
mov dword [esp + 0x52c], 2
call fcn.00404cfa
push str._with_error:
push eax
lea edx, [esp + 0x70]
push edx
mov byte [esp + 0x538], 3
call fcn.00405939
push esi
push eax
lea eax, [esp + 0x40]
push eax
mov byte [esp + 0x544], 4
call fcn.00402fd1
push 1
push eax
mov byte [esp + 0x54c], 5
call fcn.005a7050
add esp, 0x34
cmp dword [esp + 0x30], edi
jb 0x5abf79
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00564155
add esp, 4
xor esi, esi
mov ebx, 0xf
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], esi
mov byte [esp + 0x1c], 0
cmp dword [esp + 0x6c], edi
jb 0x5abfa0
mov edx, dword [esp + 0x58]
push edx
call fcn.00564155
add esp, 4
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], esi
mov byte [esp + 0x58], 0
cmp dword [esp + 0x4c], edi
jb 0x5abfc0
mov eax, dword [esp + 0x38]
push eax
call fcn.00564155
add esp, 4
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], esi
mov byte [esp + 0x38], 0
cmp dword [esp + 0x88], edi
jb 0x5abfe3
mov ecx, dword [esp + 0x74]
push ecx
call fcn.00564155
add esp, 4
push ebp
call fcn.00565caa
add esp, 4
xor eax, eax
jmp 0x5ac21b
mov edx, dword [esp + 0x14]
push 0
push edx
push ebp
push esi
call dword [sym.imp.WS2_32.dll_send]
push ebp
mov dword [esp + 0x18], eax
call fcn.00565caa
add esp, 4
cmp dword [esp + 0x14], 0xffffffff
jne 0x5ac112
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
lea eax, [esp + 0x74]
push eax
call fcn.005abb10
mov ebp, eax
push ebx
lea ecx, [esp + 0x24]
push str.CCategoryManager::CheckSpeedRaw_failed_to_send_data_to_server:
push ecx
mov dword [esp + 0x52c], 6
call fcn.00404cfa
push str._with_error:
push eax
lea edx, [esp + 0x70]
push edx
mov byte [esp + 0x538], 7
call fcn.00405939
push ebp
push eax
lea eax, [esp + 0x5c]
push eax
mov byte [esp + 0x544], 8
call fcn.00402fd1
push 1
push eax
mov byte [esp + 0x54c], 9
call fcn.005a7050
add esp, 0x34
cmp dword [esp + 0x4c], edi
jb 0x5ac09a
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00564155
add esp, 4
xor ebp, ebp
mov ebx, 0xf
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ebp
mov byte [esp + 0x38], 0
cmp dword [esp + 0x6c], edi
jb 0x5ac0c1
mov edx, dword [esp + 0x58]
push edx
call fcn.00564155
add esp, 4
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], ebp
mov byte [esp + 0x58], 0
cmp dword [esp + 0x30], edi
jb 0x5ac0e1
mov eax, dword [esp + 0x1c]
push eax
call fcn.00564155
add esp, 4
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebp
mov byte [esp + 0x1c], 0
cmp dword [esp + 0x88], edi
jb 0x5ac104
mov ecx, dword [esp + 0x74]
push ecx
call fcn.00564155
add esp, 4
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
jmp 0x5ac21b
push 0
push 0x400
lea edx, [esp + 0x114]
push edx
push esi
call dword [sym.imp.WS2_32.dll_recv]
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x5ac1e7
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.005abb10
mov edi, eax
push ebx
lea ecx, [esp + 0xb4]
push str.CCategoryManager::CheckSpeedRaw_failed_to_receive_data_from_server:
push ecx
mov dword [esp + 0x52c], 0xa
call fcn.00404cfa
push str._with_error:
push eax
lea edx, [esp + 0xfc]
push edx
mov byte [esp + 0x538], 0xb
call fcn.00405939
push edi
push eax
lea eax, [esp + 0xb4]
push eax
mov byte [esp + 0x544], 0xc
call fcn.00402fd1
push 1
push eax
mov byte [esp + 0x54c], 0xd
call fcn.005a7050
add esp, 0x34
lea ecx, [esp + 0x8c]
call fcn.00402ed7
lea ecx, [esp + 0xe0]
call fcn.00402ed7
lea ecx, [esp + 0xa8]
call fcn.00402ed7
lea ecx, [esp + 0xc4]
call fcn.00402ed7
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
jmp 0x5ac21b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
sub edi, dword [esp + 0x50]
jne 0x5ac1fa
mov edi, 1
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [esp + 0x10c]
push ebp
push ecx
call fcn.005a6f90
movzx eax, al
add esp, 8
neg eax
sbb eax, eax
and eax, edi
mov ecx, dword [esp + 0x510]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4f8]
xor ecx, esp
call fcn.00564b24
add esp, 0x508
ret