Function at 0x5a89a0
Capabilities:
Enumerate pe sections
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x65c700
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x74f8a0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x28], esi
xor cl, cl
mov ebx, dword [ebp + 8]
cmp byte [ebx + 5], 0x16
jne 0x5a89dd
mov cl, 1
mov byte [esi + 0x3208], 1
mov eax, dword [ebx + 0x18]
xor edi, edi
cmp eax, edi
jne 0x5a8a76
test cl, cl
je 0x5a8a7e
push ebx
movzx eax, byte [ebx + 6]
add eax, 0x151
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.005a26f0
movzx ecx, byte [ebx + 6]
mov edx, dword [ebx + 0x14]
mov dword [esi + ecx*4 + 0x48a8], edx
movzx eax, byte [ebx + 6]
lea eax, [eax + eax*4]
mov dword [esi + eax*8 + 0x34c8], edi
movzx eax, byte [ebx + 6]
lea ecx, [eax + eax*4]
mov dword [esi + ecx*8 + 0x34c4], edi
movzx eax, byte [ebx + 6]
lea edx, [eax + eax*4]
mov byte [esi + edx*8 + 0x34b8], 0
mov dword [esi + 0x9c], 0x15
mov dword [esi + 0x347c], edi
mov dword [ebx + 0x20], edi
mov ecx, esi
call fcn.005a1f70
test eax, eax
jne 0x5a9c71
push ebx
mov ecx, esi
call fcn.005a8870
jmp 0x5a9c71
test cl, cl
jne 0x5a930b
mov byte [ebp - 0x12], 0
cmp eax, edi
jbe 0x5a8c89
cmp dword [ebx + 0x20], edi
jne 0x5a8c89
mov byte [esi + 0x3200], 0
mov eax, dword [esi + 0x4a34]
add eax, 0xb
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x1c], edi
mov dword [esi + 0x3228], 0xb
mov byte [ebp - 0x12], 1
mov byte [esi + 0x3204], 0
mov byte [esi + 0x3206], 0
mov al, byte [ebx + 5]
mov edi, dword [esi + 0x31ec]
cmp al, 8
sete cl
add cl, cl
add cl, cl
cmp al, 9
sete dl
or cl, dl
or byte [edi + 0x855], cl
mov eax, dword [esi + 0x31ec]
mov cl, byte [eax + 0x855]
test cl, 4
je 0x5a8b01
test cl, 1
jne 0x5a8b01
mov ecx, 1
jmp 0x5a8b03
xor ecx, ecx
mov byte [eax + 0x854], cl
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x30], eax
cmp byte [esi + 0x3203], 0
je 0x5a8c2c
cmp byte [esi + 0x320a], 0
je 0x5a8c3d
mov eax, dword [ebx + 0x14]
test eax, eax
jbe 0x5a8c2c
cmp eax, dword [esi + 0xe0]
jne 0x5a8b48
mov byte [esi + 0x320a], 0
jmp 0x5a8c2c
mov ecx, dword [esi + 0x78]
or ecx, dword [esi + 0x7c]
jne 0x5a8c2c
cmp byte [esi + 0xde], cl
jne 0x5a8c2c
mov edx, dword [esi + 0x31ec]
mov eax, dword [edx + 0xb0]
cmp dword [eax + 0x58], ecx
je 0x5a8c2c
mov dword [ebp - 4], ecx
mov ecx, dword [esi + 0x31ec]
mov edx, dword [ecx + 0xb0]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebx + 0x14]
cmp ecx, dword [eax + 0x1c]
ja 0x5a8b9f
cmp eax, dword [esi + 0xa0]
jne 0x5a8c10
cmp ecx, 0x2910
jbe 0x5a8c10
lea ecx, [ebp - 0x24]
call fcn.00402500
mov byte [ebp - 4], 1
mov eax, dword [ebx + 0x14]
push eax
push str._ReadMediaPacket_s1b2__change_RTS__ts_ld_n
lea ecx, [ebp - 0x24]
push ecx
call fcn.00402f70
add esp, 0xc
mov edx, dword [ebp - 0x24]
push edx
mov ecx, esi
call fcn.0055b6c0
mov eax, dword [esi + 0x31ec]
mov ecx, dword [eax + 0xb0]
mov edx, dword [ecx + 0x58]
cmp edx, dword [esi + 0xa0]
jne 0x5a8bee
push str.s1b3__n
mov ecx, esi
call fcn.0055b6c0
mov eax, dword [ebx + 0x14]
mov dword [esi + 0xe0], eax
mov dword [esi + 0x49f0], eax
mov byte [esi + 0x320a], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00402570
mov dword [ebp - 4], 0xffffffff
jmp 0x5a8c2c
cmp byte [esi + 0x320a], 0
je 0x5a8c3d
mov eax, dword [esi + 0xe0]
jmp 0x5a8c3f
xor eax, eax
mov ecx, dword [ebx + 0x14]
add ecx, eax
mov dword [esi + 0xe4], ecx
mov edi, dword [esi + 0x4a34]
movzx edx, byte [ebx + 5]
mov byte [edi], dl
inc edi
mov eax, dword [ebp - 0x30]
push eax
push edi
call fcn.005a25e0
add edi, eax
mov ecx, dword [esi + 0xe4]
push ecx
push edi
call fcn.005a25e0
add edi, eax
movzx edx, byte [esi + 0xe7]
mov byte [edi], dl
inc edi
push 0
push edi
call fcn.005a25e0
add esp, 0x18
jmp 0x5a8ca6
cmp byte [esi + 0x3200], 0
je 0x5a8ca0
mov eax, dword [ebx + 0x1c]
add eax, 0xb
mov dword [esi + 0x3228], eax
jmp 0x5a8ca6
mov dword [esi + 0x3228], edi
mov edx, dword [ebx + 0x18]
mov eax, edx
sub eax, dword [ebx + 0x1c]
mov edi, dword [esi + 0x3478]
mov ecx, dword [esi + 0x3230]
test ecx, ecx
jle 0x5a8cc0
mov edi, ecx
cmp eax, edi
jge 0x5a8cc6
mov edi, eax
mov dword [ebp - 0x30], edi
mov eax, dword [esi + 0x4a3c]
mov dword [ebp - 0x2c], eax
sub eax, dword [esi + 0x3228]
cmp edi, eax
jle 0x5a8d64
cmp byte [ebx + 5], 0x12
jne 0x5a8d62
cmp edx, 0x400000
jae 0x5a8d64
add edx, 0xf
mov dword [esi + 0x4a3c], edx
mov eax, dword [esi + 0x4a38]
test eax, eax
je 0x5a8d0a
push eax
call fcn.005ec337
add esp, 4
mov ecx, dword [esi + 0x4a3c]
push ecx
call fcn.005ec342
add esp, 4
mov dword [esi + 0x4a38], eax
test eax, eax
jne 0x5a8d3a
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebp - 0x2c]
push edx
mov ecx, dword [esi + 0x4a34]
push ecx
push eax
call fcn.00619c20
add esp, 0xc
mov eax, dword [esi + 0x4a38]
mov dword [esi + 0x4a34], eax
add eax, 0xb
mov dword [ebx + 0x20], eax
jmp 0x5a8d64
mov edi, eax
cmp byte [ebx + 5], 0x12
jne 0x5a8d71
mov byte [esi + 0x3200], 1
cmp dword [ebx + 0x18], 5
ja 0x5a8d7e
mov byte [esi + 0x3200], 1
mov dword [ebp - 0x18], 0
test edi, edi
je 0x5a8dff
mov edx, dword [esi + 0xc0]
cmp dword [edx + 0x24], 5
jne 0x5a8dac
push edi
mov eax, dword [esi + 0x4a34]
add eax, dword [esi + 0x3228]
push eax
mov ecx, esi
call fcn.005a44f0
jmp 0x5a8dc8
push 0
push edi
mov ecx, dword [esi + 0x4a34]
add ecx, dword [esi + 0x3228]
push ecx
mov edx, dword [esi + 0x31e8]
push edx
call sub.WS2_32.dll_recv
mov dword [ebp - 0x18], eax
push str.recv_data
push eax
mov ecx, esi
call fcn.0055bff0
mov ecx, eax
test ecx, ecx
je 0x5a8dff
mov eax, ecx
sub eax, 0x2733
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 0x18]
add dword [ebx + 0x1c], ecx
add dword [esi + 0x49b8], ecx
mov eax, dword [ebp - 0x30]
mov edx, eax
sub edx, ecx
mov dword [esi + 0x3230], edx
mov edi, dword [esi + 0x3228]
add edi, ecx
mov dword [ebp - 0x24], edi
mov byte [ebp - 0x13], 0
cmp ecx, eax
je 0x5a8e39
cmp byte [esi + 0x3200], 0
je 0x5a8e80
jmp 0x5a9c71
mov dword [esi + 0x9c], 0x15
mov dword [esi + 0x347c], 0
mov eax, dword [ebx + 0x18]
cmp dword [ebx + 0x1c], eax
jne 0x5a8e80
add edi, 4
cmp edi, dword [esi + 0x4a3c]
jae 0x5a8e80
lea ecx, [eax + 0xb]
mov eax, dword [esi + 0x4a34]
add eax, dword [ebp - 0x24]
push ecx
push eax
call fcn.005a2610
add esp, 8
mov byte [ebp - 0x13], 1
mov dword [ebp - 0x24], edi
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 0x11], 1
mov eax, dword [ebx + 0x18]
cmp dword [ebx + 0x1c], eax
jne 0x5a8f5b
mov cl, byte [ebx + 5]
cmp cl, 9
jne 0x5a8f08
cmp eax, 2
jne 0x5a8ebc
mov edx, dword [ebx + 0x20]
mov dl, byte [edx]
and dl, 0xf0
cmp dl, 0x50
jne 0x5a8ebc
push str.Video_info_command_packet_n
mov ecx, esi
call fcn.0055b6c0
mov byte [ebp - 0x11], 0
jmp 0x5a8f08
cmp cl, 9
jne 0x5a8f08
cmp eax, 5
ja 0x5a8f08
lea ecx, [ebp - 0x20]
call fcn.00402500
mov dword [ebp - 4], 3
mov eax, dword [ebx + 0x18]
push eax
push str.Small_video_packet__size_ld_n
lea ecx, [ebp - 0x20]
push ecx
call fcn.00402f70
add esp, 0xc
mov edx, dword [ebp - 0x20]
push edx
mov ecx, esi
call fcn.0055b6c0
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00402570
cmp byte [ebx + 5], 8
jne 0x5a8f6d
cmp dword [ebx + 0x18], 1
ja 0x5a8f6d
lea ecx, [ebp + 8]
call fcn.00402500
mov dword [ebp - 4], 4
mov eax, dword [ebx + 0x18]
push eax
push str.Small_audio_packet__size_ld_n
lea ecx, [ebp + 8]
push ecx
call fcn.00402f70
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
mov ecx, esi
call fcn.0055b6c0
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00402570
jmp 0x5a9235
cmp byte [esi + 0x3200], 0
je 0x5a8f7a
mov byte [ebp - 0x11], 0
jmp 0x5a9235
cmp byte [ebp - 0x11], 0
je 0x5a9235
mov ecx, dword [ebp - 0x18]
cmp byte [esi + 0x3204], 0
je 0x5a8f87
mov byte [ebp - 0x11], 0
cmp byte [esi + 0x3203], 0
je 0x5a8ffc
mov eax, dword [ebx + 0x14]
mov edi, dword [esi + 0xe8]
cmp eax, edi
jb 0x5a8ff1
mov dl, byte [esi + 0x320a]
test dl, dl
jne 0x5a8fb9
mov edx, dword [esi + 0xe0]
add edx, edi
cmp edx, eax
ja 0x5a8ff1
mov dl, byte [esi + 0x320a]
cmp eax, edi
je 0x5a8fd6
test dl, dl
jne 0x5a8fcd
mov edx, dword [esi + 0xe0]
add edx, edi
cmp edx, eax
je 0x5a8fd6
mov byte [esi + 0x3203], 0
jmp 0x5a8ffc
cmp byte [esi + 0x3207], 0
je 0x5a8ff1
cmp byte [esi + 0x3205], 0
jne 0x5a8ff1
mov byte [esi + 0x3203], 0
jmp 0x5a8ffc
mov byte [esi + 0x3204], 1
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x12], 0
je 0x5a9075
test ecx, ecx
je 0x5a9075
mov ecx, dword [esi + 0xe4]
mov eax, dword [esi + 0xe8]
add eax, dword [esi + 0xe0]
cmp ecx, eax
jb 0x5a9075
mov edx, dword [esi + 0x31ec]
mov al, byte [edx + 0x854]
test al, al
je 0x5a9036
cmp byte [ebx + 5], 8
je 0x5a904d
test al, al
jne 0x5a9075
cmp byte [ebx + 5], 9
jne 0x5a9075
mov eax, dword [esi + 0x4a34]
mov dl, byte [eax + 0xb]
and dl, 0xf0
cmp dl, 0x10
jne 0x5a9075
mov eax, dword [esi + 0x78]
mov dword [esi + 0x4a10], eax
mov edx, dword [esi + 0x7c]
mov dword [esi + 0x4a14], edx
mov dword [esi + 0x4a18], ecx
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x4a1c], eax
mov byte [esi + 0x3206], 1
cmp byte [esi + 0x3205], 0
je 0x5a9215
cmp byte [esi + 0x3204], 0
je 0x5a9215
cmp byte [esi + 0x3206], 0
je 0x5a9215
mov edi, dword [esi + 0x4a20]
test edi, edi
je 0x5a9215
mov eax, dword [esi + 0x4a24]
mov edx, dword [esi + 0x4a28]
sub eax, edx
mov ecx, dword [ebp - 0x24]
cmp eax, ecx
jae 0x5a90c4
mov dword [ebp - 0x20], eax
jmp 0x5a90c9
mov eax, ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
mov ecx, dword [esi + 0x4a34]
add edx, edi
cmp dword [ebp - 0x20], 4
jb 0x5a90f7
lea ebx, [ebx]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x5a9147
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x5a90e0
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x5a914a
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x4a28]
mov edx, dword [ebp - 0x20]
add eax, edx
cmp eax, dword [esi + 0x4a24]
jb 0x5a91b6
mov byte [esi + 0x3205], 0
mov dword [ebp - 4], 5
mov eax, dword [esi + 0x4a20]
push eax
call fcn.005ec337
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x4a20], 0
jmp 0x5a91bc
mov dword [ebp - 0x1c], eax
movzx edi, byte [ecx]
movzx eax, byte [edx]
sub eax, edi
jne 0x5a918c
cmp dword [ebp - 0x1c], 1
jbe 0x5a90fb
movzx eax, byte [edx + 1]
movzx edi, byte [ecx + 1]
sub eax, edi
jne 0x5a918c
cmp dword [ebp - 0x1c], 2
jbe 0x5a90fb
movzx eax, byte [edx + 2]
movzx edi, byte [ecx + 2]
sub eax, edi
jne 0x5a918c
cmp dword [ebp - 0x1c], 3
jbe 0x5a90fb
movzx eax, byte [edx + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
jmp 0x5a90fd
mov dword [esi + 0x4a28], eax
cmp dword [ebp - 0x2c], 0
je 0x5a91e7
push str.Key_frame_doesnt_match__r_n
mov ecx, esi
call fcn.0055b6c0
mov eax, 0x757b
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp byte [esi + 0x3205], 0
jne 0x5a9215
mov eax, dword [esi + 0xc0]
mov byte [eax + 0x335], 1
mov ecx, dword [esi + 0x31ec]
cmp dword [ecx + 0x134], 0
jne 0x5a9215
mov edx, dword [ecx]
push 1
mov eax, dword [edx + 0xc]
call eax
cmp byte [ebp - 0x11], 0
je 0x5a9235
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [esi + 0x4a34]
push edx
mov ecx, esi
call fcn.005a6190
test eax, eax
jne 0x5a9c73
push ebx
movzx eax, byte [ebx + 6]
add eax, 0x151
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.005a26f0
mov eax, dword [ebx + 0x18]
cmp dword [ebx + 0x1c], eax
jne 0x5a92de
cmp byte [ebp - 0x13], 0
jne 0x5a9287
cmp byte [ebp - 0x11], 0
je 0x5a9287
add eax, 0xb
push eax
lea ecx, [ebp + 8]
push ecx
call fcn.005a2610
add esp, 8
push 4
lea edx, [ebp + 8]
push edx
mov ecx, esi
call fcn.005a6190
test eax, eax
jne 0x5a9c73
movzx eax, byte [ebx + 6]
mov ecx, dword [ebx + 0x14]
mov dword [esi + eax*4 + 0x48a8], ecx
movzx eax, byte [ebx + 6]
lea edx, [eax + eax*4]
xor ecx, ecx
mov dword [esi + edx*8 + 0x34c8], ecx
movzx eax, byte [ebx + 6]
lea eax, [eax + eax*4]
mov dword [esi + eax*8 + 0x34c4], ecx
movzx eax, byte [ebx + 6]
lea ecx, [eax + eax*4]
mov byte [esi + ecx*8 + 0x34b8], 0
cmp byte [ebx + 5], 0x12
jne 0x5a92de
mov byte [esi + 0x320b], 0
mov edx, dword [ebx + 0x1c]
push edx
mov eax, dword [ebx + 0x20]
push eax
mov ecx, esi
call fcn.005a7cb0
mov dword [ebx + 0x20], 0
mov ecx, dword [ebx + 0x1c]
cmp ecx, dword [ebx + 0x18]
je 0x5a9c6a
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x18], edx
je 0x5a9c63
mov eax, dword [esi + 0x4a34]
mov dword [ebx + 0x20], eax
jmp 0x5a9c6a
cmp eax, edi
jbe 0x5a9351
cmp dword [ebx + 0x20], edi
jne 0x5a9351
mov byte [esi + 0x3200], 0
mov ecx, dword [esi + 0x4a34]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x1c], edi
mov dword [esi + 0x3228], edi
mov dword [esi + 0x322c], edi
mov byte [esi + 0x3202], 1
mov dword [esi + 0x49e8], edi
mov dword [esi + 0x49e0], 1
mov byte [esi + 0x3206], 0
mov ecx, dword [ebx + 0x18]
sub ecx, dword [ebx + 0x1c]
mov eax, dword [esi + 0x3478]
mov edx, dword [esi + 0x3230]
cmp edx, edi
jle 0x5a9369
mov eax, edx
cmp ecx, eax
jge 0x5a936f
mov eax, ecx
mov dword [ebp - 0x30], eax
mov ecx, dword [esi + 0x3228]
mov edx, dword [esi + 0x4a3c]
sub edx, ecx
cmp eax, edx
jle 0x5a9386
mov eax, edx
mov edx, dword [esi + 0xc0]
cmp dword [edx + 0x24], 5
jne 0x5a93a5
push eax
mov eax, dword [esi + 0x4a34]
add eax, ecx
push eax
mov ecx, esi
call fcn.005a44f0
jmp 0x5a93bc
push edi
push eax
mov edx, dword [esi + 0x4a34]
add edx, ecx
push edx
mov eax, dword [esi + 0x31e8]
push eax
call sub.WS2_32.dll_recv
mov dword [ebp - 0x24], eax
push str.recv_data
push eax
mov ecx, esi
call fcn.0055bff0
mov ecx, eax
cmp ecx, edi
jne 0x5a8dde
mov eax, dword [esi + 0x3228]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
xor edi, edi
mov dword [ebp - 0x20], edi
mov ecx, dword [esi + 0x4a34]
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 0x13], 1
jmp 0x5a9403
mov eax, dword [ebp - 0x18]
cmp edi, eax
jae 0x5a9928
mov ecx, dword [esi + 0x49e0]
sub ecx, 1
je 0x5a9439
sub ecx, 1
je 0x5a95dd
sub ecx, 1
je 0x5a965b
mov edi, dword [ebp - 0x18]
push str.ReadMediaPacket__error_1488_n
mov ecx, esi
call fcn.0055b6c0
jmp 0x5a9400
lea ecx, [edi + 0xb]
mov dword [ebp - 0x2c], ecx
cmp ecx, eax
jbe 0x5a9451
mov edx, eax
sub edx, edi
mov dword [esi + 0x3228], edx
mov edi, eax
jmp 0x5a9403
mov byte [esi + 0x3204], 0
mov byte [esi + 0x3206], 0
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + edi]
mov dword [esi + 0x49dc], ecx
lea edx, [eax + edi + 1]
push edx
call fcn.005a2570
mov dword [esi + 0x49ec], eax
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + edi + 4]
push ecx
call fcn.005a2570
add esp, 8
mov dword [esi + 0xe4], eax
mov ecx, dword [ebp - 0x1c]
movsx edx, byte [ecx + edi + 7]
shl edx, 0x18
or edx, eax
mov dword [esi + 0xe4], edx
mov al, byte [ecx + edi]
mov ecx, dword [esi + 0x31ec]
cmp al, 8
sete dl
add dl, dl
add dl, dl
cmp al, 9
sete al
or dl, al
or byte [ecx + 0x855], dl
mov eax, dword [esi + 0x31ec]
mov cl, byte [eax + 0x855]
test cl, 4
je 0x5a94e1
test cl, 1
jne 0x5a94e1
mov ecx, 1
jmp 0x5a94e3
xor ecx, ecx
mov byte [eax + 0x854], cl
mov edi, dword [ebp - 0x2c]
mov eax, dword [esi + 0x49ec]
mov dword [esi + 0x49e8], eax
mov dword [esi + 0x3228], 0
mov dword [esi + 0x49e0], 2
cmp byte [esi + 0x3203], 0
je 0x5a9552
mov ecx, dword [esi + 0xe8]
mov edx, dword [esi + 0xe0]
lea eax, [ecx + edx]
mov ecx, dword [esi + 0xe4]
cmp ecx, eax
jae 0x5a9537
mov byte [esi + 0x3204], 1
jmp 0x5a9552
jne 0x5a954b
cmp byte [esi + 0x3205], 0
je 0x5a954b
mov byte [esi + 0x3204], 1
jmp 0x5a9552
mov byte [esi + 0x3203], 0
mov eax, dword [esi + 0xe4]
mov ecx, dword [esi + 0xe8]
add ecx, dword [esi + 0xe0]
cmp eax, ecx
jb 0x5a95dd
mov edx, dword [esi + 0x31ec]
mov al, byte [edx + 0x854]
test al, al
je 0x5a9585
cmp dword [esi + 0x49dc], 8
je 0x5a95a1
test al, al
jne 0x5a95dd
cmp dword [ebp - 0x18], edi
jbe 0x5a95dd
cmp dword [esi + 0x49dc], 9
jne 0x5a95dd
mov eax, dword [ebp - 0x1c]
mov cl, byte [eax + edi]
and cl, 0xf0
cmp cl, 0x10
jne 0x5a95dd
mov edx, edi
xor eax, eax
add edx, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
adc ecx, eax
sub edx, 0xb
sbb ecx, eax
mov dword [esi + 0x4a10], edx
mov dword [esi + 0x4a14], ecx
mov eax, dword [esi + 0xe4]
mov dword [esi + 0x4a18], eax
mov eax, dword [esi + 0x49ec]
mov dword [esi + 0x4a1c], eax
mov byte [esi + 0x3206], 1
mov edx, dword [esi + 0x49e8]
mov eax, dword [esi + 0x3228]
lea ecx, [edx + eax]
lea edx, [edi + ecx]
mov eax, dword [ebp - 0x18]
cmp edx, eax
jbe 0x5a961c
mov edx, edi
sub edx, eax
add edx, ecx
mov dword [esi + 0x49e8], edx
cmp dword [esi + 0x49dc], 0x12
jne 0x5a9615
mov ecx, eax
sub ecx, edi
mov dword [esi + 0x3228], ecx
mov edi, eax
jmp 0x5a9400
cmp dword [esi + 0x49dc], 0x12
jne 0x5a9639
mov edx, dword [esi + 0x49ec]
push edx
mov eax, dword [ebp - 0x1c]
add eax, edi
push eax
mov ecx, esi
call fcn.005a7cb0
mov ecx, dword [esi + 0x49e8]
add ecx, dword [esi + 0x3228]
add edi, ecx
mov dword [esi + 0x3228], 0
mov dword [esi + 0x49e0], 3
lea ecx, [edi + 4]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jbe 0x5a9721
mov edx, dword [ebx + 0x1c]
add edx, edi
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebx + 0x18]
add edx, 4
cmp edx, ecx
jbe 0x5a9710
cmp dword [ebp - 0x2c], ecx
jbe 0x5a96e9
lea ecx, [ebp + 8]
call fcn.00402500
mov dword [ebp - 4], 7
mov eax, dword [ebx + 0x18]
push eax
mov ecx, dword [esi + 0x49ec]
push ecx
mov edx, dword [ebx + 0x1c]
push edx
push str.Stream_corrupted__packetBytesRead_ld__data_size_ld__packetBodySize_ld_n
lea eax, [ebp + 8]
push eax
call fcn.00402f70
add esp, 0x14
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.0055b6c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00402570
mov eax, 0xfffffffe
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.TagSize_not_found__n
mov ecx, esi
call fcn.0055b6c0
mov edx, dword [esi + 0x49ec]
add edx, 0xb
mov dword [esi + 0x49e4], edx
mov byte [ebp - 0x13], 0
mov edi, dword [ebp - 0x18]
jmp 0x5a9400
mov ecx, eax
sub ecx, edi
mov dword [esi + 0x3228], ecx
mov edi, eax
jmp 0x5a9403
mov edx, dword [ebp - 0x1c]
add edi, edx
push edi
call fcn.005a25a0
add esp, 4
mov dword [esi + 0x49e4], eax
mov ecx, dword [esi + 0x49ec]
add ecx, 0xb
cmp eax, ecx
je 0x5a9752
mov dword [esi + 0x49e4], ecx
push ecx
push edi
call fcn.005a2610
add esp, 8
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x34], edi
mov dword [esi + 0x3228], 0
mov dword [esi + 0x49e0], 1
cmp byte [esi + 0x3204], 0
je 0x5a9400
cmp byte [esi + 0x3205], 0
je 0x5a9919
cmp byte [esi + 0x3206], 0
je 0x5a9919
cmp dword [esi + 0x4a20], 0
je 0x5a9919
mov eax, dword [esi + 0x49ec]
lea ebx, [eax + 0xf]
cmp ebx, edi
jb 0x5a97af
mov ebx, edi
mov eax, dword [esi + 0x4a24]
mov edx, dword [esi + 0x4a28]
sub eax, edx
cmp eax, ebx
jae 0x5a97c6
mov dword [ebp - 0x2c], eax
jmp 0x5a97cb
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov ecx, eax
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x4a34]
sub eax, ebx
add eax, edi
mov ebx, dword [esi + 0x4a20]
add edx, ebx
cmp dword [ebp - 0x2c], 4
jb 0x5a97ff
mov ebx, dword [edx]
cmp ebx, dword [eax]
jne 0x5a9852
sub ecx, 4
add eax, 4
add edx, 4
cmp ecx, 4
jae 0x5a97e8
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x5a9855
xor ecx, ecx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x20], ecx
mov eax, dword [esi + 0x4a28]
mov ecx, dword [ebp - 0x2c]
add eax, ecx
cmp eax, dword [esi + 0x4a24]
jb 0x5a98c4
mov byte [esi + 0x3205], 0
mov dword [ebp - 4], 8
mov eax, dword [esi + 0x4a20]
push eax
call fcn.005ec337
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x4a20], 0
jmp 0x5a98ca
mov dword [ebp - 0x20], ecx
movzx ecx, byte [edx]
movzx ebx, byte [eax]
sub ecx, ebx
jne 0x5a9897
cmp dword [ebp - 0x20], 1
jbe 0x5a9803
movzx ecx, byte [edx + 1]
movzx ebx, byte [eax + 1]
sub ecx, ebx
jne 0x5a9897
cmp dword [ebp - 0x20], 2
jbe 0x5a9803
movzx ecx, byte [edx + 2]
movzx ebx, byte [eax + 2]
sub ecx, ebx
jne 0x5a9897
cmp dword [ebp - 0x20], 3
jbe 0x5a9803
movzx ecx, byte [edx + 3]
movzx eax, byte [eax + 3]
sub ecx, eax
sar ecx, 0x1f
or ecx, 1
jmp 0x5a9805
mov dword [esi + 0x4a28], eax
cmp dword [ebp - 0x20], 0
je 0x5a98eb
push str.Key_frame_doesnt_match___c2__r_n
mov ecx, esi
call fcn.0055b6c0
mov dword [ebp - 0x20], edi
mov byte [esi + 0x3204], 0
jmp 0x5a9400
cmp byte [esi + 0x3205], 0
jne 0x5a9919
mov edx, dword [esi + 0xc0]
mov byte [edx + 0x335], 1
mov ecx, dword [esi + 0x31ec]
cmp dword [ecx + 0x134], 0
jne 0x5a9919
mov eax, dword [ecx]
push 1
mov edx, dword [eax + 0xc]
call edx
mov dword [ebp - 0x20], edi
mov byte [esi + 0x3204], 0
jmp 0x5a9400
mov ecx, dword [esi + 0x3228]
test ecx, ecx
je 0x5a9937
sub eax, ecx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x24]
add dword [ebx + 0x1c], ecx
add dword [esi + 0x49b8], ecx
mov edx, dword [ebp - 0x30]
sub edx, ecx
mov dword [esi + 0x3230], edx
cmp byte [esi + 0x3204], 0
jne 0x5a9995
cmp eax, dword [ebp - 0x20]
jbe 0x5a9b1e
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
sub ecx, eax
push ecx
mov edx, dword [esi + 0x4a34]
add edx, eax
push edx
mov ecx, esi
call fcn.005a6190
test eax, eax
je 0x5a9b1e
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp byte [esi + 0x3205], 0
je 0x5a9b1e
cmp byte [esi + 0x3206], 0
je 0x5a9b1e
cmp dword [esi + 0x4a20], 0
je 0x5a9b1e
mov eax, dword [esi + 0x4a24]
mov edx, dword [esi + 0x4a28]
sub eax, edx
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
sub ecx, edi
cmp eax, ecx
jae 0x5a99db
mov dword [ebp - 0x2c], eax
jmp 0x5a99e0
mov eax, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x20], eax
mov ecx, dword [esi + 0x4a34]
add ecx, edi
mov edi, dword [esi + 0x4a20]
add edx, edi
cmp dword [ebp - 0x2c], 4
jb 0x5a9a17
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x5a9a67
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x5a9a00
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x5a9a6a
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x4a28]
mov edx, dword [ebp - 0x2c]
add eax, edx
cmp eax, dword [esi + 0x4a24]
jb 0x5a9ad6
mov byte [esi + 0x3205], 0
mov dword [ebp - 4], 0xa
mov eax, dword [esi + 0x4a20]
push eax
call fcn.005ec337
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x4a20], 0
jmp 0x5a9adc
mov dword [ebp - 0x20], eax
movzx edi, byte [ecx]
movzx eax, byte [edx]
sub eax, edi
jne 0x5a9aac
cmp dword [ebp - 0x20], 1
jbe 0x5a9a1b
movzx eax, byte [edx + 1]
movzx edi, byte [ecx + 1]
sub eax, edi
jne 0x5a9aac
cmp dword [ebp - 0x20], 2
jbe 0x5a9a1b
movzx eax, byte [edx + 2]
movzx edi, byte [ecx + 2]
sub eax, edi
jne 0x5a9aac
cmp dword [ebp - 0x20], 3
jbe 0x5a9a1b
movzx eax, byte [edx + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
jmp 0x5a9a1d
mov dword [esi + 0x4a28], eax
cmp dword [ebp - 0x34], 0
je 0x5a9af0
push str.Key_frame_doesnt_match___c3__r_n
mov ecx, esi
call fcn.0055b6c0
jmp 0x5a9b1e
cmp byte [esi + 0x3205], 0
jne 0x5a9b1e
mov eax, dword [esi + 0xc0]
mov byte [eax + 0x335], 1
mov ecx, dword [esi + 0x31ec]
cmp dword [ecx + 0x134], 0
jne 0x5a9b1e
mov edx, dword [ecx]
push 1
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [esi + 0x3228]
xor edi, edi
cmp ecx, edi
je 0x5a9b41
mov eax, dword [esi + 0x4a34]
push ecx
mov ecx, dword [ebp - 0x18]
lea edx, [eax + ecx]
push edx
push eax
call fcn.0061b240
add esp, 0xc
mov ecx, dword [ebp - 0x30]
cmp dword [ebp - 0x24], ecx
je 0x5a9b57
cmp byte [esi + 0x3200], 0
je 0x5a9b7c
jmp 0x5a9c71
mov eax, dword [esi + 0x9c]
cmp eax, 7
je 0x5a9b7c
cmp eax, 1
je 0x5a9b7c
cmp eax, 0x1c
je 0x5a9b7c
mov dword [esi + 0x9c], 0x15
mov dword [esi + 0x347c], edi
cmp byte [ebp - 0x13], 0
jne 0x5a9bb6
cmp byte [esi + 0x3204], 0
jne 0x5a9bb6
mov eax, dword [esi + 0x49e4]
push eax
lea ecx, [ebp + 8]
push ecx
call fcn.005a2610
add esp, 8
push 4
lea edx, [ebp + 8]
push edx
mov ecx, esi
call fcn.005a6190
cmp eax, edi
jne 0x5a9c73
mov ecx, dword [ebp - 0x30]
movzx eax, byte [ebx + 6]
add eax, 0x151
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
movzx edx, byte [ebx + 4]
mov byte [eax + 4], dl
movzx edx, byte [ebx + 5]
mov byte [eax + 5], dl
movzx edx, byte [ebx + 6]
mov byte [eax + 6], dl
mov edx, dword [ebx + 8]
mov dword [eax + 8], edx
mov edx, dword [ebx + 0xc]
mov dword [eax + 0xc], edx
movzx edx, byte [ebx + 0x10]
mov byte [eax + 0x10], dl
mov edx, dword [ebx + 0x14]
mov dword [eax + 0x14], edx
mov edx, dword [ebx + 0x18]
mov dword [eax + 0x18], edx
mov edx, dword [ebx + 0x1c]
mov dword [eax + 0x1c], edx
mov edx, dword [ebx + 0x20]
mov dword [eax + 0x20], edx
movzx edx, byte [ebx + 0x24]
mov byte [eax + 0x24], dl
mov eax, dword [ebx + 0x1c]
cmp eax, dword [ebx + 0x18]
jne 0x5a9c4d
movzx edx, byte [ebx + 6]
mov eax, dword [ebx + 0x14]
mov dword [esi + edx*4 + 0x48a8], eax
movzx eax, byte [ebx + 6]
lea edx, [eax + eax*4]
mov dword [esi + edx*8 + 0x34c8], edi
movzx eax, byte [ebx + 6]
lea eax, [eax + eax*4]
mov dword [esi + eax*8 + 0x34c4], edi
movzx eax, byte [ebx + 6]
lea edx, [eax + eax*4]
mov byte [esi + edx*8 + 0x34b8], 0
mov eax, dword [ebp - 0x24]
cmp eax, ecx
jne 0x5a9c57
mov dword [ebx + 0x20], edi
mov edx, dword [ebx + 0x1c]
cmp edx, dword [ebx + 0x18]
je 0x5a9c6a
cmp eax, ecx
jne 0x5a9c6a
mov ecx, ebx
call fcn.005aa590
mov ecx, esi
call fcn.0055b910
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4