Function at 0x496a40
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40c
mov eax, dword [0x52de04]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x40c], edi
test edi, edi
jne 0x496aba
push 0x4fd8ac
call fcn.0041c8c0
push eax
push str.SUPPRESSMINPRINTWARNING
call fcn.00412960
add esp, 0xc
test eax, eax
jne 0x496a84
call fcn.00497950
push 0x148
call fcn.0049c406
add esp, 4
mov dword [ebp - 0x40c], eax
test eax, eax
je 0x496aac
mov ecx, eax
call fcn.00496610
mov edi, eax
mov dword [ebp - 0x40c], eax
jmp 0x496ab4
xor edi, edi
mov dword [ebp - 0x40c], edi
mov dword [0x9c1180], edi
mov esi, dword [edi + 0x12c]
test esi, esi
je 0x496af3
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x496ad2
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax]
mov dword [esi + 0x10], 0
push 0x1c
push dword [edi + 0x12c]
call fcn.004b3acc
add esp, 8
mov dword [edi + 0x12c], 0
cmp dword [edi + 0xc], 0
jne 0x496c29
mov eax, dword [edi + 4]
test eax, eax
je 0x496b46
push eax
push edi
call fcn.00496770
add esp, 8
push dword [edi + 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 4], 0
call fcn.00415580
cmp eax, 2
jne 0x496b3c
cmp byte [edi + 0x1c], 0
lea eax, [edi + 0x1c]
je 0x496b3c
push 0
push eax
push 2
call dword [sym.imp.KERNEL32.dll_DefineDosDeviceA]
mov eax, 1
jmp 0x496c2b
cmp dword [edi + 0x10], 0
je 0x496bc8
cmp dword [edi + 0x14], 0
je 0x496bbb
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x64
call ebx
push 1
push dword [edi + 0x14]
call dword [sym.imp.WS2_32.dll_shutdown]
push 0x64
call ebx
xor esi, esi
lea eax, [ebp - 0x404]
push esi
push 0x400
push eax
push dword [edi + 0x14]
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
je 0x496bae
push 0x64
call ebx
mov eax, esi
inc esi
cmp eax, 0x64
jg 0x496bae
push 0
push 0x400
lea eax, [ebp - 0x404]
push eax
push dword [edi + 0x14]
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jne 0x496b87
push dword [edi + 0x14]
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x64
call ebx
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x496c2b
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x496bf0
call fcn.00498d50
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x496be2
push 1
call fcn.00496680
mov dword [edi + 0x18], 0
mov eax, 1
jmp 0x496c2b
mov eax, dword [edi]
test eax, eax
je 0x496c12
push eax
call dword [sym.imp.GDI32.dll_EndDoc]
push dword [edi]
call dword [sym.imp.GDI32.dll_DeleteDC]
mov dword [edi], 0
mov eax, 1
jmp 0x496c2b
mov eax, dword [edi + 8]
test eax, eax
je 0x496c29
push eax
call fcn.004c35d5
add esp, 4
mov eax, 1
jmp 0x496c2b
xor eax, eax
cmp byte [edi + 0x130], 0
mov dword [ebp - 0x408], eax
je 0x496cb3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [edi + 0x140]
mov esi, eax
sub esi, dword [edi + 0x138]
mov ecx, ebx
mov edi, dword [edi + 0x144]
mov edx, edi
call fcn.004b4420
mulsd xmm0, qword [0x4fdeb8]
sub esp, 8
mov eax, dword [ebp - 0x40c]
movd xmm2, esi
cvtdq2pd xmm2, xmm2
divsd xmm0, xmm2
divsd xmm2, qword [0x4fdeb8]
movsd qword [esp], xmm0
push edi
push ebx
sub esp, 8
movsd qword [esp], xmm2
push dword [eax + 0x124]
call fcn.00412e30
add esp, 4
push eax
push str._s_n_nminPrint_I_O_layer_running_in_Bit_Bucket_diagnostic_mode._n_nFinished_n_nElapsed_time_in_seconds:__G_nTotal_bytes_output___I64d_nTotal_bytes_per_second___G_n
call fcn.004153c0
mov eax, dword [ebp - 0x408]
add esp, 0x20
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b3f28
mov esp, ebp
pop ebp
ret