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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x170
mov dword [esp + 0x10], edx
mov dword [esp + 8], ecx
mov ecx, dword [ebp + 0x18]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [esp + 0x168], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], eax
xor eax, eax
dec eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], eax
mov word [esp + 0x8c], 0xffff
cmp dword [ebp + 0x10], 0
je 0x1004b46c
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
mov ebx, dword [ebp + 0x14]
mov eax, ebx
or eax, ecx
je 0x1004b484
cmp ebx, 0xa
mov eax, dword [ebp + 0x18]
sbb eax, 0
jl 0x1004b5b7
xor edi, edi
push 1
push edi
push edi
mov esi, dword [esp + 0x14]
push esi
call fcn.100433e0
add esp, 0x10
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], edx
mov eax, ebx
add eax, 0xfffffff6
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x18]
adc eax, 0xffffffff
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x10]
test eax, eax
lea ecx, [esp + 0x5c]
cmove ecx, eax
mov dword [esp + 0x48], ecx
push 1
push edi
push edi
push esi
call fcn.100433e0
add esp, 0x10
mov dword [esp + 0x14], eax
mov esi, edx
or ebx, dword [ebp + 0x18]
jne 0x1004b5cd
push 0
push 0xa
push dword [esp + 0x10]
call fcn.10043f10
add esp, 0xc
test eax, eax
js 0x1004b523
push 0xa
lea eax, [esp + 0x88]
push eax
push dword [esp + 0x10]
call fcn.10043ac0
add esp, 0xc
cmp eax, 0xa
jne 0x1004b523
movzx eax, byte [esp + 0x84]
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx]
cmp eax, ecx
je 0x1004b77d
xor edi, edi
push edi
push esi
push dword [esp + 0x1c]
push dword [esp + 0x14]
call fcn.100433e0
add esp, 0x10
push 0x102c747c
push edi
mov ebx, dword [esp + 0x18]
push ebx
call fcn.1004c4b0
add esp, 0xc
push 0x102c78f0
push edi
push ebx
call fcn.1004c4b0
add esp, 0xc
push 0x102c756c
push edi
push ebx
call fcn.1004c4b0
add esp, 0xc
xorps xmm0, xmm0
movaps xmmword [esp + 0x90], xmm0
mov byte [esp + 0xa0], 0
push 1
push edi
push str.TYER
push dword [ebx]
call sym.ffmpeg.dll_av_dict_get
add esp, 0x10
test eax, eax
jne 0x1004b5ee
push 1
push 0
push 0x102c7990
push dword [ebx]
call sym.ffmpeg.dll_av_dict_get
add esp, 0x10
test eax, eax
jne 0x1004b61c
cmp dword [ebp + 0x10], 0
je 0x1004b5b7
mov eax, dword [esp + 0x5c]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov ecx, dword [esp + 0x168]
xor ecx, ebp
call fcn.10130483
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x58]
mov ecx, esi
sbb ecx, dword [esp + 0x54]
cmp eax, dword [esp + 0x50]
sbb ecx, dword [esp + 0x4c]
jl 0x1004b4de
jmp 0x1004b523
mov edi, dword [eax + 4]
push edi
call fcn.10146360
add esp, 4
cmp eax, 4
jne 0x1004b591
mov eax, edi
mov cl, byte [eax]
mov edx, ecx
add dl, 0xd0
inc eax
cmp dl, 0xa
jb 0x1004b601
test cl, cl
mov ebx, dword [esp + 0x10]
jne 0x1004b591
jmp 0x1004b64c
mov edi, dword [eax + 4]
push edi
call fcn.10146360
add esp, 4
cmp eax, 4
jne 0x1004b5a8
mov eax, edi
mov cl, byte [eax]
mov edx, ecx
add dl, 0xd0
inc eax
cmp dl, 0xa
jb 0x1004b633
test cl, cl
mov ebx, dword [esp + 0x10]
jne 0x1004b5a8
lea esi, [esp + 0x90]
push 5
push edi
push esi
call fcn.10059c10
add esp, 0xc
xor edi, edi
push edi
push edi
push str.TYER
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
push edi
push edi
push 0x102c7990
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
mov ecx, dword [ebx]
mov edx, str.TDAT
call fcn.10177480
test eax, eax
jne 0x1004b6a9
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, 0x102c7999
call fcn.10177480
test eax, eax
je 0x1004b755
mov eax, dword [eax + 4]
lea ecx, [esp + 0x94]
push eax
add eax, 2
push eax
push str.__.2s__.2s
push 0xd
push ecx
call fcn.1003e0e0
add esp, 0x14
push edi
push edi
push str.TDAT
mov ebx, dword [esp + 0x1c]
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
push edi
push edi
push 0x102c7999
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
mov ecx, dword [ebx]
mov edx, str.TIME
call fcn.10177480
test eax, eax
jne 0x1004b710
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, 0x102c79ad
call fcn.10177480
test eax, eax
je 0x1004b755
mov eax, dword [eax + 4]
lea ecx, [eax + 2]
lea edx, [esp + 0x9a]
push ecx
push eax
push str.__.2s:_.2s
push 7
push edx
call fcn.1003e0e0
add esp, 0x14
xor edi, edi
push edi
push edi
push str.TIME
mov ebx, dword [esp + 0x1c]
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
push edi
push edi
push 0x102c79ad
push ebx
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
cmp byte [esp + 0x90], 0
mov eax, dword [esp + 0x10]
je 0x1004b5a8
push 0
push esi
push str.date
push eax
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
jmp 0x1004b5a8
movzx eax, byte [esp + 0x85]
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx + 1]
cmp eax, ecx
jne 0x1004b523
movzx eax, byte [esp + 0x86]
mov ecx, dword [ebp + 0xc]
movsx ecx, byte [ecx + 2]
cmp eax, ecx
jne 0x1004b523
mov al, byte [esp + 0x87]
mov byte [esp + 0x20], al
cmp al, 0xff
je 0x1004b523
cmp byte [esp + 0x88], 0xff
je 0x1004b523
mov al, byte [esp + 0x8a]
test al, al
js 0x1004b523
mov dl, byte [esp + 0x8b]
test dl, dl
js 0x1004b523
mov ah, byte [esp + 0x8c]
test ah, ah
js 0x1004b523
movzx ecx, byte [esp + 0x8d]
test cl, cl
js 0x1004b523
movzx esi, al
movzx edx, dl
movzx ebx, ah
shl esi, 0x15
shl edx, 0xe
or edx, esi
shl ebx, 7
or ebx, edx
or ebx, ecx
movzx eax, byte [esp + 0x89]
mov dword [esp + 0x30], eax
mov byte [esp + 0x7c], 0xff
mov dword [esp + 0x78], 0xffffffff
xor eax, eax
push 1
push eax
push eax
push dword [esp + 0x14]
call fcn.100433e0
add esp, 0x10
mov edi, eax
mov esi, edx
lea eax, [esp + 0x90]
push 0xd8
push 0xff
push eax
call fcn.10132b90
add esp, 0xc
xor edx, edx
mov dword [esp + 0x68], edx
mov eax, 0xfffffff5
mov dword [esp + 0x14], ebx
sub eax, ebx
mov ecx, 0x7fffffff
sbb ecx, edx
mov dword [esp + 0x64], edx
mov dword [esp + 0x38], edi
cmp eax, edi
mov dword [esp + 0x34], esi
sbb ecx, esi
jl 0x1004b952
movzx ecx, byte [esp + 0x20]
mov eax, dword [esp + 0x14]
add dword [esp + 0x38], eax
adc dword [esp + 0x34], 0
mov dword [esp + 0x2c], ecx
lea eax, [ecx - 3]
cmp eax, 2
jae 0x1004b960
xor eax, eax
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], 0xa
mov dword [esp + 0x3c], str.COMM
test byte [esp + 0x30], 0x40
jne 0x1004b991
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x14], eax
jae 0x1004ba16
cmp byte [esp + 0x2c], 4
setne al
test byte [esp + 0x30], 0x10
sete cl
or cl, al
mov esi, dword [esp + 0x38]
mov eax, esi
add eax, 0xa
mov edi, dword [esp + 0x34]
mov edx, edi
adc edx, 0
test cl, cl
cmove edi, edx
mov dword [esp + 0x34], edi
cmove esi, eax
mov dword [esp + 0x38], esi
xor esi, esi
push esi
push dword [esp + 0x38]
push dword [esp + 0x40]
push dword [esp + 0x14]
call fcn.100433e0
add esp, 0x10
push dword [esp + 0x68]
call sym.ffmpeg.dll_av_free
add esp, 4
push esi
call sym.ffmpeg.dll_av_free
add esp, 4
mov esi, dword [esp + 8]
mov ebx, dword [ebp + 0x14]
xor edi, edi
jmp 0x1004b4c2
cmp dword [esp + 0x2c], 2
jne 0x1004b926
test byte [esp + 0x30], 0x40
jne 0x1004b926
mov al, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x20], 6
mov dword [esp + 0x3c], 0x102c7940
jmp 0x1004b8e4
mov edi, dword [esp + 8]
push edi
call fcn.10043a80
add esp, 4
mov esi, eax
and esi, 0x7f
shl esi, 7
push edi
call fcn.10043a80
add esp, 4
mov ebx, eax
and ebx, 0x7f
or ebx, esi
push edi
call fcn.10043a80
add esp, 4
mov esi, eax
shl ebx, 0xe
and esi, 0x7f
shl esi, 7
or esi, ebx
push edi
call fcn.10043a80
add esp, 4
and eax, 0x7f
lea ecx, [eax + esi]
cmp byte [esp + 0x2c], 4
lea esi, [eax + esi - 4]
cmovne esi, ecx
test esi, esi
js 0x1004b926
push 0
push esi
push dword [esp + 0x10]
call fcn.10043970
add esp, 0xc
mov eax, dword [esp + 0x14]
sub eax, esi
add eax, 0xfffffffc
mov dword [esp + 0x14], eax
jns 0x1004b8dc
jmp 0x1004b926
movzx eax, byte [esp + 0x28]
mov ecx, 4
sub ecx, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], 0
cmp byte [esp + 0x28], 0
je 0x1004bb10
lea eax, [esp + 0x78]
push 3
push eax
push dword [esp + 0x10]
call fcn.10043ac0
add esp, 0xc
cmp eax, 3
jl 0x1004b8f2
mov byte [esp + 0x7b], 0
xor ebx, ebx
push dword [esp + 8]
call fcn.10043db0
add esp, 4
mov edi, eax
mov dword [esp + 0xc], 0
cmp edi, 0x10000000
ja 0x1004b8f2
mov eax, dword [esp + 0x20]
add eax, edi
sub dword [esp + 0x14], eax
js 0x1004b8f2
xor esi, esi
push 1
push esi
push esi
push dword [esp + 0x14]
call fcn.100433e0
add esp, 0x10
mov ecx, edi
add eax, edi
mov dword [esp + 0x24], eax
adc edx, esi
mov dword [esp + 0x40], edx
test edi, edi
je 0x1004bafd
test bl, 1
je 0x1004bacf
cmp edi, 4
jb 0x1004b8f2
push dword [esp + 8]
call fcn.10043e40
add esp, 4
add edi, 0xfffffffc
test bl, 0xc
je 0x1004bc26
push 0
push edi
push dword [esp + 0x10]
call fcn.10043970
add esp, 0xc
push 0
push dword [esp + 0x44]
push dword [esp + 0x2c]
push dword [esp + 0x14]
call fcn.100433e0
add esp, 0x10
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x14], eax
jge 0x1004ba2e
jmp 0x1004b8f2
lea eax, [esp + 0x78]
push 4
push eax
push dword [esp + 0x10]
call fcn.10043ac0
add esp, 0xc
cmp eax, 4
jl 0x1004b8f2
mov byte [esp + 0x7c], 0
push dword [esp + 8]
call fcn.10043e40
add esp, 4
mov edi, eax
cmp byte [esp + 0x2c], 3
je 0x1004bcd1
cmp edi, 0x80
jb 0x1004bcd1
cmp edi, dword [esp + 0x14]
jae 0x1004bca9
xor esi, esi
push 1
push esi
push esi
mov ebx, dword [esp + 0x14]
push ebx
call fcn.100433e0
add esp, 0x10
mov dword [esp + 0x24], eax
mov dword [esp + 0x40], edx
lea eax, [edi + 6]
push esi
push eax
push ebx
call fcn.10043f10
add esp, 0xc
test eax, eax
jne 0x1004b8f2
mov ebx, edi
mov eax, edi
and eax, 0x7f
mov ecx, edi
shr ecx, 1
and ecx, 0x3f80
or ecx, eax
mov eax, edi
shr eax, 2
and eax, 0x1fc000
or eax, ecx
shr ebx, 3
and ebx, 0xfe00000
or ebx, eax
mov eax, dword [esp + 0x24]
lea edx, [eax + ebx]
add edx, 2
mov ecx, dword [esp + 8]
call fcn.10176ef0
cmp eax, 1
jne 0x1004c047
push 0
push dword [esp + 0x44]
push dword [esp + 0x2c]
push dword [esp + 0x14]
call fcn.100433e0
add esp, 0x10
mov edi, ebx
jmp 0x1004bcd1
mov esi, ecx
lea eax, [ebx + 1]
mov cl, byte [ebx]
mov byte [esi - 1], cl
cmp eax, edi
je 0x1004bd92
cmp byte [ebx], 0xff
je 0x1004bc19
lea ecx, [esi + 1]
mov ebx, eax
cmp eax, edi
jne 0x1004bbf4
jmp 0x1004bd92
cmp byte [ebx + 1], 0
jne 0x1004bc0b
add ebx, 2
mov eax, ebx
jmp 0x1004bc0b
mov bl, byte [esp + 0x78]
cmp bl, 0x54
jne 0x1004bceb
cmp byte [esp + 0x30], 0
js 0x1004bd21
cmp dword [esp + 0xc], 0
jne 0x1004bd21
mov eax, dword [esp + 8]
mov dword [esp + 0xc], eax
cmp bl, 0x54
je 0x1004c01e
cmp dword [esp + 0x78], 0x544c5355
je 0x1004bd63
lea esi, [esp + 0x78]
push dword [esp + 0x3c]
push esi
call fcn.101460c0
add esp, 8
test eax, eax
je 0x1004bddd
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
call dword [section..00cfg]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push esi
push edi
push dword [esp + 0x1c]
push dword [ebp + 8]
call ecx
add esp, 0x18
jmp 0x1004bae7
mov eax, edi
and eax, 0x7f
mov ecx, edi
shr ecx, 1
and ecx, 0x3f80
or ecx, eax
mov eax, edi
shr eax, 2
and eax, 0x1fc000
or eax, ecx
shr edi, 3
and edi, 0xfe00000
or edi, eax
push dword [esp + 8]
call fcn.10043d40
add esp, 4
mov ebx, eax
and eax, 2
mov dword [esp + 0xc], eax
jmp 0x1004ba72
cmp dword [esp + 0x78], 0x544c5355
je 0x1004bc33
lea esi, [esp + 0x78]
push dword [esp + 0x3c]
push esi
call fcn.101460c0
add esp, 8
test eax, eax
je 0x1004bc33
cmp dword [ebp + 0x10], 0
jne 0x1004bf4c
jmp 0x1004bfee
lea eax, [esp + 0x64]
lea esi, [esp + 0x68]
push edi
push eax
push esi
call fcn.100605b0
add esp, 0xc
mov ebx, dword [esi]
test ebx, ebx
je 0x1004bae7
mov esi, edi
push edi
push ebx
push dword [esp + 0x10]
call fcn.10043ac0
add esp, 0xc
cmp eax, edi
jne 0x1004bae7
test edi, edi
jne 0x1004bf78
jmp 0x1004c00a
xor eax, eax
dec eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], eax
test edi, edi
jg 0x1004be89
push dword [esp + 0x70]
call sym.ffmpeg.dll_av_free
add esp, 4
jmp 0x1004bae7
mov eax, dword [esp + 0x68]
mov ecx, esi
sub ecx, eax
sub esp, 0x20
xorps xmm0, xmm0
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0xb0]
mov dword [esp], eax
mov dword [esp + 0x1c], 0
call fcn.101738b0
add esp, 0x20
sub esi, dword [esp + 0x68]
mov bl, byte [esp + 0x78]
mov edi, esi
lea eax, [esp + 0x90]
jmp 0x1004bc4d
mov dword [esp + 0x80], 0x102c4969
mov dword [esp + 0x70], 0xffffffff
cmp edi, 4
jl 0x1004bae7
mov ebx, dword [esp + 0xc]
push ebx
call fcn.10043a80
add esp, 4
mov esi, eax
push ebx
call fcn.101741e0
add esp, 4
add edi, 0xfffffffc
lea eax, [esp + 0x74]
mov dword [eax], edi
lea edi, [esp + 0x70]
mov ecx, ebx
mov edx, esi
push eax
mov ebx, edi
push edi
call fcn.10177160
add esp, 8
test eax, eax
js 0x1004bae7
mov eax, dword [esp + 0x70]
mov edi, 0x18
test eax, eax
jne 0x1004c083
mov ecx, dword [esp + 0xc]
mov edx, esi
lea eax, [esp + 0x74]
push eax
push ebx
call fcn.10177160
add esp, 8
test eax, eax
js 0x1004c0ae
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1004bae7
push edi
push eax
push dword [esp + 0x88]
push dword [esp + 0x1c]
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
jmp 0x1004bae7
mov ebx, dword [esp + 0xc]
push ebx
call fcn.10043a80
add esp, 4
mov esi, eax
lea eax, [esp + 0x80]
push 3
push eax
push ebx
call fcn.10043ac0
add esp, 0xc
cmp eax, 3
jl 0x1004bd81
mov byte [esp + 0x83], 0
add edi, 0xfffffffc
lea ebx, [esp + 0x74]
mov dword [ebx], edi
lea eax, [esp + 0x70]
mov ecx, dword [esp + 0xc]
mov edx, esi
push ebx
push eax
call fcn.10177160
add esp, 8
test eax, eax
js 0x1004bd81
lea eax, [esp + 0x6c]
mov ecx, dword [esp + 0xc]
mov edx, esi
push ebx
push eax
call fcn.10177160
add esp, 8
test eax, eax
js 0x1004bd81
mov eax, dword [esp + 0x70]
cmp byte [eax], 0
mov ecx, 0x102a8dba
mov edx, 0x102c795b
cmove edx, ecx
cmove eax, ecx
lea ecx, [esp + 0x80]
push ecx
push edx
push eax
push str.lyrics__s_s_s
call fcn.1018fe40
add esp, 0x10
mov ecx, dword [esp + 0x6c]
test eax, eax
je 0x1004c0ca
push 0xc
push ecx
push eax
push dword [esp + 0x1c]
call sym.ffmpeg.dll_av_dict_set
add esp, 0x10
jmp 0x1004bd81
cmp byte [esp + 0x28], 0
je 0x1004bf82
push dword [esp + 0x1c]
push 0x102c7a0c
push esi
call fcn.101316fd
add esp, 0xc
test eax, eax
je 0x1004c011
push dword [esp + 0x1c]
push 0x102c7a15
jmp 0x1004bfa1
add edi, ebx
lea ecx, [ebx + 1]
jmp 0x1004bbf4
push dword [esp + 0x1c]
push str.GEOB
push esi
call fcn.101316fd
add esp, 0xc
test eax, eax
je 0x1004c011
push dword [esp + 0x1c]
push str.APIC
push esi
call fcn.101316fd
add esp, 0xc
test eax, eax
je 0x1004c03a
push dword [esp + 0x1c]
push str.CHAP
push esi
call fcn.101316fd
add esp, 0xc
test eax, eax
je 0x1004c069
push dword [esp + 0x1c]
push str.PRIV
push esi
call fcn.101316fd
add esp, 0xc
mov dword [esp + 0x18], 0
test eax, eax
je 0x1004c076
test bl, bl
jne 0x1004bae7
push 0
push edi
push dword [esp + 0x10]
call fcn.10043970
add esp, 0xc
jmp 0x1004b8f2
mov esi, ebx
jmp 0x1004bd92
mov dword [esp + 0x18], 0x102c79bc
jmp 0x1004bc33
lea eax, [esp + 0x78]
mov ecx, dword [esp + 0xc]
mov edx, edi
push eax
push dword [esp + 0x14]
call fcn.10176fc0
add esp, 8
jmp 0x1004bae7
mov dword [esp + 0x18], 0x102c79cc
jmp 0x1004bc33
mov eax, dword [esp + 0x24]
lea edx, [eax + 2]
add edx, edi
mov ecx, dword [esp + 8]
call fcn.10176ef0
mov ebx, edi
cmp eax, 1
je 0x1004bbd7
jmp 0x1004b8f2
mov dword [esp + 0x18], str.CHAP
jmp 0x1004bc33
mov dword [esp + 0x18], str.PRIV
jmp 0x1004bc33
cmp byte [eax], 0
jne 0x1004c09d
push ebx
call fcn.10127460
add esp, 4
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1004be47
mov dword [esp + 0x80], eax
mov edi, 0x1c
jmp 0x1004be47
mov eax, edi
test al, 4
je 0x1004bae7
lea eax, [esp + 0x80]
push eax
call fcn.10127460
jmp 0x1004bd8a
push ecx
call sym.ffmpeg.dll_av_free
add esp, 4
jmp 0x1004bd81