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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x20c
mov dword [esp + 0x6c], eax
mov dword [esp + 0x88], edx
mov edx, eax
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x80], ecx
add eax, 0x80000000
or eax, dword [edx + 0x28]
je 0x4056c0
mov ecx, dword [esp + 0x220]
lea edi, [esp + 0x118]
mov dword [esp + 0x70], edi
test ecx, ecx
je 0x405cb0
mov esi, dword [esp + 0x220]
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x220]
mov edi, dword [esi + 8]
mov esi, dword [esi + 0xc]
lea eax, [esi - 0x80000000]
or eax, edi
mov eax, dword [esp + 0x6c]
je 0x4056d3
mov ebx, dword [eax + 4]
mov eax, dword [ebx + 8]
mov edx, dword [eax + 0xd0]
mov eax, dword [esp + 0x6c]
test edx, edx
mov ebp, dword [eax + 0xc]
je 0x4056b0
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0xf4240
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0x3c]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00aa0950
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0xf4240
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0x3c]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00aa0950
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
mov esi, dword [esp + 0x220]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0x80000000
mov edx, dword [esi + 4]
mov ecx, dword [esi]
lea eax, [edx - 0x80000000]
or eax, ecx
je 0x405462
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0xf4240
mov eax, dword [edi + 4]
mov esi, dword [eax + 0x38]
mov edi, dword [eax + 0x3c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
call fcn.00aa0950
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
test ebp, ebp
je 0x4056f1
mov eax, dword [esp + 0x12c]
test eax, eax
jle 0x405795
mov esi, dword [esp + 0x6c]
mov ecx, dword [esi + 0x28]
mov ebx, dword [esi + 0x2c]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], ebx
mov esi, dword [esp + 0x220]
cmp dword [esi + 0x14], eax
je 0x4054cf
mov eax, dword [esp + 0x6c]
mov edx, dword [esi + 0x18]
cmp dword [eax + 0x44], 1
mov dword [esp + 0xc], edx
mov dword [esp + 8], str.Multiple_frames_in_a_packet_from_stream__d_n
sbb eax, eax
and eax, 0xfffffff0
add eax, 0x28
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00aa0010
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x44], 1
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 4]
mov ebx, dword [eax + 8]
mov eax, dword [ebx + 0xd0]
cmp eax, 1
je 0x405dd5
cmp eax, 3
je 0x405f50
test eax, eax
jne 0x405f40
mov edi, dword [esp + 0x6c]
mov eax, dword [edi + 0x14]
test eax, eax
je 0x407a30
mov dword [esp], eax
call fcn.0052ca60
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x11c], esi
mov esi, dword [esp + 0xac]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], esi
test eax, eax
je 0x406295
mov esi, dword [esp + 0x6c]
mov ebx, dword [esi + 4]
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0xf4240
mov edi, dword [ebx + 0x3c]
mov esi, dword [ebx + 0x38]
mov dword [esp], eax
mov dword [esp + 0xc], edi
mov edi, eax
sar edi, 0x1f
mov dword [esp + 8], esi
mov dword [esp + 4], edi
call fcn.00aa0950
mov ebx, dword [ebx + 8]
mov esi, eax
test esi, esi
je 0x4076f0
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
add eax, 0x80000000
or edx, eax
je 0x4076f0
mov edx, esi
sar edx, 0x1f
add dword [esp + 0xa8], esi
adc dword [esp + 0xac], edx
lea eax, [esp + 0x1ec]
mov edi, dword [esp + 0x70]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x8c]
mov dword [esp], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 4], eax
call fcn.0052d590
test eax, eax
mov dword [esp + 0x84], eax
js 0x407914
mov edx, dword [0x131b0a0]
fldz
fstp dword [esp + 0xa0]
test edx, edx
je 0x405629
mov eax, dword [esp + 0x8c]
fild dword [eax + 0x48]
fstp dword [esp + 0xa0]
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0x80000000
test eax, eax
jne 0x4070b2
mov esi, dword [esp + 0x84]
test esi, esi
js 0x405aff
mov ebx, dword [esp + 0x220]
test ebx, ebx
je 0x40569e
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 4]
mov eax, dword [eax + 8]
cmp dword [eax + 0xd0], 1
mov eax, dword [esp + 0x12c]
je 0x406289
mov dword [esp + 0x84], eax
xor eax, eax
mov edx, dword [esp + 0x84]
add dword [esp + 0x128], edx
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x6c]
mov ebp, dword [eax + 0xc]
jmp 0x405462
test ebp, ebp
jne 0x4053cb
jmp 0x405391
mov ecx, edx
mov eax, dword [edx + 0x30]
mov edx, dword [edx + 0x34]
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
jmp 0x40532f
mov ebp, dword [eax + 0xc]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0x80000000
jmp 0x405403
mov edx, dword [esp + 0x6c]
mov eax, dword [edx]
shl eax, 5
add eax, dword [0x131b030]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x405d10
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 4]
mov esi, dword [eax + 0x28]
mov edi, dword [eax + 0x2c]
mov ecx, dword [edx + 8]
mov dword [eax + 0x30], esi
mov dword [eax + 0x34], edi
mov eax, dword [ecx + 0xd0]
test eax, eax
jne 0x405c57
mov ebx, dword [esp + 0x220]
mov eax, dword [ebx + 0x28]
test eax, eax
jne 0x405d93
mov ebx, dword [ecx + 0x20]
test ebx, ebx
je 0x4057b0
mov eax, dword [edx + 0x64]
test eax, eax
je 0x407d86
mov ebp, dword [eax + 0x24]
add ebp, 1
mov eax, 0xf4240
imul ebx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0x74]
mov edx, ebp
sar edx, 0x1f
imul eax, edx
imul ebx, ebp
add ebx, eax
mov eax, dword [esp + 0x70]
mul ebp
add edx, ebx
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x24]
mov dword [esp + 0x74], edx
jmp 0x405c75
mov ecx, dword [esp + 0x220]
test ecx, ecx
jne 0x4057b0
mov edx, dword [esp + 0x1ec]
test edx, edx
jne 0x405d76
nop
mov eax, dword [esp + 0x220]
test eax, eax
je 0x405af4
mov eax, dword [esp + 0x80]
test eax, eax
jle 0x405af4
mov ebx, dword [esp + 0x88]
xor ebp, ebp
jmp 0x4057f6
add ebp, 1
add ebx, 0x228
cmp dword [esp + 0x80], ebp
jle 0x405af4
mov eax, dword [esp + 0x6c]
mov edx, ebx
call fcn.00401a50
test eax, eax
je 0x4057e0
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x4057e0
mov eax, dword [ebx]
mov esi, dword [0x131b028]
lea eax, [eax + eax*4]
shl eax, 3
add eax, esi
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x70]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0xf4240
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00aa0950
mov esi, eax
mov edi, edx
lea eax, [esp + 0x160]
mov dword [esp], eax
call fcn.00531340
mov eax, dword [ebx + 0x14]
test eax, eax
jne 0x405890
mov edx, dword [esp + 0x220]
test byte [edx + 0x1c], 1
jne 0x405890
mov eax, dword [ebx + 0x220]
test eax, eax
je 0x4057e0
lea esi, [esi]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx + 8]
mov eax, dword [eax + 0xd0]
cmp eax, 1
je 0x405c30
test eax, eax
mov edx, dword [esp + 0x220]
je 0x405ba0
mov edx, dword [edx + 0x14]
mov dword [esp + 0x8c], edx
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x220]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x220]
mov edx, dword [edx]
mov eax, dword [eax + 4]
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], eax
add eax, 0x80000000
or eax, edx
je 0x405c05
mov eax, dword [esp + 0x6c]
mov edx, dword [ecx + 0x3c]
mov eax, dword [eax + 4]
mov dword [esp + 0x78], eax
mov eax, dword [ecx + 0x38]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x88]
mov edx, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x3c]
mov dword [esp], eax
mov dword [esp + 8], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
call fcn.00aa0950
sub eax, esi
sbb edx, edi
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], edx
mov edx, dword [esp + 0x220]
mov ecx, dword [esp + 0x220]
mov edx, dword [edx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x88], edx
mov eax, ecx
mov dword [esp + 0x84], ecx
mov ecx, dword [ebx + 0xc]
add eax, 0x80000000
or eax, edx
mov eax, dword [ecx + 0x38]
mov edx, dword [ecx + 0x3c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
je 0x405bd2
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0x38]
mov edx, dword [edx + 0x3c]
mov dword [esp + 0x54], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00aa0950
mov ecx, dword [esp + 0x54]
sub eax, esi
mov esi, dword [esp + 0x78]
sbb edx, edi
mov dword [esp + 0x168], eax
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x16c], edx
mov edx, dword [ecx + 0x3c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov esi, dword [esp + 0x220]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [esp + 0x54], ecx
mov edi, eax
sar edi, 0x1f
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00aa0950
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x188], eax
mov eax, dword [esi + 0x1c]
mov edx, dword [ecx + 0xd4]
mov dword [esp + 0x17c], eax
cmp edx, 1
je 0x405b11
cmp edx, 0x1c
je 0x405b11
cmp edx, 2
je 0x405b11
mov esi, dword [esp + 0x8c]
and eax, 1
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x78]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x220]
mov eax, dword [esi + 0x10]
mov dword [esp + 4], ecx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x174]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x170]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x64]
mov dword [esp], eax
call fcn.00532e00
test eax, eax
je 0x405aa5
mov dword [esp + 0x18c], fcn.005312d0
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x70]
mov ecx, dword [eax + 8]
mov eax, dword [esi]
mov edx, dword [eax + 8]
test byte [edx + 0x28], 0x20
jne 0x405b3f
nop
mov edx, dword [ebx + 0x28]
mov dword [esp], edx
lea edx, [esp + 0x160]
call fcn.00404b20
mov eax, dword [ebx + 0xc]
lea edx, [esp + 0x160]
mov eax, dword [eax + 8]
add dword [eax + 0x4c], 1
add dword [ebx + 0x14], 1
mov dword [esp], edx
call fcn.00531940
jmp 0x4057e0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x84]
add esp, 0x20c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x220]
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x10]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x174], edi
mov dword [esp + 0x170], eax
mov eax, dword [esi]
mov edx, dword [eax + 8]
test byte [edx + 0x28], 0x20
je 0x405ac0
mov eax, dword [ecx + 0x2c]
lea edi, [esp + 0x1cc]
mov dword [esp + 0x10], eax
mov eax, dword [ecx + 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 0x34]
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 4], eax
call fcn.00529fc0
lea eax, [esp + 0x1cc]
or dword [esp + 0x17c], 1
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], 0x20
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + 8]
mov eax, dword [esi]
jmp 0x405ac0
mov eax, dword [edx + 0x14]
mov edx, eax
sar edx, 0x1f
add dword [0x131b0f8], eax
mov eax, dword [esp + 0x220]
adc dword [0x131b0fc], edx
add dword [ebx + 0x20], 1
adc dword [ebx + 0x24], 0
mov eax, dword [eax + 0x14]
mov dword [esp + 0x8c], eax
jmp 0x4058be
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0xf4240
mov eax, dword [edx + 0x30]
mov edx, dword [edx + 0x34]
mov dword [esp + 0x54], ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00aa0950
mov ecx, dword [esp + 0x54]
jmp 0x4059c3
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0x80000000
mov eax, dword [eax + 4]
mov dword [esp + 0x78], eax
jmp 0x40594d
mov eax, dword [esp + 0x220]
mov eax, dword [eax + 0x14]
mov edx, eax
sar edx, 0x1f
add dword [0x131b0e8], eax
adc dword [0x131b0ec], edx
mov dword [esp + 0x8c], eax
jmp 0x4058be
cmp eax, 1
jne 0x4057b0
mov eax, dword [ecx + 0x48]
mov ebx, 0xf4240
imul ebx
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0x74], edx
mov ecx, dword [esp + 0x70]
mov edx, eax
mov ebx, dword [esp + 0x74]
sar edx, 0x1f
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.00de3110
mov ebx, dword [esp + 0x6c]
add eax, esi
adc edx, edi
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], edx
jmp 0x4057b0
mov dword [esp], edi
call fcn.00531340
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0xa8], 0
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0xac], 0x80000000
mov dword [esp + 0x78], 0
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
mov dword [esp + 0x7c], 0x80000000
jmp 0x4054cf
mov dword [esp + 0x10], 0xf4240
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0xf4240
mov dword [esp + 0xc], 0
mov eax, dword [edx + 0x30]
mov edx, dword [edx + 0x34]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00aa0900
mov ebx, edx
mov esi, eax
call fcn.004746c0
mov edi, dword [esp + 0x6c]
sub eax, dword [edi + 0x20]
sbb edx, dword [edi + 0x24]
cmp ebx, edx
jl 0x40570b
jg 0x405d67
cmp esi, eax
jbe 0x40570b
sub esi, eax
mov dword [esp], esi
call fcn.00de38f0
jmp 0x40570b
mov edx, dword [esp + 0x6c]
test eax, eax
mov ecx, dword [edx + 0x28]
mov ebx, dword [edx + 0x2c]
mov dword [edx + 0x30], ecx
mov dword [edx + 0x34], ebx
jne 0x405489
jmp 0x4054cf
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0xf4240
mov ecx, dword [edx + 0x38]
mov ebx, dword [edx + 0x3c]
mov edx, eax
sar edx, 0x1f
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edx
call fcn.00aa0950
mov ecx, dword [esp + 0x6c]
add eax, esi
adc edx, edi
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
jmp 0x4057b0
mov eax, dword [ebx + 0x44]
mov dword [esp], eax
call fcn.00aa0e60
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x8c], eax
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x407be8
mov dword [esp], eax
call fcn.0052ca60
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
mov eax, dword [eax + 0x14]
mov dword [esp + 0xc], edi
mov dword [esp], ebx
mov dword [esp + 0xf0], eax
mov esi, dword [esp + 0xf0]
lea eax, [esp + 0x1ec]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
call fcn.0052d930
test eax, eax
mov dword [esp + 0x84], eax
js 0x405aff
mov eax, dword [esp + 0x1ec]
test eax, eax
je 0x405648
mov eax, dword [esp + 0xf0]
mov edi, dword [eax + 0x3c]
mov esi, dword [eax + 0x38]
lea eax, [edi - 0x80000000]
or eax, esi
je 0x407bd9
mov edx, dword [esp + 0xf0]
mov ecx, 0xf4240
mov eax, ecx
mov ebp, dword [edx + 0xf0]
imul ebp
mov dword [esp + 0x90], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x94], edx
mov ecx, dword [esp + 0x94]
mov edx, eax
sar edx, 0x1f
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], edx
call fcn.00de3110
mov ecx, dword [esp + 0x6c]
add eax, esi
mov esi, dword [0xe4501c]
adc edx, edi
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
cmp esi, 0x100
je 0x406358
mov eax, dword [ebx + 0x40]
mov edi, dword [esp + 0x8c]
imul eax, ebp
imul edi, eax
mov eax, dword [esp + 0xf0]
cmp dword [ebx + 0x44], 4
mov ecx, dword [eax]
jbe 0x40774c
mov edi, dword [esp + 0x6c]
mov eax, dword [edi + 4]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x44]
mov dword [esp], eax
call fcn.00aa0c50
mov dword [esp + 8], str.Audio_volume_adjustment_on_sample_format__s_is_not_supported._n
mov dword [esp + 4], 8
mov dword [esp], 0
mov dword [esp + 0xc], eax
call fcn.00aa0010
mov dword [esp], 1
call fcn.00403370
lea esi, [esi]
mov dword [esp + 0x84], 0xffffffff
jmp 0x405aff
mov edi, dword [esp + 0x70]
lea eax, [esp + 0x1ec]
mov dword [esp + 8], eax
lea eax, [esp + 0x1a8]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 0xc], edi
call fcn.0052dbc0
test eax, eax
mov dword [esp + 0x84], eax
js 0x405aff
mov edi, dword [esp + 0x1ec]
test edi, edi
je 0x405648
mov edx, dword [esp + 0x6c]
mov eax, dword [edx]
shl eax, 5
add eax, dword [0x131b030]
mov esi, dword [eax + 0x1c]
test esi, esi
jne 0x407cfb
mov ebx, dword [0x131b068]
test ebx, ebx
jle 0x40709e
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
jmp 0x405ffa
add dword [esp + 0xa0], 1
mov esi, dword [esp + 0xa0]
add dword [esp + 0x98], 0x228
cmp esi, dword [0x131b068]
jge 0x40709e
mov ebp, dword [esp + 0x98]
add ebp, dword [0x131b048]
mov eax, dword [esp + 0x6c]
mov edx, ebp
call fcn.00401a50
test eax, eax
je 0x405fd4
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x405fd4
mov eax, dword [ebp]
mov edx, dword [0x131b028]
mov esi, dword [esp + 0x11c]
mov ebx, dword [esp + 0x118]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x6c]
lea eax, [edx + eax*8]
mov eax, dword [eax]
mov dword [esp + 0xb0], ebx
add edi, 4
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], eax
mov eax, esi
add eax, 0x80000000
or eax, ebx
mov dword [esp + 0xc4], edi
je 0x407f00
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x90], eax
mov eax, dword [0x131b100]
test eax, eax
je 0x408000
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x8c], 0
cmp dword [ebx + 0xd4], 0x17001
sete bl
movzx ebx, bl
add ebx, 1
mov dword [esp + 0xb8], ebx
jmp 0x4060ee
mov eax, dword [ebp + 0x28]
lea edx, [esp + 0x160]
mov ecx, dword [esi + 8]
mov dword [esp], eax
mov eax, dword [esp + 0xc0]
call fcn.00404b20
mov ebx, dword [esp + 0xb8]
add dword [esp + 0x8c], 1
cmp dword [esp + 0x8c], ebx
jge 0x405fd4
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x10], 1
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x14], 0xf4240
mov ebx, dword [esp + 0xbc]
mov eax, dword [esi]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
call fcn.00aa0950
mov ebx, dword [esp + 0x1ac]
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0xf4240
mov dword [esp + 8], 1
mov dword [esp], ebx
mov dword [esp + 0xc], 0x3e8
mov dword [esp + 4], 0
mov esi, eax
mov edi, edx
call fcn.00aa0950
mov dword [esp + 0x1ac], 0
mov dword [esp + 8], 0x100000
add eax, esi
adc edx, edi
mov edi, dword [esp + 0x90]
mov dword [esp + 0x1c0], eax
mov eax, dword [0x131b100]
lea esi, [esp + 0x1a8]
sub dword [esp + 0x1b0], ebx
mov dword [esp + 0x1c4], edx
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0052d530
test eax, eax
mov ebx, eax
js 0x408053
lea eax, [esp + 0x160]
mov dword [esp], eax
call fcn.00531340
mov eax, dword [ebp + 4]
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], eax
mov eax, dword [0x131b100]
mov dword [esp + 0x170], eax
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0xf4240
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x1c4]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00aa0950
mov edi, dword [esp + 0x90]
cmp dword [edi + 0xd4], 0x17001
mov ecx, eax
mov ebx, edx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], edx
jne 0x4060b6
mov edi, dword [esp + 0x8c]
test edi, edi
jne 0x40627f
imul eax, dword [esp + 0x1ac], 0x5a
xor edx, edx
add eax, ecx
adc edx, ebx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], edx
jmp 0x4060b6
imul eax, dword [esp + 0x1b0], 0x5a
jmp 0x406266
sub eax, dword [esp + 0x84]
jmp 0x405689
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 4]
mov ebx, dword [eax + 8]
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x40770b
mov eax, dword [eax + 0x64]
test eax, eax
je 0x407ff5
mov esi, dword [eax + 0x24]
add esi, 1
mov edi, 0xf4240
mov eax, ecx
imul edi
mov ebp, esi
sar ebp, 0x1f
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x7c]
imul eax, ebp
imul ecx, esi
lea edi, [ecx + eax]
mov eax, dword [esp + 0x78]
mul esi
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x24]
add edx, edi
mov dword [esp + 0x7c], edx
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov edx, eax
sar edx, 0x1f
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], edi
call fcn.00de3110
mov esi, eax
jmp 0x40559a
test edi, edi
je 0x406358
xor edx, edx
jmp 0x40632b
mov esi, dword [0xe4501c]
movzx eax, byte [ecx + edx]
add eax, 0xffffff80
imul eax, esi
sub eax, 0xffffff80
sar eax, 8
sub eax, 0xffffff80
test eax, 0xffffff00
mov ebx, eax
je 0x40634e
neg eax
mov ebx, eax
sar ebx, 0x1f
mov byte [ecx + edx], bl
add edx, 1
cmp edx, edi
jne 0x406325
mov edx, dword [esp + 0x6c]
mov eax, dword [edx]
shl eax, 5
add eax, dword [0x131b030]
mov ebp, dword [eax + 0x1c]
test ebp, ebp
jne 0x4078ae
mov edi, dword [0x131b068]
test edi, edi
jle 0x405648
mov dword [esp + 0xbc], 0
jmp 0x4063ab
add dword [esp + 0xbc], 1
mov esi, dword [esp + 0xbc]
cmp esi, dword [0x131b068]
jge 0x405648
imul ebp, dword [esp + 0xbc], 0x228
add ebp, dword [0x131b048]
mov eax, dword [esp + 0x6c]
mov edx, ebp
call fcn.00401a50
test eax, eax
je 0x406390
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x406390
mov eax, dword [ebp]
mov ebx, dword [0x131b028]
mov edx, dword [esp + 0x6c]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov eax, dword [eax]
mov dword [esp + 0xd4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x8c], eax
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x8c]
mov eax, dword [eax + 8]
mov dword [esp + 0x90], eax
mov eax, dword [ecx + 0x44]
mov dword [esp], eax
call fcn.00aa0e60
mov ebx, dword [esp + 0x90]
mov dword [esp + 0xb8], eax
mov eax, dword [ebx + 0x44]
mov dword [esp], eax
call fcn.00aa0e60
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xc4], eax
mov eax, dword [ecx + 0x78]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00530170
mov ebx, dword [esp + 0xf0]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0xf0]
mov ebx, dword [ebx]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xdc], ebx
mov ebx, dword [esi + 0x40]
mov eax, ebx
imul eax, dword [edi + 0xf0]
imul eax, dword [esp + 0xc4]
mov edx, eax
sar edx, 0x1f
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov esi, dword [esp + 0xc8]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0xcc]
shl edx, 3
mov dword [esp + 0xd8], edx
mov dword [esp + 0xe0], eax
mov edx, eax
mov eax, dword [esp + 0xd8]
sar edx, 0x1f
mov dword [esp + 0xa0], esi
mov esi, dword [esp + 0x90]
mov dword [esp + 0xe4], edx
mov edx, eax
sar edx, 0x1f
mov dword [esp + 0xe8], eax
mov eax, ebx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xec], edx
lea esi, [esi]
imul eax, dword [esp + 0xc4]
mov edx, dword [esp + 0xa4]
mov ecx, eax
mov ebx, eax
mov eax, dword [esi + 0x3c]
sar ebx, 0x1f
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x98], eax
mov edi, eax
mov eax, dword [esp + 0xa0]
sar edi, 0x1f
mov dword [esp + 0x9c], edi
add eax, ecx
adc edx, ebx
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00de3110
mov ebx, eax
mov eax, dword [esp + 0x8c]
mov ecx, edx
mov esi, dword [eax + 0x3c]
mov edx, esi
sar edx, 0x1f
mov eax, edx
imul eax, ebx
imul ecx, esi
add ecx, eax
mov eax, ebx
mov ebx, dword [esp + 0x9c]
mul esi
mov dword [esp + 0xc], ebx
mov esi, eax
mov eax, dword [esp + 0x98]
mov edi, edx
mov edx, dword [esp + 0x9c]
add edi, ecx
mov ecx, dword [esp + 0x98]
add eax, esi
adc edx, edi
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00de3110
mov ecx, dword [esp + 0x8c]
mov ebx, dword [ecx + 0x48]
add eax, 0x1388
adc edx, 0
mov edi, ebx
shld edx, eax, 1
add eax, eax
sar edi, 0x1f
mov ecx, eax
cmp edx, edi
mov dword [esp + 0x3c], edx
jg 0x4065ef
jl 0x4065e9
cmp eax, ebx
jae 0x4065ef
mov ecx, ebx
mov dword [esp + 0x3c], edi
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0xb8]
mov esi, dword [esi + 0x40]
imul edi, esi
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x3c]
mov eax, edi
sar eax, 0x1f
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
imul esi, edi
mov dword [esp + 0xb0], edi
imul eax, ecx
add esi, eax
mov eax, edi
mul ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xb8]
add edx, esi
mov dword [esp + 0x9c], edx
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x9c]
imul eax, ebx
imul eax, dword [esp + 0x68]
mov ebx, eax
mov ecx, eax
sar ebx, 0x1f
cmp edx, ebx
jg 0x406678
jl 0x406674
cmp dword [esp + 0x98], eax
jae 0x406678
mov esi, ecx
mov edi, ebx
mov ecx, dword [esp + 0xd8]
cmp dword [esp + 0xc0], ecx
jle 0x4066d2
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0xec]
imul eax, edi
imul edx, esi
mov dword [esp + 0xc], ebx
lea ecx, [eax + edx]
mov eax, dword [esp + 0xc0]
mul esi
mov edi, edx
add edi, ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], ecx
call fcn.00de3110
mov esi, eax
mov edi, edx
mov ecx, esi
mov ebx, edi
add ecx, 0x4000
adc ebx, 0
cmp ebx, 0
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], ebx
jle 0x406720
mov dword [esp + 8], str.Buffer_sizes_too_large_n
mov dword [esp + 4], 8
mov dword [esp], 0
call fcn.00aa0010
mov dword [esp], 1
call fcn.00403370
lea esi, [esi]
jl 0x40672a
cmp ecx, 0x7fffffff
ja 0x4066f2
cmp dword [esp + 0x9c], 0
jg 0x4066f2
jl 0x406743
cmp dword [esp + 0x98], 0x7fffffff
ja 0x4066f2
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], 0x131b058
mov dword [esp], 0x131b04c
mov dword [esp + 8], ebx
call fcn.0052c190
mov esi, dword [esp + 0xb0]
mov dword [esp + 4], 0x131b054
mov dword [esp], 0x131b050
mov dword [esp + 8], esi
call fcn.0052c190
mov eax, dword [0x131b04c]
test eax, eax
je 0x408016
mov edi, dword [0x131b050]
test edi, edi
je 0x408016
mov edi, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
mov ebx, dword [edi + 0x40]
cmp dword [ecx + 0x40], ebx
je 0x406fa0
mov edx, dword [edi + 0x44]
mov dword [ebp + 0x190], 1
mov ecx, 1
cmp dword [ebp + 0x1d8], edx
mov eax, 1
je 0x406f7a
test ecx, ecx
je 0x4067eb
mov esi, dword [ebp + 0x1f0]
test esi, esi
je 0x407044
test eax, eax
je 0x406f3b
mov dword [esp], edx
call fcn.00aa0c50
mov ecx, dword [esp + 0x90]
mov edx, dword [ebp + 0x1dc]
mov edi, dword [ecx + 0x3c]
mov esi, eax
mov eax, dword [ebp + 0x1d8]
mov dword [esp + 0x54], edx
mov dword [esp], eax
call fcn.00aa0c50
mov edx, dword [esp + 0x54]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x1e0]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [ebx]
mov dword [esp + 8], str.Input_stream__d:_d_frame_changed_from_rate:_d_fmt:_s_ch:_d_to_rate:_d_fmt:_s_ch:_d_n
mov dword [esp + 4], 0x20
mov dword [esp], 0
mov dword [esp + 0xc], eax
call fcn.00aa0010
mov esi, dword [esp + 0x90]
mov eax, dword [esi + 0x44]
mov dword [ebp + 0x1d8], eax
mov eax, dword [esi + 0x40]
mov dword [ebp + 0x1dc], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0x1e0], eax
lea eax, [ebp + 0x1f0]
mov dword [esp], eax
call fcn.00a5fbd0
mov edx, dword [esi + 0x44]
cmp dword [0x131b084], 1
jle 0x406f4e
mov edi, dword [esp + 0x8c]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov ebx, dword [esi + 0x3c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ebx
mov ebx, esi
mov esi, dword [esi + 0x338]
mov edi, dword [ebx + 0x33c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
mov eax, dword [ecx + 0x338]
mov edx, dword [ecx + 0x33c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp + 0x1f0]
mov dword [esp], eax
call fcn.00a5f9b0
mov edx, dword [ebp + 0x1d4]
test edx, edx
mov dword [ebp + 0x1f0], eax
jne 0x407027
mov dword [esp + 0x10], 0
fld dword [ebp + 0x1e4]
fstp qword [esp + 8]
mov dword [esp + 4], 0xe69d0d
mov dword [esp], eax
call fcn.00aa3160
mov eax, dword [ebp + 0x1d4]
test eax, eax
jne 0x406fc3
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x10], 0
mov eax, dword [ecx + 0x40]
mov dword [esp + 4], 0xe69d1b
mov ebx, eax
sar ebx, 0x1f
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x1f0]
mov dword [esp], eax
call fcn.00aa30e0
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x10], 0
mov eax, dword [ecx + 0x40]
mov dword [esp + 4], 0xe69d1f
mov ebx, eax
sar ebx, 0x1f
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov eax, dword [ebp + 0x1f0]
mov dword [esp], eax
call fcn.00aa30e0
cmp dword [0x131b084], 1
jle 0x406a0b
mov dword [esp + 0x10], 0
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0xe697c8
mov eax, dword [ebp + 0x1f0]
mov dword [esp], eax
call fcn.00aa30e0
mov eax, dword [ebp + 0x1f0]
test eax, eax
je 0x408060
mov dword [esp], eax
call fcn.00a5fe60
test eax, eax
js 0x407051
mov eax, dword [ebp + 0x1f0]
test eax, eax
je 0x408060
mov ecx, dword [ebp + 0x190]
test ecx, ecx
jne 0x406a5d
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x90]
mov eax, dword [ecx + 0x44]
mov edx, dword [ebx + 0x44]
cmp eax, edx
jne 0x4080b2
mov edi, dword [0x131b084]
mov eax, dword [ebp]
mov edx, dword [ebp + 0x18]
test edi, edi
lea eax, [eax + eax*4]
je 0x407b26
mov esi, dword [0x131b028]
mov ecx, dword [edx + 0x30]
mov ebx, dword [edx + 0x34]
lea eax, [esi + eax*8]
sub ecx, dword [eax + 0x18]
sbb ebx, dword [eax + 0x1c]
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xfc], ebx
fild qword [esp + 0xf8]
fstp qword [esp + 0x100]
fld qword [esp + 0x100]
fld dword [0xe6cdc4]
fdivp st(1)
fstp qword [esp + 0x100]
fld qword [esp + 0x100]
fild dword [ecx + 0x3c]
fmulp st(1)
fild qword [ebp + 0x20]
fstp qword [esp + 0x100]
mov eax, dword [ebp + 0x1e8]
fld qword [esp + 0x100]
fsubp st(1)
mov dword [esp], eax
fstp xword [esp + 0x40]
call fcn.00aa49d0
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0xb8]
imul ebx, dword [ecx + 0x40]
mov ecx, dword [esp + 0x90]
mov edx, eax
sar edx, 0x1f
idiv ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x108], eax
fild dword [esp + 0x108]
fld xword [esp + 0x40]
fsubrp st(1)
fstp qword [esp + 0x100]
mov eax, dword [ecx + 0x3c]
fld qword [esp + 0x100]
mov ecx, dword [esp + 0x8c]
fld st(0)
fabs
fld dword [0xe6ce7c]
fxch st(1)
fucomi st(1)
fstp st(1)
mov edx, dword [ecx + 0x3c]
mov ecx, dword [ebx + 0x40]
jbe 0x406cef
mov esi, dword [esp + 0x6c]
mov ebx, dword [esi + 0x40]
test ebx, ebx
jne 0x406b9e
fld dword [0xe45008]
mov dword [esp + 0x108], edx
fild dword [esp + 0x108]
fstp dword [esp + 0x10c]
fld dword [esp + 0x10c]
fmulp st(1)
fxch st(1)
fucompi st(1)
fstp st(0)
ja 0x406ba0
jmp 0x407f30
fstp st(0)
mov dword [esp + 0x108], eax
mov ebx, dword [esp + 0xc4]
fild dword [esp + 0x108]
mov dword [esp + 0x108], edx
fnstcw word [esp + 0xf6]
fmulp st(1)
movzx eax, word [esp + 0xf6]
fild dword [esp + 0x108]
mov ah, 0xc
mov word [esp + 0xf4], ax
fdivp st(1)
fldcw word [esp + 0xf4]
fistp dword [esp + 0x3c]
fldcw word [esp + 0xf6]
imul ebx, dword [esp + 0x3c]
imul ebx, ecx
test ebx, ebx
js 0x4079c0
mov edx, dword [esp + 0xd0]
mov eax, dword [0x131b05c]
add edx, ebx
mov dword [esp + 0x38], edx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00aa00f0
mov esi, dword [esp + 0xa0]
mov ecx, ebx
mov edi, dword [esp + 0xa4]
sar ecx, 0x1f
mov edx, ebx
sub esi, dword [esp + 0xc8]
sbb edi, dword [esp + 0xcc]
mov dword [esp + 0xa0], esi
cmp ecx, edi
mov dword [0x131b05c], eax
mov dword [esp + 0xa4], edi
jge 0x406f02
mov ecx, dword [esp + 0x90]
mov edx, eax
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
cmp dword [ecx + 0x44], 1
mov dword [eax + 0x40], 0
mov dword [esp], edx
sbb eax, eax
and eax, 0x80
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memset
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd0]
add ebx, dword [0x131b05c]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov ebx, dword [0x131b05c]
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.adding__d_audio_samples_of_silence_n
mov dword [esp + 4], 0x28
mov dword [esp + 0xdc], ebx
mov dword [esp], 0
call fcn.00aa0010
mov dword [esp + 0xd0], esi
jmp 0x406cf7
fstp st(0)
fstp st(0)
jmp 0x406cf7
fstp st(0)
mov edi, dword [ebp + 0x190]
test edi, edi
jne 0x407a50
mov ebx, dword [esp + 0x8c]
mov esi, dword [ebx + 0x44]
mov ebx, dword [esp + 0x90]
cmp dword [ebx + 0x44], esi
jne 0x4080f8
mov ecx, dword [esp + 0x8c]
cmp dword [ecx + 0x48], 1
jle 0x407929
mov eax, dword [ebp + 0x1e8]
mov dword [esp], eax
call fcn.00aa49d0
add eax, dword [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x1e8]
mov dword [esp], eax
call fcn.00aa49f0
test eax, eax
js 0x4080eb
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov eax, dword [ebp + 0x1e8]
mov dword [esp], eax
call fcn.00aa4b40
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0xb8]
mov edi, dword [esp + 0xb0]
imul ebx, dword [ecx + 0x48]
imul ebx, dword [ecx + 0x40]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], ebx
mov ebx, ecx
jmp 0x406e72
mov edx, ecx
sar edx, 0x1f
add dword [0x131b0e8], eax
mov eax, dword [ebp + 4]
adc dword [0x131b0ec], edx
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], eax
mov eax, dword [0x131b050]
mov dword [esp + 0x170], eax
mov eax, dword [ebx + 0x184]
test eax, eax
je 0x406e41
mov edx, dword [eax + 0x3c]
mov ecx, dword [eax + 0x38]
lea eax, [edx - 0x80000000]
or eax, ecx
je 0x406e41
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x38]
mov edi, dword [eax + 0x3c]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov esi, dword [ebx + 0x20]
mov edi, dword [ebx + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
call fcn.00aa0950
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], edx
mov eax, dword [ebp + 0x28]
lea edx, [esp + 0x160]
mov ecx, ebx
or dword [esp + 0x17c], 1
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
call fcn.00404b20
mov eax, dword [ebx + 0x48]
mov edx, eax
sar edx, 0x1f
add dword [ebp + 0x20], eax
adc dword [ebp + 0x24], edx
mov eax, dword [ebp + 0x1e8]
mov dword [esp], eax
call fcn.00aa49d0
cmp dword [esp + 0x90], eax
jg 0x406390
lea esi, [esp + 0x160]
mov dword [esp], esi
call fcn.00531340
mov eax, dword [0x131b04c]
mov edi, dword [esp + 0x90]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov eax, dword [ebp + 0x1e8]
mov dword [esp], eax
call fcn.00aa4bf0
mov eax, dword [0x131b04c]
mov esi, dword [esp + 0x8c]
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov eax, dword [0x131b050]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
call fcn.0052d410
test eax, eax
mov ecx, eax
jns 0x406dc0
mov dword [esp + 8], str.Audio_encoding_failed_n
jmp 0x4066fa
jg 0x406f0c
cmp ebx, esi
jbe 0x406c5e
mov ebx, dword [esp + 0xc8]
mov esi, dword [esp + 0xcc]
add ebx, edx
adc esi, ecx
mov dword [esp + 0xa4], esi
mov esi, dword [esp + 0x90]
mov dword [esp + 0xa0], ebx
mov eax, dword [esi + 0x40]
jmp 0x406510
mov ebx, dword [ebp + 0x1d4]
test ebx, ebx
jne 0x4068a3
jmp 0x406a3d
mov ecx, dword [ebp + 0x1d4]
test ecx, ecx
jne 0x4068b0
mov ecx, dword [esp + 0x8c]
mov eax, dword [ecx + 0x44]
cmp dword [ebp + 0x1d8], eax
je 0x407080
mov ecx, dword [ecx + 0x3c]
jmp 0x4068bd
cmp ebx, dword [ebp + 0x1dc]
jne 0x4067d9
mov edi, dword [esp + 0x90]
xor eax, eax
mov edi, dword [edi + 0x3c]
cmp dword [ebp + 0x1e0], edi
setne al
jmp 0x4067d9
mov edx, dword [edi + 0x44]
cmp dword [ecx + 0x44], edx
jne 0x4067b9
mov esi, dword [edi + 0x3c]
cmp dword [ecx + 0x3c], esi
jne 0x4067b9
mov ecx, dword [ebp + 0x190]
jmp 0x4067c8
mov dword [esp], eax
call fcn.00aa5390
mov dword [esp + 0x10], 0
mov dword [esp + 4], 0xe69d13
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x1f0]
mov dword [esp], eax
call fcn.00aa30e0
mov dword [esp + 0x10], 0
mov eax, dword [ebp + 0x1d4]
mov dword [esp + 4], 0xe69d17
mov edx, eax
sar edx, 0x1f
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebp + 0x1f0]
mov dword [esp], eax
call fcn.00aa30e0
jmp 0x40696a
lea edx, [ebp + 0x194]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00a5f950
mov eax, dword [ebp + 0x1f0]
jmp 0x40693a
test eax, eax
je 0x4068a3
jmp 0x4067f3
mov dword [esp + 8], str.swr_init___failed_n
mov dword [esp + 4], 8
mov dword [esp], 0
call fcn.00aa0010
lea eax, [ebp + 0x1f0]
mov dword [esp], eax
call fcn.00a5fbd0
jmp 0x406a29
mov ecx, dword [ecx + 0x40]
cmp dword [ebp + 0x1dc], ecx
je 0x407d61
mov ebx, dword [esp + 0x8c]
mov ecx, dword [ebx + 0x3c]
jmp 0x4068bd
lea edi, [esp + 0x1a8]
mov dword [esp], edi
call fcn.0052dcb0
jmp 0x405648
call fcn.0052c120
mov edx, dword [esp + 0x8c]
invalid
inc esp
and al, 8