Function at 0x42a6e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x150
mov eax, dword [0x5eef00]
xor eax, esp
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x154]
push ebx
push ebp
mov ebp, dword [esp + 0x160]
push esi
push edi
push 0x4c
push ebp
mov dword [esp + 0x24], eax
call fcn.0042f0b0
mov esi, eax
push 0x54
push ebp
mov dword [esp + 0x20], esi
call fcn.0042f0b0
push 3
push ebp
mov dword [esp + 0x30], eax
call fcn.0042f0b0
push 0xc
push ebp
mov dword [esp + 0x4c], eax
call fcn.0042f0b0
push 0xd5
push ebp
mov dword [esp + 0x64], eax
call fcn.0042f0b0
push 0x3f
xor ebx, ebx
push ebp
mov dword [esp + 0x80], eax
mov dword [esp + 0x44], ebx
call fcn.0042f0b0
add esp, 0x30
cmp eax, ebx
je 0x42a776
cmp byte [eax], bl
je 0x42a776
push eax
call fcn.004b31a7
add esp, 4
mov dword [esp + 0x38], eax
jmp 0x42a77a
mov dword [esp + 0x38], ebx
push 0x43
push ebp
call fcn.0042f0b0
push 0x5a
push ebp
mov dword [esp + 0x38], eax
mov dword [esp + 0x64], ebx
mov dword [esp + 0x58], ebx
call fcn.0042f0b0
add esp, 0x10
cmp eax, ebx
je 0x42a7b0
cmp byte [eax], bl
je 0x42a7b0
push eax
call fcn.004b31a7
add esp, 4
mov dword [esp + 0x58], eax
jmp 0x42a7b4
mov dword [esp + 0x58], ebx
push 0x5b
push ebp
call fcn.0042f0b0
add esp, 8
cmp eax, ebx
je 0x42a7d6
cmp byte [eax], bl
je 0x42a7d6
push eax
call fcn.004b31a7
add esp, 4
mov dword [esp + 0x4c], eax
jmp 0x42a7da
mov dword [esp + 0x4c], ebx
push 5
push ebp
call fcn.0042f0b0
push 0x7f
lea ecx, [esp + 0xe5]
push ebx
push ecx
mov dword [esp + 0x38], eax
mov byte [esp + 0xec], bl
call fcn.004b3a80
add esp, 0x14
cmp esi, ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x40], ebx
je 0x42a834
mov edi, 0x5df0e0
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x42a834
mov dword [esp + 0x10], str.m3u8
cmp ebp, ebx
jne 0x42a83f
xor eax, eax
jmp 0x42b1c2
mov edi, dword [esp + 0x1c]
cmp edi, ebx
je 0x42a838
cmp dword [esp + 0x24], ebx
jne 0x42a85c
push 1
push ebp
call fcn.0042f0b0
add esp, 8
cmp eax, ebx
je 0x42a838
mov esi, dword [esp + 0x18]
cmp esi, ebx
jne 0x42a87c
mov eax, dword [esp + 0x10]
push eax
push edi
call fcn.0047d0e0
mov esi, eax
add esp, 8
cmp esi, ebx
mov dword [esp + 0x18], esi
je 0x42a838
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x42a897
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x58]
push edx
push eax
call fcn.0048fab0
add esp, 0xc
mov eax, dword [edi + 0x86c]
push esi
push eax
mov dword [esp + 0x64], esi
call fcn.004999c0
add esp, 8
cmp eax, ebx
je 0x42a8b3
mov dword [esp + 0x18], eax
push 0x64
lea ecx, [esp + 0x74]
push ebx
push ecx
call fcn.004b3a80
add esp, 0xc
mov eax, ebp
call fcn.0042fcb0
mov esi, eax
cmp esi, ebx
mov dword [esp + 0x24], esi
je 0x42a8eb
mov eax, dword [0x60a1c4]
cmp eax, ebx
je 0x42b1b1
call eax
test eax, eax
je 0x42b1b1
cmp esi, 1
jne 0x42a95f
mov eax, ebp
call fcn.0042fbd0
test eax, eax
jne 0x42a936
mov eax, ebp
call fcn.0042fc00
test eax, eax
jne 0x42a936
push 3
push ebp
call fcn.0042f0b0
push 0x14
push ebp
mov esi, eax
call fcn.0042f0b0
push esi
push eax
push str.Skip_item__s___invalid_class__s__non_AV_____n
push ebx
push str.build_av_res
push 4
push 3
call fcn.0048d750
add esp, 0x2c
jmp 0x42b1b1
push 0xf2
call fcn.0047ac60
add esp, 4
cmp eax, 1
jne 0x42a95f
mov edx, dword [edi + 0x86c]
push edx
call fcn.004948a0
add esp, 4
test eax, eax
je 0x42b1b1
push ebp
mov eax, edi
call fcn.0040e120
mov dword [esp + 0x68], eax
xor eax, eax
add esp, 4
cmp esi, ebx
sete al
push ebx
mov ecx, ebp
mov dword [esp + 0x2c], eax
mov eax, 0xa5
call fcn.0042fcf0
mov ecx, dword [esp + 0x14]
mov edx, dword [edi + 0x86c]
add esp, 4
push ecx
push edx
mov dword [esp + 0x74], eax
call fcn.00499ab0
add esp, 8
test eax, eax
jne 0x42aac3
mov eax, dword [esp + 0x3c]
push eax
call fcn.004774f0
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x40], eax
mov esi, eax
cmp dword [esp + 0x3c], 0
je 0x42ab2d
test esi, esi
jne 0x42ab35
mov eax, dword [esp + 0x40]
test eax, eax
je 0x42a9e8
push eax
call fcn.00477540
add esp, 4
test edi, edi
jne 0x42b1b1
mov eax, dword [esp + 0x14]
cmp eax, 0x18
mov dword [esp + 0x40], eax
jge 0x42aac3
cmp dword [esp + 0x18], edi
je 0x42aac3
mov esi, dword [esp + 0x18]
mov edi, str.video_mpeg
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x42aac3
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x86c]
push ecx
call fcn.00494360
add esp, 4
test eax, eax
je 0x42aac3
mov eax, ebp
mov ebx, str.video_
call fcn.00427580
test eax, eax
je 0x42aac3
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
push 0
push 0
push edi
push ebx
push edx
push eax
push 0
push ebp
push ecx
mov edx, str.MPEG_PS_PAL
mov ecx, 0x5cd6b3
call fcn.00428730
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
add esp, 0x24
push 0
push 0
push edi
push ebx
push edx
mov dword [esp + esi*4 + 0x84], eax
mov eax, dword [esp + 0x24]
push eax
push 0
push ebp
push ecx
mov edx, str.MPEG_PS_NTSC
mov ecx, 0x5cd6b3
add esi, 1
call fcn.00428730
add esp, 0x24
mov dword [esp + esi*4 + 0x70], eax
add esi, 1
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x86c]
push esi
push edx
push eax
call fcn.004991a0
mov edi, eax
add esp, 0xc
test edi, edi
mov dword [esp + 0x10], edi
jne 0x42abfb
cmp dword [ebx + 0x86c], eax
jle 0x42abfb
test esi, esi
je 0x42ad44
push str.audio
push esi
call fcn.004b3110
add esp, 8
test eax, eax
je 0x42abd4
push str.LPCM
call fcn.004774f0
mov edi, eax
mov dword [esp + 0x14], edi
jmp 0x42abf8
test esi, esi
je 0x42abc7
push 0x2c
push esi
call fcn.004b41d0
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
je 0x42ab4b
mov byte [eax], 0
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x28]
push edi
push ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x2c]
push ebx
push ecx
push edx
push ebp
push eax
mov edx, esi
mov ecx, 0x5cd6b3
call fcn.00428730
add esp, 0x24
test edi, edi
je 0x42ab99
mov ecx, dword [esp + 0x16c]
push ecx
mov ecx, dword [esp + 0x20]
push 0
push eax
push ebp
mov edx, ebx
call fcn.0042a180
add esp, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x70], eax
add ecx, 1
cmp dword [esp + 0x20], 0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x44], 1
je 0x42a9d7
mov esi, dword [esp + 0x20]
add esi, 1
jmp 0x42a9c4
mov dword [esp + 0x20], 0
jmp 0x42ab4b
push str.video
push esi
call fcn.004b3110
add esp, 8
test eax, eax
je 0x42abfb
mov ecx, dword [0x6dad48]
push ecx
call fcn.004774f0
mov edi, eax
mov dword [esp + 0x14], eax
add esp, 4
test esi, esi
je 0x42ad44
push str.audio
push esi
call fcn.004b3110
add esp, 8
test eax, eax
je 0x42ad44
test edi, edi
je 0x42ad44
push 0x5df140
push edi
call fcn.004b3110
add esp, 8
test eax, eax
jne 0x42ac95
cmp dword [esp + 0x18], eax
je 0x42ac51
mov esi, dword [esp + 0x18]
mov edi, str.audio_x_wav
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
mov edi, dword [esp + 0x10]
je 0x42ac95
push edi
push str._s_WAV
push 0
call fcn.00477200
add esp, 0xc
push edi
mov esi, eax
call fcn.00477540
xor edi, edi
add esp, 4
test esi, esi
mov dword [esp + 0x10], edi
je 0x42ac8c
mov eax, dword [esi + 8]
test eax, eax
je 0x42ac8c
push eax
call fcn.004774f0
add esp, 4
mov edi, eax
mov dword [esp + 0x10], eax
push esi
call fcn.0051ffe0
add esp, 4
test edi, edi
je 0x42ad44
push 0x5df14c
push edi
call fcn.004b3110
add esp, 8
test eax, eax
jne 0x42ad44
cmp dword [esp + 0x18], eax
je 0x42acd1
mov esi, dword [esp + 0x18]
mov edi, str.audio_mpeg
mov ecx, 0xb
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x42ad40
mov edi, dword [esp + 0x10]
push str.LPCM
push edi
call fcn.004b3110
add esp, 8
test eax, eax
je 0x42ad02
cmp dword [esp + 0x18], 0
je 0x42ad02
mov esi, dword [esp + 0x18]
mov edi, str.audio_x_wav
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x42ad40
mov edi, dword [esp + 0x10]
push edi
push str._s_MP3
push 0
call fcn.00477200
add esp, 0xc
push edi
mov esi, eax
call fcn.00477540
add esp, 4
xor edi, edi
test esi, esi
je 0x42ad35
mov eax, dword [esi + 8]
test eax, eax
je 0x42ad35
push eax
call fcn.004774f0
add esp, 4
mov edi, eax
push esi
call fcn.0051ffe0
add esp, 4
jmp 0x42ad44
mov edi, dword [esp + 0x10]
test edi, edi
mov dword [esp + 0x50], edi
je 0x42b08c
push 0x3d
push ebp
call fcn.0042f0b0
push 0x3e
push ebp
mov ebx, eax
call fcn.0042f0b0
push eax
call fcn.00475980
mov esi, eax
add esp, 0x14
test esi, esi
jle 0x42ada0
test ebx, ebx
je 0x42ada0
push ebx
call fcn.00475130
add esp, 4
push 0
push 0x3e8
push edx
push eax
call fcn.004b3e20
mov ecx, eax
mov ebx, edx
mov eax, esi
cdq
push edx
push eax
push ebx
push ecx
call fcn.004b82f0
mov dword [esp + 0x38], eax
cmp byte [edi], 0
mov ebx, 1
je 0x42afa4
cmp dword [esp + 0x14], 0x19
jge 0x42afa4
cmp dword [0x6da390], ebx
jne 0x42afa4
push 0x2c
push edi
mov esi, edi
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], ebx
call fcn.004b41d0
mov edi, eax
add esp, 8
test edi, edi
je 0x42ade9
mov byte [edi], 0
add edi, ebx
push 4
push str.JPEG
push esi
call fcn.004b2fa4
add esp, 0xc
test eax, eax
je 0x42af99
push 3
push 0x5df140
push esi
call fcn.004b2fa4
add esp, 0xc
test eax, eax
jne 0x42ae1d
mov dword [esp + 0x30], 1
push 4
push str.LPCM
push esi
call fcn.004b2fa4
add esp, 0xc
test eax, eax
jne 0x42ae39
mov dword [esp + 0x34], 1
call fcn.004052a0
mov esi, eax
test esi, esi
je 0x42af99
mov ebx, dword [esi + 8]
mov eax, ebp
call fcn.00427580
test eax, eax
je 0x42af99
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x86c]
push eax
call fcn.004948d0
add esp, 4
test eax, eax
jne 0x42ae7b
cmp dword [esp + 0x34], eax
jne 0x42ae7b
mov dword [esp + 0x20], eax
mov eax, dword [esi]
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0xdc]
push edx
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x34]
push edx
mov edx, dword [esi + 8]
push eax
push ecx
mov ecx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x8c]
push ecx
push edx
push eax
push 0x3c
push ebp
call fcn.0042f0b0
add esp, 8
push eax
call fcn.00408160
add esp, 0x40
cmp byte [esp + 0xd8], 0
je 0x42af99
cmp dword [esp + 0x68], 0
jne 0x42af03
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x5c]
mov ebx, ebp
call fcn.0042a0b0
test eax, eax
jne 0x42af99
mov ecx, dword [esi + 8]
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebx + 0x86c]
push 0
push ecx
push edx
call fcn.00499a30
add esp, 0xc
test eax, eax
jne 0x42af99
mov eax, ebp
call fcn.0042fcb0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
push eax
xor eax, eax
cmp dword [esp + 0x38], eax
sete al
push eax
mov eax, dword [esi + 8]
push ecx
mov ecx, dword [esi + 4]
push edx
mov edx, dword [esi + 0xc]
push eax
push ecx
push 0
push ebp
push ebx
lea ecx, [esp + 0xfc]
call fcn.00428730
mov ecx, 1
add esp, 0x24
cmp dword [esp + 0x24], 0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x60], ecx
je 0x42af8a
mov edx, dword [esp + 0x16c]
push edx
mov edx, dword [esi + 8]
push ecx
push eax
push ebp
mov ecx, ebx
call fcn.0042a180
add esp, 0x10
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x70], eax
add ecx, 1
mov dword [esp + 0x14], ecx
test edi, edi
jne 0x42ada0
lea ebx, [edi + 1]
cmp dword [esp + 0x30], 0
je 0x42b07f
cmp dword [esp + 0x34], 0
jne 0x42b07f
mov esi, str.LPCM
call fcn.004052a0
mov esi, eax
test esi, esi
je 0x42b07f
mov eax, dword [esi]
push 0
lea ecx, [esp + 0xdc]
push ecx
lea edx, [esp + 0x2c]
push edx
mov edx, dword [esi + 0xc]
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x5c]
push eax
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esi + 8]
push eax
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
push eax
push ecx
push 0x3c
push ebp
mov dword [esp + 0x74], 0
mov dword [esp + 0x68], ebx
call fcn.0042f0b0
add esp, 8
push eax
call fcn.00408160
add esp, 0x40
cmp byte [esp + 0xd8], 0
je 0x42b07f
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov ecx, dword [esi + 8]
push 0
push ebx
push edx
mov edx, dword [esi + 4]
push eax
mov eax, dword [esp + 0x2c]
push ecx
push edx
mov edx, dword [esi + 0xc]
push 0
push ebp
push eax
lea ecx, [esp + 0xfc]
call fcn.00428730
mov ecx, dword [esp + 0x38]
add esp, 0x24
mov dword [esp + ecx*4 + 0x70], eax
add ecx, ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x44], ebx
mov ecx, dword [esp + 0x50]
push ecx
call fcn.00477540
add esp, 4
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x86c]
push 0
push edx
push ecx
call fcn.00499a30
add esp, 0xc
test eax, eax
je 0x42b0ec
cmp dword [esp + 0x60], 0
je 0x42b0ec
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
sub ebx, eax
xor esi, esi
test ebx, ebx
jle 0x42b0e8
lea edi, [esp + eax*4 + 0x70]
mov edx, dword [esp + esi*4 + 0x70]
push edx
call fcn.0042ea90
mov eax, dword [edi]
mov dword [esp + esi*4 + 0x74], eax
mov dword [edi], 0
add esi, 1
add esp, 4
add edi, 4
cmp esi, ebx
jl 0x42b0c5
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x44], 0
je 0x42b1b1
push 0x47
push ebp
call fcn.0042f0b0
add esp, 8
test eax, eax
je 0x42b131
mov esi, dword [esp + 0x14]
cmp esi, 0x19
jge 0x42b131
push 0x47
push ebp
call fcn.0042f0b0
mov ecx, dword [esp + 0x24]
push eax
mov edx, ebp
call fcn.00428290
add esp, 0xc
mov dword [esp + esi*4 + 0x70], eax
add esi, 1
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x86c]
push edx
call fcn.00494780
add esp, 4
test eax, eax
jne 0x42b198
cmp dword [esp + 0x2c], eax
je 0x42b1b1
mov eax, dword [esp + 0x2c]
push str.video
push eax
call fcn.004b3110
add esp, 8
test eax, eax
je 0x42b198
push 0
mov eax, 0x46
mov ecx, ebp
call fcn.0042fcf0
add esp, 4
test eax, eax
jne 0x42b198
mov esi, dword [esp + 0x14]
cmp esi, 0x19
jge 0x42b198
mov ecx, dword [esp + 0x1c]
mov edx, ebp
call fcn.00427650
mov dword [esp + esi*4 + 0x70], eax
add esi, 1
mov dword [esp + 0x14], esi
cmp dword [esp + 0x2c], 0
je 0x42b1b1
mov ecx, dword [esp + 0x2c]
push str.video
push ecx
call fcn.004b3110
add esp, 8
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x70]
push edx
call fcn.0042eb50
add esp, 4
mov ecx, dword [esp + 0x15c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b2f95
add esp, 0x150
ret