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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x564e10
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x2e94]
mov eax, dword [esi + 0x2e9c]
cmp ecx, eax
jae 0x4f8995
mov dl, byte [esi + 0x2f08]
xor ebx, ebx
cmp dl, bl
je 0x4f895d
mov edx, dword [esi + 0x2f04]
cmp edx, ebx
je 0x4f895d
sub eax, ecx
mov ecx, dword [esi + 0x2eb8]
push ebx
push eax
mov eax, dword [esi + 0x2ea0]
add eax, edx
push eax
push ecx
call sub.WSOCK32.dll_recv
cmp eax, ebx
jg 0x4f8977
cmp eax, 0xffffffff
jne 0x4f8904
call sub.WSOCK32.dll_WSAGetLastError
mov edi, eax
cmp edi, 0x2733
je 0x4f902f
mov edx, dword [0x5c82b4]
mov ecx, esi
push edx
call fcn.004cf990
mov eax, dword [0x5c2a74]
mov dword [ebp - 0x1c], eax
push edi
lea ecx, [ebp - 0x1c]
push str.Recv_header_failed__error___ld_n
push ecx
mov dword [ebp - 4], ebx
call fcn.0053afda
mov edx, dword [ebp - 0x1c]
add esp, 0xc
mov ecx, esi
push edx
call fcn.004cfa50
mov esi, dword [esi + 0x2ebc]
cmp esi, ebx
je 0x4f88e4
cmp edi, ebx
jne 0x4f88de
mov edi, 0xfffffffd
mov dword [esi + 0x1d4], edi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
call fcn.005421be
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x2e9c]
mov edx, dword [esi + 0x2e94]
sub ecx, edx
je 0x4f896f
cmp eax, ebx
jne 0x4f8971
mov edx, dword [0x5c82b0]
mov ecx, esi
push edx
call fcn.004cf990
mov eax, dword [0x5c831c]
mov ecx, dword [esi + 0x6c]
push eax
call fcn.004d1ef0
mov esi, dword [esi + 0x2ebc]
cmp esi, ebx
je 0x4f902f
mov dword [esi + 0x1d4], 0xfffffffc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
sub eax, ecx
mov ecx, dword [esi + 0x2eb8]
push eax
push ebx
push ecx
mov ecx, esi
call fcn.004d0a40
cmp eax, ebx
jle 0x4f902f
mov edx, dword [esi + 0x2e94]
mov ecx, dword [esi + 0x2ea0]
add edx, eax
add ecx, eax
mov dword [esi + 0x2e94], edx
mov dword [esi + 0x2ea0], ecx
jmp 0x4f8997
xor ebx, ebx
mov edx, dword [esi + 0x2ea0]
mov eax, dword [esi + 0x2e80]
cmp edx, eax
jb 0x4f9005
mov eax, dword [esi + 0x2ebc]
cmp eax, ebx
je 0x4f8b84
mov byte [eax + 0x298], 1
mov eax, dword [esi + 0x2ebc]
cmp dword [eax + 0x8c], ebx
je 0x4f8b84
cmp dword [esi + 0x2f04], ebx
je 0x4f8b84
lea ecx, [ebp - 0x11]
push ecx
mov ecx, esi
call fcn.004fa160
test eax, eax
jne 0x4f902f
cmp byte [ebp - 0x11], bl
je 0x4f8b84
mov edx, dword [esi + 0x2ebc]
cmp dword [edx + 0x1d0], ebx
jne 0x4f8a57
mov eax, dword [esi + 0x7c]
mov ecx, dword [eax + 8]
cmp ecx, ebx
je 0x4f8a16
mov eax, ecx
jmp 0x4f8a18
mov eax, dword [eax]
push 0x50041
push eax
push str.The_file_has_been_changed_on_the_server._nIt_will_be_downloaded_from_the_beginning.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
jne 0x4f8a57
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
mov ecx, dword [esi + 0x2ebc]
mov dword [ecx + 0x1d4], 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esi + 0x10]
call fcn.004d2050
mov eax, dword [esi + 0x2ebc]
mov edx, dword [eax + 0x5c]
lea ecx, [eax + 0x48]
cmp edx, ebx
setne byte [ebp - 0x11]
call fcn.004cb270
mov edx, dword [esi + 0x2ebc]
mov dword [edx + 0x70], ebx
mov dword [edx + 0x74], ebx
mov eax, dword [esi + 0x2ebc]
mov dword [eax + 0x78], ebx
mov dword [eax + 0x7c], ebx
mov ecx, dword [esi + 0x2ebc]
mov dword [ecx + 0x218], ebx
mov dword [ecx + 0x21c], ebx
lea ecx, [esi + 0x2eac]
call fcn.004fd550
mov edx, dword [esi + 0x2ebc]
mov dword [esi + 0x20], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x60], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x2c], ebx
mov byte [edx + 0x298], bl
mov eax, dword [esi + 0x2f04]
cmp eax, ebx
je 0x4f8b06
push eax
mov dword [ebp - 4], 1
call fcn.00542796
add esp, 4
jmp 0x4f8aff
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi]
mov ecx, esi
mov dword [esi + 0x2f04], ebx
mov byte [esi + 0x2f08], bl
mov byte [esi + 0x2f4c], bl
mov word [esi + 0x2ec8], bx
mov dword [esi + 0x2ea8], ebx
call dword [eax + 0x18]
mov edx, dword [esi]
lea eax, [esi + 0x2eb8]
push eax
mov ecx, esi
call dword [edx + 0x10]
cmp byte [ebp - 0x11], bl
je 0x4f8b6c
mov ecx, dword [esi + 0x7c]
mov edx, dword [ecx + 0x30]
mov ecx, dword [esi + 0x2ebc]
push edx
push esi
add ecx, 0x48
call fcn.004cb370
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov edx, eax
or edx, ecx
je 0x4f8b6c
sub eax, 1
sbb ecx, ebx
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ecx
mov ecx, esi
call fcn.004d17d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x2e78], ebx
je 0x4f8b98
cmp dword [esi + 0x2e90], ebx
jne 0x4f8d08
mov ecx, esi
call fcn.004f7a50
mov eax, dword [esi + 0x7c]
cmp dword [eax + 0x38], ebx
jne 0x4f8d08
cmp dword [esi + 0x2ebc], ebx
je 0x4f8d08
mov dword [ebp - 0x24], 0x56a488
fld qword [esi + 0x2e88]
mov dword [ebp - 4], 3
call fcn.0052706c
mov edi, edx
mov dword [ebp - 0x2c], eax
cmp edi, ebx
jg 0x4f8beb
jl 0x4f8bdf
cmp eax, ebx
jae 0x4f8beb
mov ecx, dword [0x5c7d50]
push ecx
jmp 0x4f8c82
mov eax, dword [ebp - 0x2c]
push ebx
push 0x3c
push edi
push eax
call fcn.005288f0
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
cdq
sub ecx, eax
mov eax, edi
sbb eax, edx
push ebx
push 0x3c
push eax
push ecx
call fcn.00528840
push ebx
push 0x3c
push edx
push eax
call fcn.005288f0
mov ecx, dword [ebp - 0x2c]
push ebx
push 0xe10
push edi
push ecx
mov dword [ebp - 0x20], eax
call fcn.00528840
cmp edx, ebx
jg 0x4f8c7d
jl 0x4f8c39
cmp eax, 0x2710
ja 0x4f8c7d
cmp eax, ebx
je 0x4f8c49
mov edx, dword [ebp - 0x20]
push edx
push eax
mov eax, dword [0x5c7da8]
jmp 0x4f8c5a
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
cmp eax, ebx
push edx
je 0x4f8c69
push eax
mov eax, dword [0x5c7da4]
lea ecx, [ebp - 0x4c]
push eax
push ecx
call fcn.00527718
add esp, 0x10
jmp 0x4f8c8e
mov eax, dword [0x5c7da0]
lea ecx, [ebp - 0x4c]
push eax
push ecx
call fcn.00527718
add esp, 0xc
jmp 0x4f8c8e
push 0x5a3d54
lea edx, [ebp - 0x4c]
push edx
call fcn.00527718
add esp, 8
mov eax, dword [0x5c2a74]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x2ebc]
mov byte [ebp - 4], 4
mov ecx, dword [eax + 0x8b8]
mov edx, dword [ecx - 8]
mov ecx, 0x5be44c
cmp edx, ebx
jne 0x4f8cb7
mov ecx, 0x5c6ff0
lea edx, [ebp - 0x4c]
push edx
mov edx, dword [eax + 0x8b8]
push edx
mov edx, dword [eax + 0x8b0]
push ecx
mov ecx, dword [eax + 0x8b4]
push ecx
push edx
lea eax, [ebp - 0x20]
push str._s___s_s_s__Length:__s
push eax
call fcn.0053afda
mov ecx, dword [ebp - 0x20]
add esp, 0x1c
push 1
push ecx
mov ecx, dword [esi + 0x2ebc]
push 5
call fcn.004fec50
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.005421be
mov dword [ebp - 4], 0xffffffff
cmp byte [esi + 0x2ea5], bl
je 0x4f8d1c
mov dword [esi + 0x18], ebx
mov dword [esi + 0x2e78], ebx
mov dword [esi + 0x1c], ebx
mov edx, dword [esi + 0x2e78]
cmp edx, ebx
je 0x4f8dbc
mov eax, dword [esi + 0x2e74]
cmp eax, ebx
je 0x4f8dbc
mov ecx, dword [esi + 0x2e90]
imul eax, edx
mov edi, ecx
shl edi, 5
sub edi, ecx
mov ecx, dword [esi + 0x2e80]
lea eax, [eax + edi*2]
add eax, ecx
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x34]
cmp eax, ebx
mov dword [esi + 0x1c], ebx
jg 0x4f8d78
jl 0x4f8d67
cmp dword [esi + 0x30], ebx
ja 0x4f8d78
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
sub ecx, 1
sbb eax, ebx
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0x2ebc]
dec edx
cmp ecx, ebx
mov dword [esi + 0x4c], edx
je 0x4f8dbc
mov edx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
push edx
push eax
call fcn.004fe510
mov ecx, dword [esi + 0x2ebc]
mov edi, dword [ecx + 0x208]
call fcn.004fdba0
mov ecx, dword [esi + 0x2ebc]
mov dword [ecx + 0x200], eax
mov edx, dword [esi + 0x2ebc]
mov dword [edx + 0x208], edi
mov eax, dword [0x5c2a74]
mov dword [ebp - 0x18], eax
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x2e90]
push ecx
fld qword [esi + 0x2e88]
push edx
mov dword [ebp - 4], 5
push eax
call fcn.0052706c
mov ecx, dword [esi + 0x2e74]
push edx
mov edx, dword [esi + 0x2e78]
push eax
push ecx
push edx
lea eax, [ebp - 0x18]
push str.Media_header_has_been_parsed:_nPackets_number__ld__packet_length__ld__media_length__I64d__streams_count__d__file_size__I64d_n
push eax
call fcn.0053afda
mov ecx, dword [ebp - 0x18]
add esp, 0x24
push ecx
mov ecx, esi
call fcn.004cfa50
mov edx, dword [esi + 0x2e74]
mov ecx, dword [esi + 0x60]
push edx
call fcn.004cf5f0
cmp dword [esi + 0x2ebc], ebx
je 0x4f8eee
mov eax, dword [esi + 0x1c]
mov edi, dword [esi + 0x18]
cmp eax, ebx
jl 0x4f8ea7
jg 0x4f8e3c
cmp edi, ebx
jbe 0x4f8ea7
mov edx, dword [esi + 0x64]
mov ecx, dword [edx]
cmp ecx, edi
mov edx, dword [edx + 4]
mov dword [ebp - 0x28], edx
jne 0x4f8e4f
cmp edx, eax
je 0x4f8e74
mov eax, dword [esi + 0x2ebc]
xor edx, edx
mov eax, dword [eax + 0x8bc]
imul eax, dword [esi + 0x2e74]
add eax, ecx
mov ecx, dword [ebp - 0x28]
adc edx, ecx
cmp eax, edi
jne 0x4f8ea7
cmp edx, dword [esi + 0x1c]
jne 0x4f8ea7
mov ecx, esi
call fcn.004f92d0
mov eax, dword [esi + 0x2ebc]
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
mov dword [eax + 0x1d4], ebx
call fcn.005421be
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x2ebc]
push ebx
call fcn.004fbc40
test eax, eax
je 0x4f8eee
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x18]
mov eax, dword [esi + 0x2ebc]
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
mov dword [eax + 0x1d4], 0x7574
call fcn.005421be
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x20]
cmp eax, ebx
mov dword [esi + 0x48], ebx
jl 0x4f8fb3
jg 0x4f8f09
cmp ecx, ebx
jbe 0x4f8fb3
cmp dword [esi + 0x2e74], ebx
je 0x4f8fb3
mov edi, dword [esi + 0x2e80]
xor edx, edx
sub ecx, edi
mov edi, ecx
sbb eax, edx
xor ecx, ecx
push ecx
mov ecx, dword [esi + 0x2e74]
push ecx
push eax
push edi
mov dword [ebp - 0x28], eax
call fcn.00528840
mov dword [esi + 0x48], eax
xor eax, eax
push eax
mov eax, dword [esi + 0x2e74]
push eax
mov eax, dword [ebp - 0x28]
push eax
push edi
call fcn.005288f0
mov edi, eax
cmp edi, ebx
je 0x4f8f7e
push edi
lea ecx, [esi + 0x10]
call fcn.004d2110
mov ecx, dword [esi + 0x20]
sub ecx, edi
mov dword [esi + 0x20], ecx
mov eax, dword [esi + 0x24]
sbb eax, ebx
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x64]
mov edx, dword [eax]
sub edx, edi
mov dword [eax], edx
mov ecx, dword [eax + 4]
sbb ecx, ebx
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x2e80]
mov eax, dword [esi + 0x30]
xor edx, edx
sub eax, ecx
mov ecx, dword [esi + 0x34]
push ebx
sbb ecx, edx
mov edx, dword [esi + 0x2e74]
add eax, 1
push edx
adc ecx, ebx
push ecx
push eax
call fcn.00528840
mov ecx, dword [esi + 0x48]
dec eax
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x50]
add ecx, eax
mov dword [esi + 0x48], ecx
mov eax, dword [esi + 0x48]
cmp eax, ebx
mov dword [esi + 0x2e7c], eax
je 0x4f8fc5
lea ecx, [eax - 1]
jmp 0x4f8fc7
xor ecx, ecx
mov dword [esi + 0x2e98], ecx
push eax
mov ecx, esi
call fcn.004f6880
cmp eax, ebx
je 0x4f8fe5
mov ecx, dword [esi + 0x2ebc]
mov dword [ecx + 0x1d4], eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.005421be
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x2e94]
mov eax, dword [esi + 0x2e9c]
cmp edx, eax
jb 0x4f902f
mov dword [esi + 0x5c], 0x11
mov byte [esi + 0x2f00], bl
mov word [esi + 0x2ec8], bx
mov dword [esi + 0x2e94], ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret