Function at 0x5958ff
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov edi, eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x48], 0x6098d1
cmp dword [eax + 0x18], 0x72746370
jne 0x595927
mov dword [ebp - 0x48], str.RTCP
mov eax, dword [ebp - 0x3c]
call fcn.00426462
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov eax, dword [edi + 0x18]
cmp eax, 0x72727470
je 0x5959d2
ja 0x595951
cmp eax, 0x66647020
je 0x59596c
jmp 0x595f26
cmp eax, 0x72747020
je 0x5959d2
cmp eax, 0x73727470
je 0x5959d2
cmp eax, 0x72746370
jne 0x595f26
jmp 0x5959d2
mov eax, dword [ebp - 0x3c]
call fcn.00426faa
mov dword [edi + 8], eax
xor eax, eax
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x3c]
call fcn.00426faa
cmp eax, 0x66647361
je 0x5959c1
cmp dword [0x5af048], 0
je 0x595f26
mov dword [0x611418], 1
mov dword [0x611414], 2
call fcn.004266af
mov dword [esp + 4], eax
mov dword [esp], str._iso__invalid_FDT_sample__top_box_type__s_not_fdsa_n
jmp 0x595c8c
mov edx, dword [ebp - 0x3c]
mov eax, edi
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00497555
mov eax, dword [ebp - 0x3c]
call fcn.00427054
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0x3c]
call fcn.00427054
mov word [edi + 0x1e], ax
movzx eax, word [edi + 0x1c]
mov word [ebp - 0x4a], 0
mov ecx, dword [ebp - 0x44]
cmp eax, ecx
jb 0x595ac5
cmp dword [0x5af048], 0
je 0x595f26
mov dword [0x611418], 1
mov dword [0x611414], 2
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], eax
mov dword [esp], str._iso__broken__s_sample:__d_packet_count_indicated_but_only__d_bytes_in_samples_n
jmp 0x595c56
mov edx, 2
mov eax, dword [ebp - 0x3c]
call fcn.00427195
mov byte [ebx + 0x10], al
mov edx, 1
mov eax, dword [ebp - 0x3c]
call fcn.00427195
mov byte [ebx + 0x11], al
mov edx, 5
mov eax, dword [ebp - 0x3c]
call fcn.00427195
mov byte [ebx + 0x12], al
mov eax, dword [ebp - 0x3c]
call fcn.00426ef9
mov byte [ebx + 0x13], al
mov eax, dword [ebp - 0x3c]
call fcn.00427054
shl eax, 2
mov dword [ebx + 0x14], eax
cmp eax, 3
jbe 0x595f26
mov eax, dword [ebp - 0x3c]
call fcn.00426462
mov dword [ebp - 0x40], eax
mov ecx, edx
mov esi, dword [ebx + 0x14]
xor edx, edx
cmp dword [ebp - 0x40], esi
sbb ecx, edx
jb 0x595c60
mov dword [esp], esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov edx, eax
mov dword [ebx + 0x18], eax
mov ecx, esi
mov eax, dword [ebp - 0x3c]
call fcn.0042755d
inc word [ebp - 0x4a]
mov ax, word [ebp - 0x4a]
cmp ax, word [edi + 0x1c]
jae 0x595ee6
mov eax, dword [ebp - 0x3c]
call fcn.00426462
test edx, edx
je 0x595c96
mov eax, dword [edi + 0x18]
call fcn.004b0a7e
mov ebx, eax
mov eax, dword [edi + 0x3c]
mov dword [ebx + 4], eax
mov eax, dword [edi + 0x40]
mov dword [ebx + 8], eax
mov eax, dword [edi + 0x20]
mov edx, ebx
call fcn.00425c52
mov eax, dword [ebx]
cmp eax, 0x72746370
je 0x595a3b
ja 0x595ce5
cmp eax, 0x72727470
jne 0x595f26
mov eax, dword [ebp - 0x3c]
call fcn.00426faa
mov dword [ebx + 0xc], eax
mov edx, 2
mov eax, dword [ebp - 0x3c]
call fcn.00427195
mov edx, 1
mov eax, dword [ebp - 0x3c]
call fcn.00427195
mov byte [ebx + 0x10], al
mov edx, 1
mov eax, dword [ebp - 0x3c]
call fcn.00427195
mov byte [ebx + 0x11], al
mov edx, 4
mov eax, dword [ebp - 0x3c]
call fcn.00427195
mov edx, 1
mov eax, dword [ebp - 0x3c]
call fcn.00427195
mov byte [ebx + 0x12], al
mov edx, 7
mov eax, dword [ebp - 0x3c]
call fcn.00427195
mov byte [ebx + 0x13], al
mov eax, dword [ebp - 0x3c]
call fcn.00427054
mov word [ebx + 0x14], ax
mov edx, 0xd
mov eax, dword [ebp - 0x3c]
call fcn.00427195
mov edx, 1
mov eax, dword [ebp - 0x3c]
call fcn.00427195
mov esi, eax
mov edx, 1
mov eax, dword [ebp - 0x3c]
call fcn.00427195
mov byte [ebx + 0x16], al
mov edx, 1
mov eax, dword [ebp - 0x3c]
call fcn.00427195
mov byte [ebx + 0x17], al
mov eax, dword [ebp - 0x3c]
call fcn.00427054
mov word [ebp - 0x4c], ax
mov eax, esi
test al, al
jne 0x595cfa
mov word [ebp - 0x50], 0
mov ecx, dword [ebp - 0x50]
cmp word [ebp - 0x4c], cx
je 0x595ac1
mov eax, dword [ebp - 0x3c]
call fcn.00426ef9
mov byte [ebp - 0x40], al
movzx edx, al
mov eax, edx
mov dword [ebp - 0x5c], edx
call fcn.004b0ba5
mov esi, eax
test eax, eax
mov edx, dword [ebp - 0x5c]
jne 0x595d47
cmp dword [0x5af048], 0
je 0x595f26
mov dword [0x611418], 1
mov dword [0x611414], 2
mov eax, dword [ebx + 4]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], str._iso__invalid_DTE_code__d_in_hint_sample__d_of_trackID__d_n
call fcn.004268ea
jmp 0x595f26
cmp dword [0x5af048], 1
jbe 0x595f26
mov dword [0x611418], 2
mov dword [0x611414], 2
mov dword [esp + 4], esi
mov dword [esp], str._iso__RTCP_hint_packet_has_more_data___d__than_available_n
call fcn.004268ea
jmp 0x595f26
test eax, eax
jne 0x595ae3
cmp dword [0x5af048], 0
je 0x595f26
mov dword [0x611418], 1
mov dword [0x611414], 2
movzx eax, word [edi + 0x1c]
movzx edx, word [ebp - 0x4a]
sub eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], eax
mov dword [esp], str._iso___s_hint_sample_has_no_more_data_but_still__d_entries_to_read_n
call fcn.004268ea
jmp 0x595f26
cmp eax, 0x72747020
je 0x595b21
cmp eax, 0x73727470
jmp 0x595b1b
mov eax, dword [ebp - 0x3c]
call fcn.00426faa
mov dword [ebp - 0x40], eax
mov esi, 4
mov eax, dword [ebp - 0x40]
cmp esi, eax
jae 0x595d3a
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
call fcn.00497b22
test eax, eax
jne 0x595f26
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x50], edx
call fcn.00425c52
mov edx, dword [ebp - 0x50]
add esi, dword [edx + 8]
jmp 0x595d0a
cmp eax, esi
je 0x595be4
jmp 0x595f26
mov al, byte [eax]
cmp al, 2
je 0x595df7
ja 0x595d6c
test al, al
jne 0x595db1
lea edx, [ebp - 0x27]
mov ecx, 0xf
mov eax, dword [ebp - 0x3c]
call fcn.0042755d
jmp 0x595eab
cmp al, 3
jne 0x595f26
mov eax, dword [ebp - 0x3c]
call fcn.00426ef9
mov byte [esi + 1], al
mov eax, dword [ebp - 0x3c]
call fcn.00427054
mov word [esi + 8], ax
mov eax, dword [ebp - 0x3c]
call fcn.00426faa
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x3c]
call fcn.00426faa
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x3c]
call fcn.00426faa
mov dword [esi + 0x10], eax
jmp 0x595eab
mov eax, dword [ebp - 0x3c]
call fcn.00426ef9
movzx ecx, al
mov byte [esi + 1], al
cmp al, 0xe
ja 0x595f26
lea edx, [esi + 2]
mov eax, dword [ebp - 0x3c]
call fcn.0042755d
movzx eax, byte [esi + 1]
cmp al, 0xd
ja 0x595eab
mov edx, 0xe
sub edx, eax
mov ecx, edx
sar ecx, 0x1f
mov eax, dword [ebp - 0x3c]
call fcn.00427443
jmp 0x595eab
mov eax, dword [ebp - 0x3c]
call fcn.00426ef9
mov byte [esi + 1], al
mov eax, dword [ebp - 0x3c]
call fcn.00427054
mov word [esi + 8], ax
mov eax, dword [ebp - 0x3c]
call fcn.00426faa
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x3c]
call fcn.00426faa
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x3c]
call fcn.00427054
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x3c]
call fcn.00427054
mov word [esi + 0x12], ax
movzx eax, word [esi + 0x10]
cmp ax, 1
je 0x595e73
cmp dword [0x5af048], 1
jbe 0x595e73
mov dword [0x611418], 2
mov dword [0x611414], 2
mov dword [esp + 4], eax
mov dword [esp], str._iso__hint_packet_constructor_with_bytesperblock__d__not_1_n
call fcn.004268ea
cmp word [esi + 0x12], 1
je 0x595eab
cmp dword [0x5af048], 1
jbe 0x595eab
mov dword [0x611418], 2
mov dword [0x611414], 2
movzx eax, word [esi + 0x10]
mov dword [esp + 4], eax
mov dword [esp], str._iso__hint_packet_constructor_with_samplesperblock__d__not_1_n
call fcn.004268ea
cmp byte [ebp - 0x40], 2
je 0x595ec3
cmp byte [ebp - 0x40], 3
je 0x595ec3
cmp byte [ebp - 0x40], 1
jne 0x595ed6
cmp byte [esi + 1], 0
jmp 0x595ec8
cmp word [esi + 8], 0
je 0x595ed6
mov eax, dword [ebx + 0x1c]
mov edx, esi
call fcn.00425c52
jmp 0x595edd
mov eax, esi
call fcn.004b0c4e
inc word [ebp - 0x50]
jmp 0x595bea
cmp dword [edi + 0x18], 0x72746370
je 0x595f26
mov eax, dword [ebp - 0x3c]
call fcn.00426462
sub eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x44]
cmp eax, ecx
jae 0x595f26
mov ebx, ecx
sub ebx, eax
mov dword [edi + 0x28], ebx
mov dword [esp], ebx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov edx, eax
mov dword [edi + 0x24], eax
mov ecx, ebx
mov eax, dword [ebp - 0x3c]
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0042755d
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret