Function at 0x4f94e0
Capabilities:
Get geographical location
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6219fc
mov eax, dword fs:[0]
push eax
sub esp, 0x230
mov eax, dword [0x7161c0]
xor eax, esp
mov dword [esp + 0x228], eax
push ebx
push esi
push edi
mov eax, dword [0x7161c0]
xor eax, esp
push eax
lea eax, [esp + 0x240]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor esi, esi
cmp edi, esi
mov ebx, ecx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x5c], esi
jne 0x4f953d
mov eax, 0x80004003
jmp 0x4fc3b1
mov ecx, dword [ebx + 0x2e0]
cmp ecx, esi
mov dword [esp + 0xa4], 0x80004005
je 0x4f955b
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 1
call edx
lea ecx, [ebx + 0x2e4]
mov dword [ebx + 0x2e0], esi
call fcn.004f75b0
push 0xffffffffffffffff
lea ecx, [ebx + 0x314]
push esi
call fcn.004f6ef0
lea ecx, [esp + 0x120]
call fcn.0049c800
lea ecx, [esp + 0x110]
mov dword [esp + 0x248], esi
call fcn.0049c800
push 0x228
mov byte [esp + 0x24c], 1
call fcn.005b4633
add esp, 4
mov dword [esp + 0x64], eax
cmp eax, esi
mov byte [esp + 0x248], 2
je 0x4f95d0
lea ecx, [esp + 0xa4]
push ecx
push edi
mov ecx, eax
call fcn.0052fd90
jmp 0x4f95d2
xor eax, eax
cmp eax, esi
mov byte [esp + 0x248], 1
mov dword [ebx + 0x2e0], eax
jne 0x4f9606
lea ecx, [esp + 0x110]
call fcn.00598980
lea ecx, [esp + 0x120]
call fcn.00598980
mov eax, 0x8007000e
jmp 0x4fc3b1
cmp dword [esp + 0xa4], esi
jge 0x4f964a
mov ecx, eax
cmp ecx, esi
je 0x4f961e
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
mov dword [ebx + 0x2e0], esi
mov esi, dword [esp + 0xa4]
lea ecx, [esp + 0x110]
call fcn.00598980
lea ecx, [esp + 0x120]
call fcn.00598980
mov eax, esi
jmp 0x4fc3b1
mov ecx, 1
mov dword [ebx + 0x200], esi
mov dword [ebx + 0x204], esi
mov dword [ebx + 0x208], esi
mov dword [ebx + 0x20c], esi
mov dword [ebx + 0x1e8], esi
mov dword [ebx + 0x1ec], esi
mov dword [ebx + 0x1f8], esi
mov dword [ebx + 0x1fc], esi
mov dword [ebx + 0x210], esi
mov dword [ebx + 0x214], esi
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x84], ecx
mov ecx, dword [eax + 0x1c0]
cmp ecx, esi
je 0x4fbff3
mov edi, edi
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x4fc23b
mov eax, ecx
mov eax, dword [eax + 8]
mov eax, dword [eax]
test eax, eax
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
je 0x4fbfe9
jmp 0x4f96e7
mov eax, dword [esp + 0x80]
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4fc23b
mov esi, dword [eax + 8]
mov ecx, dword [eax]
push 0
push 2
mov dword [esp + 0x88], ecx
lea ebx, [esi + 0xf0]
push ebx
mov ecx, esi
call fcn.0052b4f0
test al, al
je 0x4fbfd3
lea edx, [esp + 0x10]
push edx
lea ecx, [esi + 0xe0]
call fcn.004f7110
mov byte [esp + 0x248], 3
call fcn.005bc43d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4fc23b
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x38], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
push ecx
push eax
lea ecx, [esp + 0x40]
push str.Output__I64d
push ecx
mov byte [esp + 0x258], 4
call fcn.00469400
add esp, 0x10
lea ecx, [esp + 0x1ec]
call fcn.00496f70
lea ecx, [esp + 0x4c]
call fcn.0049c800
push 1
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x24c], 6
call fcn.004970f0
mov eax, dword [esi + 0x38]
cmp eax, 1
mov ecx, dword [esi + 0x3c]
jne 0x4fac3c
test ecx, ecx
jne 0x4fac3c
mov edi, dword [esp + 0xcc]
push edi
lea edx, [esp + 0x3c]
push str.Video__d
push edx
call fcn.00469400
mov eax, dword [0x63338c]
mov ecx, dword [0x633390]
mov edx, dword [0x633394]
add edi, 1
mov dword [esp + 0xd8], edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x1f8], eax
mov eax, dword [0x633398]
push str.V_MS_VFW_FOURCC
push edi
mov dword [esp + 0x204], ecx
mov dword [esp + 0x208], edx
mov dword [esp + 0x20c], eax
call fcn.005da730
add esp, 0x14
test eax, eax
sete al
test al, al
je 0x4f997f
mov ecx, dword [0x63380c]
mov eax, dword [0x633814]
mov edx, dword [0x633810]
mov dword [esp + 0x218], ecx
mov ecx, dword [0x633818]
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], ecx
mov dword [esp + 0x21c], edx
mov eax, dword [esi + 0xf4]
add eax, 0x30
push eax
lea ecx, [esp + 0x1f0]
call fcn.00496c60
mov edx, dword [esp + 0x22c]
push edx
mov edi, eax
mov eax, dword [esp + 0x234]
push 0
push eax
call fcn.005d9e90
mov eax, dword [esi + 0xf4]
mov ebx, dword [ebx]
push eax
lea ecx, [edi + 0x30]
push ebx
push ecx
call fcn.005dbeb0
mov eax, dword [edi + 0x40]
mov dword [esp + 0x214], eax
mov word [esp + 0x150], 0
mov word [esp + 0x152], 0x10
mov eax, dword [esp + 0x150]
mov ecx, 0xaa000080
mov edx, 0x719b3800
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x220], edx
mov eax, dword [edi + 0x40]
add esp, 0x18
test eax, eax
je 0x4f98f6
cmp eax, 3
jne 0x4f9972
movzx eax, word [edi + 0x3e]
cmp ax, 1
jne 0x4f9907
mov eax, 0x6334bc
jmp 0x4f994b
cmp ax, 4
jne 0x4f9914
mov eax, 0x6334cc
jmp 0x4f994b
cmp ax, 8
jne 0x4f9921
mov eax, 0x6334dc
jmp 0x4f994b
cmp ax, 0x10
jne 0x4f992e
mov eax, 0x6334ec
jmp 0x4f994b
cmp ax, 0x18
jne 0x4f993b
mov eax, 0x63350c
jmp 0x4f994b
cmp ax, 0x20
mov eax, 0x63354c
je 0x4f994b
mov eax, 0x69b5d0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1fc], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x200], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x204], ecx
mov dword [esp + 0x208], edx
lea eax, [esp + 0x1ec]
push eax
jmp 0x4fa956
push str.V_UNCOMPRESSED
push edi
call fcn.005da730
add esp, 8
test eax, eax
sete al
test al, al
jne 0x4fa95f
cmp dword [edi - 0xc], 0
jl 0x4fa374
push str.V_MPEG4_ISO_AVC
push edi
call fcn.005d9339
add esp, 8
test eax, eax
je 0x4fa102
sub eax, edi
jne 0x4fa102
mov eax, dword [esi + 0xf4]
cmp eax, 6
mov dword [esp + 0x14], eax
jb 0x4fa102
cmp dword [ebx + 4], 5
jbe 0x4fc245
mov eax, dword [ebx]
add eax, 5
mov al, byte [eax]
and al, 0x1f
mov byte [esp + 0x18], al
xor edx, edx
xor eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], edx
xor edi, edi
cmp dword [esp + 0x14], edx
mov byte [esp + 0x248], 7
jle 0x4f9a38
lea esp, [esp]
cmp edi, dword [ebx + 4]
jae 0x4fc245
mov eax, dword [ebx]
add eax, edi
push eax
lea ecx, [esp + 0x40]
call fcn.004f93a0
add edi, 1
cmp edi, dword [esp + 0x14]
jl 0x4f9a10
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
xor ecx, ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
cmp byte [esp + 0x18], cl
mov ebx, 6
mov byte [esp + 0x248], 8
mov dword [esp + 0x28], ebx
je 0x4f9c3f
add byte [esp + 0x18], 0xff
test eax, eax
jne 0x4f9a6e
xor ecx, ecx
jmp 0x4f9a72
mov ecx, edx
sub ecx, eax
lea edi, [ebx + 2]
cmp edi, ecx
ja 0x4f9eb7
test eax, eax
je 0x4f9a89
mov ecx, edx
sub ecx, eax
cmp ebx, ecx
jb 0x4f9a96
call fcn.005dd003
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
test eax, eax
lea ecx, [eax + ebx]
mov dword [esp + 0x14], ecx
lea edi, [ebx + 1]
je 0x4f9aac
mov ecx, edx
sub ecx, eax
cmp edi, ecx
jb 0x4f9ab9
call fcn.005dd003
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
test eax, eax
movzx ecx, byte [eax + edi]
mov edi, dword [esp + 0x14]
mov ch, byte [edi]
mov dword [esp + 0x60], ecx
jne 0x4f9acf
xor edx, edx
jmp 0x4f9ad1
sub edx, eax
lea edi, [ecx + ebx + 2]
cmp edi, edx
mov dword [esp + 0x1c], edi
ja 0x4f9eb7
cmp dword [esp + 0x6c], 0
jne 0x4f9aec
xor edi, edi
jmp 0x4f9af4
mov edi, dword [esp + 0x70]
sub edi, dword [esp + 0x6c]
lea edx, [edi + ecx + 2]
push 0
push edx
lea ecx, [esp + 0x70]
call fcn.004f9090
mov ecx, dword [esp + 0x6c]
cmp ecx, dword [esp + 0x70]
mov ebx, ecx
jbe 0x4f9b19
call fcn.005dd003
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xf0], ebx
add ebx, edi
cmp ebx, dword [esp + 0x70]
lea eax, [esp + 0x68]
mov dword [esp + 0xec], eax
mov dword [esp + 0x14], ebx
ja 0x4f9b3b
cmp ebx, ecx
jae 0x4f9b40
call fcn.005dd003
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x44]
mov ebx, eax
jbe 0x4f9b55
call fcn.005dd003
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], ebx
add ebx, ecx
cmp ebx, dword [esp + 0x44]
lea edi, [esp + 0x3c]
ja 0x4f9b6d
cmp ebx, eax
jae 0x4f9b76
call fcn.005dd003
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], ebx
add ebx, 2
cmp ebx, dword [edi + 8]
ja 0x4f9b87
cmp ebx, dword [edi + 4]
jae 0x4f9b90
call fcn.005dd003
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x60]
add ebx, edx
cmp ebx, dword [edi + 8]
ja 0x4f9ba0
cmp ebx, dword [edi + 4]
jae 0x4f9ba9
call fcn.005dd003
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x44]
mov edi, eax
jbe 0x4f9bba
call fcn.005dd003
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
add edi, ecx
cmp edi, dword [esp + 0x44]
ja 0x4f9bca
cmp edi, eax
jae 0x4f9bd3
call fcn.005dd003
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xec]
sub ebx, edi
add edx, ebx
cmp edx, dword [ecx + 8]
ja 0x4f9bec
cmp edx, dword [ecx + 4]
jae 0x4f9bfc
call fcn.005dd003
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xec]
test ebx, ebx
mov edx, dword [esp + 0x44]
jle 0x4f9c2a
mov eax, dword [esp + 0x14]
cmp eax, dword [ecx + 8]
jb 0x4f9c12
call fcn.005dd003
mov ecx, dword [esp + 0x14]
push ebx
push edi
push ebx
push ecx
call fcn.005d8f93
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
add esp, 0x10
cmp byte [esp + 0x18], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
mov ebx, ecx
jne 0x4f9a61
test eax, eax
jne 0x4f9c47
xor edx, edx
jmp 0x4f9c49
sub edx, eax
lea edi, [ebx + 1]
cmp edi, edx
jbe 0x4f9c9e
lea ecx, [esp + 0x68]
call fcn.004f8170
lea ecx, [esp + 0x3c]
call fcn.004f8170
lea ecx, [esp + 0x4c]
call fcn.004e8eb0
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x248], 4
call fcn.00496f60
lea ecx, [esp + 0x38]
call fcn.004194a0
lea ecx, [esp + 0x10]
mov byte [esp + 0x248], 1
call fcn.00401a50
jmp 0x4fbfd3
push ebx
lea ecx, [esp + 0x40]
call fcn.004f6050
movzx eax, byte [eax]
test eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], edi
je 0x4f9e90
jmp 0x4f9cc0
mov eax, dword [esp + 0x40]
sub dword [esp + 0x14], 1
test eax, eax
mov edx, dword [esp + 0x44]
jne 0x4f9cd5
xor ecx, ecx
jmp 0x4f9cd9
mov ecx, edx
sub ecx, eax
mov ebx, dword [esp + 0x28]
lea edi, [ebx + 2]
cmp edi, ecx
ja 0x4f9eb7
test eax, eax
je 0x4f9cf4
mov ecx, edx
sub ecx, eax
cmp ebx, ecx
jb 0x4f9d01
call fcn.005dd003
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
test eax, eax
lea ecx, [eax + ebx]
mov dword [esp + 0x1c], ecx
lea edi, [ebx + 1]
je 0x4f9d17
mov ecx, edx
sub ecx, eax
cmp edi, ecx
jb 0x4f9d24
call fcn.005dd003
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
test eax, eax
movzx ecx, byte [eax + edi]
mov edi, dword [esp + 0x1c]
mov ch, byte [edi]
mov dword [esp + 0x18], ecx
jne 0x4f9d3a
xor edx, edx
jmp 0x4f9d3c
sub edx, eax
lea ebx, [ecx + ebx + 2]
cmp ebx, edx
mov dword [esp + 0x60], ebx
ja 0x4f9eb7
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x4f9d58
xor edi, edi
jmp 0x4f9d5e
mov edi, dword [esp + 0x70]
sub edi, eax
mov edx, dword [esp + 0x18]
push 0
lea eax, [edi + edx + 2]
push eax
lea ecx, [esp + 0x70]
call fcn.004f9090
mov ecx, dword [esp + 0x6c]
cmp ecx, dword [esp + 0x70]
mov ebx, ecx
jbe 0x4f9d87
call fcn.005dd003
mov ecx, dword [esp + 0x6c]
add edi, ebx
cmp edi, dword [esp + 0x70]
lea eax, [esp + 0x68]
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], ebx
mov dword [esp + 0x1c], edi
ja 0x4f9da9
cmp edi, ecx
jae 0x4f9dae
call fcn.005dd003
mov edi, dword [esp + 0x40]
cmp edi, dword [esp + 0x44]
jbe 0x4f9dbd
call fcn.005dd003
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], edi
add edi, ecx
cmp edi, dword [esp + 0x44]
lea ebx, [esp + 0x3c]
ja 0x4f9dd7
cmp edi, dword [esp + 0x40]
jae 0x4f9ddc
call fcn.005dd003
mov dword [esp + 0x10c], edi
add edi, 2
cmp edi, dword [ebx + 8]
mov eax, ebx
mov dword [esp + 0x108], eax
ja 0x4f9df9
cmp edi, dword [ebx + 4]
jae 0x4f9e05
call fcn.005dd003
mov eax, dword [esp + 0x108]
mov edx, dword [esp + 0x18]
lea ebx, [edi + edx]
cmp ebx, dword [eax + 8]
ja 0x4f9e16
cmp ebx, dword [eax + 4]
jae 0x4f9e1b
call fcn.005dd003
mov edi, dword [esp + 0x40]
cmp edi, dword [esp + 0x44]
jbe 0x4f9e2a
call fcn.005dd003
mov eax, dword [esp + 0x28]
add edi, eax
cmp edi, dword [esp + 0x44]
ja 0x4f9e3c
cmp edi, dword [esp + 0x40]
jae 0x4f9e41
call fcn.005dd003
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x64]
mov byte [esp + 0xd4], 0
mov ecx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x108]
push eax
push ecx
push edx
push ebx
lea eax, [esp + 0x194]
push edi
push eax
call fcn.004f6f70
mov ecx, dword [esp + 0x80]
add esp, 0x20
cmp dword [esp + 0x14], 0
mov dword [esp + 0x28], ecx
jne 0x4f9cc0
lea ecx, [esp + 0xbc]
call fcn.0049c800
mov ecx, dword [esp + 0x6c]
test ecx, ecx
mov byte [esp + 0x248], 9
jne 0x4f9f31
xor eax, eax
jmp 0x4f9f37
mov ecx, dword [esp + 0x6c]
xor esi, esi
cmp ecx, esi
je 0x4f9ece
push ecx
call fcn.005b465e
mov eax, dword [esp + 0x44]
add esp, 4
cmp eax, esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
je 0x4f9ee7
push eax
call fcn.005b465e
add esp, 4
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
lea ecx, [esp + 0x4c]
call fcn.004e8eb0
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x248], 4
call fcn.00496f60
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x248], 3
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x4fbf9f
mov eax, dword [esp + 0x70]
sub eax, ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0xc4]
call fcn.004e2370
lea ecx, [esp + 0x184]
push ecx
lea ecx, [esp + 0x6c]
call fcn.004f73d0
lea edx, [esp + 0x174]
push edx
lea ecx, [esp + 0x6c]
mov edi, eax
call fcn.004f73a0
mov ecx, dword [esp + 0xbc]
mov edx, dword [edi + 4]
push ecx
mov ecx, dword [edi]
push edx
mov edx, dword [eax + 4]
mov eax, dword [eax]
push ecx
push edx
push eax
call fcn.004f7680
add esp, 0x14
push 0x31435641
lea ecx, [esp + 0x1c0]
call fcn.0041c1d0
mov ecx, dword [eax]
mov dword [esp + 0x1fc], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x200], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x204], ecx
mov edx, dword [eax + 0xc]
mov ecx, dword [0x633950]
mov eax, dword [0x63394c]
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0xc0]
add ecx, 0x84
mov dword [esp + 0x208], edx
mov edx, dword [0x633954]
mov dword [esp + 0x218], eax
mov eax, dword [0x633958]
push ecx
lea ecx, [esp + 0x1f0]
mov dword [esp + 0x224], edx
mov dword [esp + 0x228], eax
call fcn.00496c60
mov edx, dword [esp + 0x22c]
push edx
mov edi, eax
mov eax, dword [esp + 0x234]
push 0
push eax
call fcn.005d9e90
mov dword [edi + 0x48], 0x28
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1cc]
mov dword [edi + 0x4c], eax
mov edx, dword [esi + 0x1e4]
mov eax, dword [esi + 0x1e0]
add esp, 0xc
mov dword [esp + 0x30], ecx
lea ebx, [esi + 0xf0]
push 1
mov ecx, ebx
mov dword [esp + 0x34], edx
mov dword [edi + 0x50], eax
mov dword [edi + 0x58], 0x31435641
mov word [edi + 0x54], 1
mov word [edi + 0x56], 0x18
call fcn.004e1d50
movzx eax, byte [eax]
push 3
mov ecx, ebx
mov dword [edi + 0x78], eax
call fcn.004e1d50
movzx ecx, byte [eax]
mov dword [edi + 0x7c], ecx
push 4
mov ecx, ebx
call fcn.004e1d50
movzx edx, byte [eax]
mov ebx, dword [esp + 0xc0]
mov ecx, dword [esp + 0xbc]
push ebx
and edx, 3
lea eax, [edi + 0x84]
push ecx
add edx, 1
push eax
mov dword [edi + 0x80], edx
call fcn.005dbeb0
add esp, 0xc
lea edx, [esp + 0x1ec]
push edx
lea ecx, [esp + 0x50]
mov dword [edi + 0x74], ebx
call fcn.004e21d0
lea ecx, [esp + 0xbc]
call fcn.00598980
lea ecx, [esp + 0x68]
call fcn.004f8170
lea ecx, [esp + 0x3c]
mov byte [esp + 0x248], 6
call fcn.004f8170
jmp 0x4fa95f
cmp dword [edi - 0xc], 0
jl 0x4fa374
push str.V_MPEG4_
push edi
call fcn.005d9339
add esp, 8
test eax, eax
je 0x4fa240
sub eax, edi
jne 0x4fa240
mov word [esp + 0x148], ax
mov eax, 0xaa000080
mov dword [esp + 0x204], eax
mov eax, dword [0x63394c]
mov edx, 0x5634504d
mov dword [esp + 0x1fc], edx
mov word [esp + 0x14a], 0x10
mov edx, dword [esp + 0x148]
mov ecx, 0x719b3800
mov dword [esp + 0x208], ecx
mov ecx, dword [0x633950]
mov dword [esp + 0x218], eax
mov eax, dword [0x633958]
mov dword [esp + 0x200], edx
mov edx, dword [0x633954]
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x224], eax
mov dword [esp + 0x220], edx
mov eax, dword [esi + 0xf4]
add eax, 0x84
push eax
lea ecx, [esp + 0x1f0]
call fcn.00496c60
mov ecx, dword [esp + 0x22c]
mov edx, dword [esp + 0x230]
push ecx
push 0
push edx
mov edi, eax
call fcn.005d9e90
mov dword [edi + 0x48], 0x28
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1cc]
mov dword [edi + 0x4c], eax
mov eax, dword [esi + 0x1e0]
mov edx, dword [esi + 0x1e4]
mov dword [edi + 0x50], eax
mov dword [esp + 0x3c], ecx
mov dword [edi + 0x58], 0x5634504d
mov word [edi + 0x54], 1
mov word [edi + 0x56], 0x18
mov ecx, dword [esi + 0xf4]
mov ebx, dword [ebx]
push ecx
lea eax, [edi + 0x84]
push ebx
push eax
mov dword [esp + 0x48], edx
call fcn.005dbeb0
mov eax, dword [esi + 0xf4]
mov dword [edi + 0x74], eax
add esp, 0x18
lea eax, [esp + 0x1ec]
push eax
jmp 0x4fa956
cmp dword [edi - 0xc], 0
jl 0x4fa374
push str.V_REAL_RV
push edi
call fcn.005d9339
add esp, 8
test eax, eax
je 0x4fa374
sub eax, edi
jne 0x4fa374
cmp dword [edi - 0xc], 9
jl 0x4fc245
mov ecx, dword [esp + 0x10]
movsx edx, byte [ecx + 9]
sub edx, 0x30
shl edx, 0x10
add edx, 0x30305652
push edx
lea ecx, [esp + 0x1e0]
call fcn.0041c1d0
mov ecx, dword [eax]
mov dword [esp + 0x1fc], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x200], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x204], ecx
mov edx, dword [eax + 0xc]
mov eax, dword [0x63380c]
mov ecx, dword [0x633810]
mov dword [esp + 0x218], eax
mov eax, dword [0x633818]
mov dword [esp + 0x208], edx
mov edx, dword [0x633814]
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x224], eax
mov dword [esp + 0x220], edx
mov eax, dword [esi + 0xf4]
add eax, 0x58
push eax
lea ecx, [esp + 0x1f0]
call fcn.00496c60
mov ecx, dword [esp + 0x22c]
mov edx, dword [esp + 0x230]
push ecx
push 0
push edx
mov edi, eax
call fcn.005d9e90
mov eax, dword [esi + 0xf4]
mov ebx, dword [ebx]
push eax
mov eax, dword [esp + 0x240]
add eax, 0x58
push ebx
push eax
call fcn.005dbeb0
mov dword [edi + 0x30], 0x28
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1cc]
mov dword [edi + 0x34], eax
mov eax, dword [esi + 0x1e0]
mov edx, dword [esi + 0x1e4]
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x214]
mov dword [esp + 0x48], ecx
add esp, 0x18
mov dword [esp + 0x30], edx
mov dword [edi + 0x40], eax
jmp 0x4fa94e
lea edx, [esp + 0x10]
push str.V_DIRAC
push edx
call fcn.0041d5a0
add esp, 8
test al, al
je 0x4fa481
mov eax, dword [0x63c04c]
mov ecx, dword [0x63c050]
mov edx, dword [0x63c054]
mov dword [esp + 0x1fc], eax
mov eax, dword [0x63c058]
mov dword [esp + 0x200], ecx
mov ecx, dword [0x63c05c]
mov dword [esp + 0x208], eax
mov eax, dword [0x63c064]
mov dword [esp + 0x218], ecx
mov ecx, dword [0x63c068]
mov dword [esp + 0x204], edx
mov edx, dword [str.U_DB]
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], ecx
mov dword [esp + 0x21c], edx
mov eax, dword [esi + 0xf4]
add eax, 0x74
push eax
lea ecx, [esp + 0x1f0]
call fcn.00496c60
mov edx, dword [esp + 0x22c]
push edx
mov edi, eax
mov eax, dword [esp + 0x234]
push 0
push eax
call fcn.005d9e90
mov dword [edi + 0x48], 0x28
mov ecx, dword [esi + 0x1cc]
mov eax, dword [esi + 0x1c8]
mov dword [edi + 0x4c], eax
mov edx, dword [esi + 0x1e4]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi + 0x1e0]
mov dword [edi + 0x38], eax
mov dword [edi + 0x50], ecx
mov dword [edi + 0x3c], ecx
mov ecx, dword [esi + 0xf4]
mov ebx, dword [ebx]
push ecx
lea eax, [edi + 0x74]
push ebx
push eax
mov dword [esp + 0x48], edx
call fcn.005dbeb0
mov eax, dword [esi + 0xf4]
mov dword [edi + 0x70], eax
add esp, 0x18
lea eax, [esp + 0x1ec]
push eax
jmp 0x4fa956
lea ecx, [esp + 0x10]
push str.V_MPEG2
push ecx
call fcn.0041d5a0
add esp, 8
test al, al
jne 0x4fa90e
lea edx, [esp + 0x10]
push str.V_DSHOW_MPEG2VIDEO
push edx
call fcn.0041d5a0
add esp, 8
test al, al
jne 0x4fa90e
lea eax, [esp + 0x10]
push str.V_THEORA
push eax
call fcn.0041d5a0
add esp, 8
test al, al
je 0x4fa686
mov edi, dword [esi + 0xf0]
mov ecx, dword [0x63338c]
mov edx, dword [0x633390]
mov eax, dword [0x633394]
mov dword [esp + 0x1ec], ecx
mov ecx, dword [0x633398]
mov dword [esp + 0x1f8], ecx
push 0x4f454854
lea ecx, [esp + 0x190]
mov dword [esp + 0x1f4], edx
mov dword [esp + 0x1f8], eax
call fcn.0041c1d0
mov edx, dword [eax]
mov dword [esp + 0x1fc], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x200], ecx
mov edx, dword [eax + 8]
mov ecx, dword [0x63389c]
mov dword [esp + 0x204], edx
mov eax, dword [eax + 0xc]
mov edx, dword [0x6338a0]
mov dword [esp + 0x208], eax
mov eax, dword [0x6338a4]
mov dword [esp + 0x218], ecx
mov ecx, dword [0x6338a8]
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], ecx
mov dword [esp + 0x21c], edx
mov eax, dword [esi + 0xf4]
add eax, 0x88
push eax
lea ecx, [esp + 0x1f0]
call fcn.00496c60
mov edx, dword [esp + 0x22c]
push edx
mov ebx, eax
mov eax, dword [esp + 0x234]
push 0
push eax
call fcn.005d9e90
mov dword [ebx + 0x48], 0x28
movzx ecx, word [edi + 0xd]
shr ecx, 4
mov dword [ebx + 0x4c], ecx
movzx edx, word [edi + 0xf]
mov dword [ebx + 0x58], 0x4f454854
mov word [ebx + 0x54], 1
mov word [ebx + 0x56], 0x18
xor eax, eax
shr edx, 4
mov dword [ebx + 0x50], edx
mov ah, byte [edi + 0x19]
movzx ecx, byte [edi + 0x1b]
movzx edx, byte [edi + 0x1c]
mov al, byte [edi + 0x1a]
add esp, 0xc
shl eax, 8
or eax, ecx
xor ecx, ecx
mov ch, byte [edi + 0x1d]
shl eax, 8
or eax, edx
movzx edx, byte [edi + 0x1f]
mov dword [esp + 0x60], eax
mov cl, byte [edi + 0x1e]
shl ecx, 8
or ecx, edx
movzx edx, byte [edi + 0x20]
shl ecx, 8
or ecx, edx
test eax, eax
mov dword [esp + 0x1c], ecx
je 0x4fa62e
fild dword [esp + 0x1c]
fmul qword [0x632b98]
fidiv dword [esp + 0x60]
call fcn.005dc8d6
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], edx
movzx ecx, byte [edi + 0x13]
xor eax, eax
mov ah, byte [edi + 0x11]
xor edx, edx
add ebx, 0x84
mov al, byte [edi + 0x12]
shl eax, 8
or eax, ecx
mov dword [ebx - 0x4c], eax
mov dh, byte [edi + 0x14]
movzx eax, byte [edi + 0x16]
mov dl, byte [edi + 0x15]
shl edx, 8
or edx, eax
mov dword [ebx - 0x48], edx
mov dword [esp + 0x20c], 0
mov eax, dword [esi + 0xf4]
mov dword [ebx - 0x10], eax
mov ecx, dword [esi + 0xf0]
push eax
push ecx
push ebx
call fcn.005dbeb0
add esp, 0xc
jmp 0x4fa94e
cmp dword [edi - 0xc], 0
jl 0x4fa7a9
push str.V_VP8
push edi
call fcn.005d9339
add esp, 8
test eax, eax
je 0x4fa7a9
sub eax, edi
jne 0x4fa7a9
push 0x30385056
lea ecx, [esp + 0x1a0]
call fcn.0041c1d0
mov edx, dword [eax]
mov dword [esp + 0x1fc], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x200], ecx
mov edx, dword [eax + 8]
mov ecx, dword [0x63380c]
mov dword [esp + 0x204], edx
mov eax, dword [eax + 0xc]
mov edx, dword [0x633810]
mov dword [esp + 0x208], eax
mov eax, dword [0x633814]
mov dword [esp + 0x218], ecx
mov ecx, dword [0x633818]
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], ecx
mov dword [esp + 0x21c], edx
mov eax, dword [esi + 0xf4]
add eax, 0x58
push eax
lea ecx, [esp + 0x1f0]
call fcn.00496c60
mov edx, dword [esp + 0x22c]
push edx
mov edi, eax
mov eax, dword [esp + 0x234]
push 0
push eax
call fcn.005d9e90
mov eax, dword [esi + 0xf4]
mov ebx, dword [ebx]
mov ecx, dword [esp + 0x23c]
push eax
add ecx, 0x58
push ebx
push ecx
call fcn.005dbeb0
mov dword [edi + 0x30], 0x28
mov eax, dword [esi + 0x1c8]
mov edx, dword [esi + 0x1cc]
mov dword [edi + 0x34], eax
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1e4]
mov dword [esp + 0x48], edx
mov dword [edi + 0x38], eax
mov edx, dword [esp + 0x214]
add esp, 0x18
lea eax, [esp + 0x1ec]
mov dword [esp + 0x30], ecx
mov dword [edi + 0x40], edx
push eax
jmp 0x4fa956
lea ecx, [esp + 0x10]
push str.V_DSHOW_MPEG1VIDEO
push ecx
call fcn.0041d5a0
add esp, 8
test al, al
jne 0x4fa7d9
lea edx, [esp + 0x10]
push str.V_MPEG1
push edx
call fcn.0041d5a0
add esp, 8
test al, al
je 0x4fa95f
mov eax, dword [0x63338c]
mov ecx, dword [0x633390]
mov edx, dword [0x633394]
mov dword [esp + 0x1ec], eax
mov eax, dword [0x633398]
mov dword [esp + 0x1f0], ecx
mov ecx, dword [0x63359c]
mov dword [esp + 0x1f4], edx
mov edx, dword [0x6335a0]
mov dword [esp + 0x1f8], eax
mov eax, dword [0x6335a4]
mov dword [esp + 0x1fc], ecx
mov ecx, dword [0x6335a8]
mov dword [esp + 0x200], edx
mov edx, dword [0x63383c]
mov dword [esp + 0x204], eax
mov eax, dword [0x633840]
mov dword [esp + 0x208], ecx
mov ecx, dword [0x633844]
mov dword [esp + 0x218], edx
mov edx, dword [0x633848]
mov dword [esp + 0x21c], eax
mov dword [esp + 0x220], ecx
mov dword [esp + 0x224], edx
mov eax, dword [esi + 0xf4]
add eax, 0x60
push eax
lea ecx, [esp + 0x1f0]
call fcn.00496c60
mov ecx, dword [esp + 0x230]
mov edi, eax
mov eax, dword [esp + 0x22c]
push eax
push 0
push ecx
call fcn.005d9e90
mov dword [edi + 0x30], 0x28
mov eax, dword [esi + 0x1c8]
mov edx, dword [esi + 0x1cc]
mov dword [edi + 0x34], eax
mov ecx, dword [esi + 0x1e4]
mov eax, dword [esi + 0x1e0]
mov dword [edi + 0x38], eax
mov ebx, dword [ebx]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi + 0xf4]
push ecx
lea eax, [edi + 0x60]
push ebx
push eax
call fcn.005dbeb0
mov edx, dword [edi + 0x38]
imul edx, dword [edi + 0x34]
mov eax, dword [esi + 0xf4]
add edx, edx
add esp, 0x18
add edx, edx
push edx
lea ecx, [esp + 0x1f0]
mov dword [edi + 0x5c], eax
call fcn.004970f0
lea eax, [esp + 0x1ec]
push eax
jmp 0x4fa956
mov edx, dword [esi + 0x1cc]
mov ecx, dword [esi + 0x1c8]
mov eax, dword [esi + 0xf4]
mov ebx, dword [ebx]
mov edi, dword [esi + 0x1e4]
mov dword [esp + 0x30], edx
mov edx, dword [esi + 0x1e0]
push edx
push ecx
push eax
lea eax, [esp + 0x1f8]
push ebx
push eax
mov dword [esp + 0x44], edi
call fcn.00497920
add esp, 0x14
test al, al
je 0x4fa95f
lea ecx, [esp + 0x1ec]
push ecx
lea ecx, [esp + 0x50]
call fcn.004e21d0
fld qword [esi + 0x288]
fldz
fcompp
fnstsw ax
test ah, 5
jp 0x4fa983
fld qword [esi + 0x288]
fdivr qword [0x632b98]
call fcn.005dc8d6
jmp 0x4fa9a6
mov ecx, dword [esi + 0x14c]
test ecx, ecx
mov eax, dword [esi + 0x148]
ja 0x4fa99b
test eax, eax
jbe 0x4faa60
push 0
push 0x64
push ecx
push eax
call fcn.005da540
mov dword [esp + 0xb0], edx
mov edx, eax
or edx, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
je 0x4faa60
xor edi, edi
cmp dword [esp + 0x50], edi
mov dword [esp + 0x14], edi
jbe 0x4faa60
mov ebx, dword [esp + 0x4c]
jmp 0x4fa9e0
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x14], eax
jae 0x4fc245
lea ecx, [edi + ebx + 0x2c]
push 0x63380c
push ecx
call fcn.00401250
add esp, 8
test eax, eax
jne 0x4faa30
lea edx, [edi + ebx + 0x2c]
push 0x63381c
push edx
call fcn.00401250
add esp, 8
test eax, eax
jne 0x4faa30
lea eax, [edi + ebx + 0x2c]
push 0x63394c
push eax
call fcn.00401250
add esp, 8
test eax, eax
je 0x4faa4c
mov eax, dword [edi + ebx + 0x44]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x14]
add eax, 1
add edi, 0x48
cmp eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
jb 0x4fa9e0
mov eax, dword [esi + 0x1f8]
or eax, dword [esi + 0x1fc]
je 0x4fbaa7
mov eax, dword [esi + 0x210]
or eax, dword [esi + 0x214]
je 0x4fbaa7
xor ebx, ebx
cmp dword [esp + 0x50], ebx
jbe 0x4fbaac
xor edi, edi
cmp ebx, dword [esp + 0x50]
jae 0x4fc245
mov eax, dword [esp + 0x4c]
lea ecx, [eax + edi + 0x2c]
push 0x63380c
push ecx
call fcn.00401250
add esp, 8
test eax, eax
je 0x4fabcd
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + edi + 0x40]
mov ecx, dword [0x63381c]
mov edx, dword [0x633820]
add eax, 0xffffffd0
mov dword [esp + 0x218], ecx
mov ecx, dword [0x633824]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x21c], edx
mov edx, dword [0x633828]
add eax, 0x48
mov dword [esp + 0x220], ecx
push eax
lea ecx, [esp + 0x1f0]
mov dword [esp + 0x228], edx
call fcn.00496c60
cmp ebx, dword [esp + 0x50]
jae 0x4fc245
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + edi + 0x44]
mov ecx, dword [esp + 0x230]
push 0x30
push eax
push ecx
call fcn.005dbeb0
mov ecx, dword [esp + 0x23c]
xor eax, eax
add ecx, 0x30
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
add esp, 0xc
mov dword [ecx + 0x14], eax
cmp ebx, dword [esp + 0x50]
jae 0x4fc245
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + edi + 0x44]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x230]
push ecx
add eax, 0x30
push eax
add edx, 0x48
push edx
call fcn.005dbeb0
mov eax, dword [esi + 0x1f8]
mov ecx, dword [esi + 0x1fc]
mov edx, dword [esp + 0x23c]
mov dword [edx + 0x38], eax
mov eax, dword [esi + 0x210]
mov edx, dword [esp + 0x23c]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi + 0x214]
add esp, 0xc
mov dword [edx + 0x3c], eax
push 1
lea eax, [esp + 0x1f0]
push eax
mov dword [esp + 0x38], ecx
push ebx
lea ecx, [esp + 0x58]
call fcn.004e3e60
add ebx, 1
add edi, 0x48
jmp 0x4fac27
mov ecx, dword [esp + 0x4c]
lea edx, [ecx + edi + 0x2c]
push 0x63394c
push edx
call fcn.00401250
add esp, 8
test eax, eax
je 0x4fac27
mov ecx, dword [esi + 0x1fc]
mov edx, dword [esp + 0x4c]
mov eax, dword [esi + 0x1f8]
mov dword [esp + 0x30], ecx
mov ecx, dword [edx + edi + 0x44]
mov dword [ecx + 0x38], eax
cmp ebx, dword [esp + 0x50]
mov ecx, dword [esi + 0x214]
mov eax, dword [esi + 0x210]
mov dword [esp + 0x30], ecx
jae 0x4fc245
mov edx, dword [esp + 0x4c]
mov ecx, dword [edx + edi + 0x44]
mov dword [ecx + 0x3c], eax
add ebx, 1
add edi, 0x48
cmp ebx, dword [esp + 0x50]
jb 0x4faa9c
jmp 0x4fbaa7
cmp eax, 2
jne 0x4fb72a
test ecx, ecx
jne 0x4fb72a
mov edi, dword [esp + 0xd0]
push edi
lea eax, [esp + 0x3c]
push str.Audio__d
push eax
call fcn.00469400
mov ecx, dword [0x63339c]
mov edx, dword [0x6333a0]
mov eax, dword [0x6333a4]
mov dword [esp + 0x1f8], ecx
mov ecx, dword [0x6333a8]
mov dword [esp + 0x1fc], edx
mov edx, dword [0x63382c]
mov dword [esp + 0x204], ecx
mov ecx, dword [0x633834]
add esp, 0xc
mov dword [esp + 0x1f4], eax
mov eax, dword [0x633830]
mov dword [esp + 0x218], edx
mov edx, dword [0x633838]
mov dword [esp + 0x220], ecx
add edi, 1
push 0x12
lea ecx, [esp + 0x1f0]
mov dword [esp + 0xd4], edi
mov dword [esp + 0x220], eax
mov dword [esp + 0x228], edx
call fcn.00496c60
mov edi, eax
mov eax, dword [esp + 0x22c]
push eax
push 0
push edi
call fcn.005d9e90
fnstcw word [esp + 0x24]
mov edx, dword [esi + 0x2d0]
mov ecx, dword [esi + 0x2d4]
movzx eax, word [esp + 0x24]
or eax, 0xc00
mov dword [esp + 0x28], eax
mov word [edi + 2], dx
mov dword [esp + 0x3c], ecx
fld qword [esi + 0x2a0]
movzx edx, dx
fldcw word [esp + 0x28]
add esp, 0xc
push 0x3e800
fistp qword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x2f8]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 0x2fc]
fldcw word [esp + 0x1c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x90]
mov word [edi + 0xe], ax
movzx eax, ax
imul eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov word [edi + 0xc], ax
movzx eax, ax
imul eax, ecx
lea ecx, [esp + 0x1f0]
mov dword [edi + 8], eax
call fcn.004970f0
test byte [0x71e3b0], 1
jne 0x4fadd9
fld dword [0x6449d8]
or dword [0x71e3b0], 1
push 0xa
sub esp, 0xc
fstp dword [esp + 8]
mov ecx, 0x71e380
fld dword [0x6449d4]
fstp dword [esp + 4]
fld dword [0x6449d0]
fstp dword [esp]
push 0x11
call fcn.004f76b0
push 0x62e070
call fcn.005de762
add esp, 4
cmp dword [0x71e384], 0
jne 0x4faf0c
push str.A_MPEG_L3
mov ecx, 0x71e380
call fcn.004f9490
push str.A_MPEG_L2
mov ecx, 0x71e380
mov dword [eax], 0x55
call fcn.004f9490
push str.A_MPEG_L1
mov ecx, 0x71e380
mov dword [eax], 0x50
call fcn.004f9490
push str.A_AC3
mov ecx, 0x71e380
mov dword [eax], 0x50
call fcn.004f9490
push str.A_DTS
mov ecx, 0x71e380
mov dword [eax], 0x2000
call fcn.004f9490
push str.A_EAC3
mov ecx, 0x71e380
mov dword [eax], 0x2001
call fcn.004f9490
push str.A_PCM_INT_LIT
mov ecx, 0x71e380
mov dword [eax], 0x2000
call fcn.004f9490
push str.A_PCM_FLOAT_IEEE
mov ecx, 0x71e380
mov dword [eax], 1
call fcn.004f9490
push str.A_AAC
mov ecx, 0x71e380
mov dword [eax], 3
call fcn.004f9490
push str.A_FLAC
mov ecx, 0x71e380
mov dword [eax], 0xffffff01
call fcn.004f9490
push str.A_WAVPACK4
mov ecx, 0x71e380
mov dword [eax], 0xffff0e54
call fcn.004f9490
push str.A_TTA1
mov ecx, 0x71e380
mov dword [eax], 0xffffa8aa
call fcn.004f9490
push str.A_TRUEHD
mov ecx, 0x71e380
mov dword [eax], 0x77a1
call fcn.004f9490
push str.A_MLP
mov ecx, 0x71e380
mov dword [eax], 0x2000
call fcn.004f9490
mov dword [eax], 0x2000
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x88]
push ecx
push edx
mov ecx, 0x71e380
call fcn.004f6d20
test al, al
je 0x4fb020
cmp dword [esp + 0x88], 0
jge 0x4faf7d
mov eax, dword [esp + 0x88]
neg eax
mov dword [esp + 0x88], eax
mov eax, dword [esi + 0xf4]
mov word [edi + 0x10], ax
mov eax, dword [esi + 0xf4]
add eax, 0x12
push eax
lea ecx, [esp + 0x1f0]
call fcn.00496cc0
mov ebx, dword [ebx]
mov edi, eax
mov eax, dword [esi + 0xf4]
push eax
lea ecx, [edi + 0x12]
push ebx
push ecx
call fcn.005dbeb0
add esp, 0xc
mov ebx, dword [esp + 0x88]
mov word [edi], bx
movzx eax, bx
mov ecx, 0xaa000080
mov dword [esp + 0x204], ecx
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x1fc], eax
mov word [esp + 0x168], 0
mov word [esp + 0x16a], 0x10
mov eax, dword [esp + 0x168]
mov edx, 0x719b3800
push ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x204], eax
mov dword [esp + 0x20c], edx
call fcn.004e21d0
cmp ebx, 0xf1ac
jne 0x4fbaa7
mov edx, dword [0x63c00c]
mov eax, dword [0x63c010]
mov ecx, dword [0x63c014]
mov dword [esp + 0x1fc], edx
mov edx, dword [0x63c018]
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], ecx
mov dword [esp + 0x208], edx
jmp 0x4fb5fa
mov ecx, dword [esp + 0x10]
push str.A_VORBIS
push ecx
call fcn.005da730
add esp, 8
test eax, eax
sete al
test al, al
je 0x4fb3b4
mov edi, dword [ebx]
lea ecx, [esp + 0x94]
call fcn.0049c800
mov al, byte [edi]
mov ecx, dword [esp + 0x98]
add edi, 1
test al, al
mov byte [esp + 0x248], 0xa
mov byte [esp + 0x18], al
mov dword [esp + 0x28], edi
jbe 0x4fb0d5
lea ecx, [ecx]
xor ebx, ebx
mov al, byte [edi]
movzx edx, al
add ebx, edx
add edi, 1
cmp al, 0xff
je 0x4fb072
cmp ecx, dword [esp + 0x9c]
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], ecx
jb 0x4fb0b0
add ecx, 1
push ecx
lea ecx, [esp + 0x98]
call fcn.00413b20
test al, al
je 0x4fc24f
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x1c]
lea eax, [eax + edx*4]
test eax, eax
je 0x4fb0c4
mov dword [eax], ebx
add ecx, 1
add byte [esp + 0x18], 0xff
mov dword [esp + 0x98], ecx
jne 0x4fb070
xor edi, edi
xor eax, eax
test ecx, ecx
jbe 0x4fb0f6
cmp eax, ecx
mov edx, dword [esp + 0x94]
jae 0x4fc245
add edi, dword [edx + eax*4]
add eax, 1
cmp eax, ecx
jb 0x4fb0ec
cmp ecx, dword [esp + 0x9c]
mov eax, dword [esi + 0xf4]
mov ebx, dword [esi + 0xf0]
mov dword [esp + 0x60], eax
mov dword [esp + 0x1c], ecx
jb 0x4fb132
add ecx, 1
push ecx
lea ecx, [esp + 0x98]
call fcn.00413b20
test al, al
je 0x4fc24f
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x94]
lea eax, [edx + eax*4]
test eax, eax
je 0x4fb150
sub ebx, edi
sub ebx, dword [esp + 0x28]
add ebx, dword [esp + 0x60]
mov dword [eax], ebx
add ecx, 1
lea eax, [ecx - 1]
cmp eax, ecx
mov dword [esp + 0x98], ecx
jae 0x4fc245
add edi, dword [edx + eax*4]
cmp ecx, 3
jne 0x4fb2b8
mov ecx, dword [0x63c1dc]
mov edx, dword [str.AXkJ]
mov eax, dword [0x63c1e4]
mov dword [esp + 0x1fc], ecx
mov ecx, dword [0x63c1e8]
mov dword [esp + 0x200], edx
mov edx, dword [0x63c1ec]
mov dword [esp + 0x208], ecx
mov ecx, dword [0x63c1f4]
mov dword [esp + 0x204], eax
mov eax, dword [0x63c1f0]
mov dword [esp + 0x218], edx
mov edx, dword [str.futs]
mov dword [esp + 0x220], ecx
add edi, 0x18
push edi
lea ecx, [esp + 0x1f0]
mov dword [esp + 0x220], eax
mov dword [esp + 0x228], edx
call fcn.00496c60
mov ebx, eax
mov eax, dword [esp + 0x22c]
push eax
push 0
push ebx
call fcn.005d9e90
fnstcw word [esp + 0x24]
mov eax, dword [esi + 0x2d0]
mov ecx, dword [esi + 0x2d4]
movzx edx, ax
movzx eax, word [esp + 0x24]
mov dword [ebx], edx
or eax, 0xc00
fld qword [esi + 0x2a0]
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], ecx
fldcw word [esp + 0x28]
xor edi, edi
add esp, 0xc
add ebx, 0xc
fistp qword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov dword [ebx - 8], eax
mov eax, dword [esi + 0x2f8]
mov ecx, dword [esi + 0x2fc]
fldcw word [esp + 0x18]
mov dword [ebx - 4], eax
mov edx, dword [esp + 0x230]
add edx, 0x18
cmp edi, 3
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], edx
jae 0x4fc245
mov eax, dword [esp + 0x94]
mov eax, dword [eax + edi*4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
push eax
push ecx
push edx
mov dword [ebx], eax
call fcn.005dbeb0
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + edi*4]
add dword [esp + 0x34], eax
add dword [esp + 0x20], eax
add edi, 1
add esp, 0xc
add ebx, 4
cmp edi, 3
jb 0x4fb26b
lea ecx, [esp + 0x1ec]
push ecx
lea ecx, [esp + 0x50]
call fcn.004e21d0
mov edx, dword [0x63c1bc]
mov eax, dword [0x63c1c0]
mov ecx, dword [0x63c1c4]
mov dword [esp + 0x1fc], edx
mov edx, dword [0x63c1c8]
mov dword [esp + 0x200], eax
mov eax, dword [0x63c1cc]
mov dword [esp + 0x204], ecx
mov ecx, dword [0x63c1d0]
mov dword [esp + 0x208], edx
mov edx, dword [0x63c1d4]
mov dword [esp + 0x218], eax
mov eax, dword [0x63c1d8]
mov dword [esp + 0x21c], ecx
push 0x18
lea ecx, [esp + 0x1f0]
mov dword [esp + 0x224], edx
mov dword [esp + 0x228], eax
call fcn.00496c60
mov ecx, dword [esp + 0x22c]
push ecx
mov edi, eax
push 0
push edi
call fcn.005d9e90
fnstcw word [esp + 0x24]
mov eax, dword [esi + 0x2d0]
mov edx, dword [esi + 0x2d4]
mov word [edi], ax
fld qword [esi + 0x2a0]
movzx eax, word [esp + 0x24]
or eax, 0xc00
mov dword [esp + 0x28], eax
add esp, 0xc
fldcw word [esp + 0x1c]
lea ecx, [esp + 0x1ec]
push ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x34], edx
fistp qword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [edi + 4], eax
or eax, 0xffffffff
mov dword [edi + 0xc], eax
fldcw word [esp + 0x1c]
mov dword [edi + 0x10], eax
mov dword [edi + 8], eax
call fcn.004e21d0
lea ecx, [esp + 0x94]
mov byte [esp + 0x248], 6
call fcn.00598980
jmp 0x4fbaa7
mov edx, dword [esp + 0x10]
push str.A_MS_ACM
push edx
call fcn.005da730
add esp, 8
test eax, eax
sete al
test al, al
je 0x4fb444
mov eax, dword [esi + 0xf4]
push eax
lea ecx, [esp + 0x1f0]
call fcn.00496c60
mov ebx, dword [ebx]
mov edi, eax
mov eax, dword [esi + 0xf4]
push eax
push ebx
push edi
call fcn.005dbeb0
movzx eax, word [edi]
mov word [esp + 0x164], 0
mov word [esp + 0x166], 0x10
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x164]
mov ecx, 0xaa000080
mov edx, 0x719b3800
add esp, 0xc
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], ecx
mov dword [esp + 0x208], edx
jmp 0x4fba96
mov edx, dword [esp + 0x10]
cmp dword [edx - 0xc], 0
jl 0x4fb614
mov eax, edx
push str.A_AAC_
push eax
call fcn.005d9339
add esp, 8
test eax, eax
je 0x4fb614
sub eax, dword [esp + 0x10]
jne 0x4fb614
push 0xff
lea ecx, [esp + 0x1b0]
mov word [edi], 0xff
call fcn.0041c1d0
mov ecx, dword [eax]
mov dword [esp + 0x1fc], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x200], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x204], ecx
mov edx, dword [eax + 0xc]
push 0x17
lea ecx, [esp + 0x1f0]
mov dword [esp + 0x20c], edx
call fcn.00496cc0
mov edi, dword [esp + 0x10]
mov ebx, eax
mov word [ebx + 0x10], 2
cmp dword [edi - 0xc], 0
jl 0x4f9c62
push str._MAIN
push edi
call fcn.005d9339
add esp, 8
test eax, eax
je 0x4fb4f4
sub eax, edi
test eax, eax
jle 0x4fb4f4
xor edi, edi
jmp 0x4fb59f
cmp dword [edi - 0xc], 0
jl 0x4f9c62
push str._SBR
push edi
call fcn.005d9339
add esp, 8
test eax, eax
je 0x4fb51e
sub eax, edi
test eax, eax
jle 0x4fb51e
or edi, 0xffffffff
jmp 0x4fb59f
cmp dword [edi - 0xc], 0
jl 0x4f9c62
push 0x64ce6c
push edi
call fcn.005d9339
add esp, 8
test eax, eax
je 0x4fb547
sub eax, edi
test eax, eax
jle 0x4fb547
mov edi, 1
jmp 0x4fb59f
cmp dword [edi - 0xc], 0
jl 0x4f9c62
push str._SSR
push edi
call fcn.005d9339
add esp, 8
test eax, eax
je 0x4fb570
sub eax, edi
test eax, eax
jle 0x4fb570
mov edi, 2
jmp 0x4fb59f
cmp dword [edi - 0xc], 0
jl 0x4f9c62
push str._LTP
push edi
call fcn.005d9339
add esp, 8
test eax, eax
je 0x4f9c62
sub eax, edi
test eax, eax
jle 0x4f9c62
mov edi, 3
mov eax, dword [esi + 0x2d0]
mov edx, dword [ebx + 4]
mov ecx, dword [esi + 0x2d4]
push eax
push edx
lea eax, [ebx + 0x12]
push edi
push eax
mov dword [esp + 0x40], ecx
call fcn.00497b20
movzx ecx, ax
add esp, 0x10
lea edx, [esp + 0x1ec]
mov dword [esp + 0x1c], ecx
push edx
lea ecx, [esp + 0x50]
call fcn.004e21d0
test edi, edi
jge 0x4fbaa7
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov ax, word [esp + 0x1c]
add ecx, ecx
add edx, edx
mov word [ebx + 0x10], ax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
push 1
lea eax, [esp + 0x1f0]
push eax
push 0
lea ecx, [esp + 0x58]
call fcn.004e3e60
jmp 0x4fbaa7
mov ecx, dword [esp + 0x10]
cmp dword [ecx - 0xc], 0
jl 0x4fbaa7
mov edx, ecx
push str.A_REAL_
push edx
call fcn.005d9339
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x4fbaa7
mov eax, dword [esp + 0x10]
sub ecx, eax
jne 0x4fbaa7
cmp dword [eax - 0xc], 0xb
jl 0x4fbaa7
mov edx, dword [eax - 0xc]
cmp edx, 7
jl 0x4fc245
cmp edx, 8
mov cl, byte [eax + 7]
mov byte [esp + 0x18], cl
jl 0x4fc245
cmp edx, 9
mov cl, byte [eax + 8]
jl 0x4fc245
cmp edx, 0xa
mov al, byte [eax + 9]
jl 0x4fc245
mov edx, dword [esp + 0x10]
movsx edx, byte [edx + 0xa]
shl edx, 8
movsx eax, al
or edx, eax
movsx eax, byte [esp + 0x18]
movsx ecx, cl
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
push edx
lea ecx, [esp + 0x1d0]
call fcn.0041c1d0
mov ecx, dword [eax]
mov dword [esp + 0x1fc], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x200], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x204], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x208], edx
mov dword [esp + 0x210], 1
mov eax, dword [esi + 0xf4]
mov word [edi + 0x10], ax
mov eax, dword [esi + 0xf4]
add eax, 0x12
push eax
lea ecx, [esp + 0x1f0]
call fcn.00496cc0
mov ebx, dword [ebx]
mov edi, eax
mov eax, dword [esi + 0xf4]
push eax
lea eax, [edi + 0x12]
push ebx
push eax
call fcn.005dbeb0
add esp, 0xc
mov word [edi + 0x10], 0
jmp 0x4fba96
cmp eax, 0x11
jne 0x4fbaa7
test ecx, ecx
jne 0x4fbaa7
mov edi, dword [esp + 0x84]
cmp edi, 1
jne 0x4fb750
mov ecx, dword [esp + 0x7c]
call fcn.004f7140
push edi
lea edx, [esp + 0x3c]
push str.Subtitle__d
push edx
call fcn.00469400
add esp, 0xc
add edi, 1
push 1
lea ecx, [esp + 0x1f0]
mov dword [esp + 0x88], edi
call fcn.004970f0
mov eax, dword [esp + 0x10]
push str.S_TEXT_ASCII
push eax
call fcn.005da730
add esp, 8
test eax, eax
sete al
test al, al
je 0x4fb837
mov ecx, dword [0x6333ac]
mov edx, dword [0x6333b0]
mov eax, dword [0x6333b4]
mov dword [esp + 0x1ec], ecx
mov ecx, dword [0x6333b8]
mov dword [esp + 0x1f0], edx
mov edx, dword [0x69b5d0]
mov dword [esp + 0x1f4], eax
mov eax, dword [0x69b5d4]
mov dword [esp + 0x1f8], ecx
mov ecx, dword [0x69b5d8]
mov dword [esp + 0x1fc], edx
mov edx, dword [0x69b5dc]
mov dword [esp + 0x200], eax
mov eax, dword [0x6337fc]
mov dword [esp + 0x204], ecx
mov ecx, dword [0x633800]
mov dword [esp + 0x208], edx
mov edx, dword [0x633804]
mov dword [esp + 0x218], eax
mov eax, dword [0x633808]
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x220], edx
mov dword [esp + 0x224], eax
jmp 0x4fba96
mov edx, dword [0x63c20c]
mov eax, dword [0x63c210]
mov ecx, dword [0x63c214]
mov dword [esp + 0x1f0], eax
mov eax, dword [0x63c28c]
mov dword [esp + 0x1ec], edx
mov edx, dword [0x63c218]
mov dword [esp + 0x1f4], ecx
mov ecx, dword [0x63c290]
mov dword [esp + 0x218], eax
mov eax, dword [0x63c298]
mov dword [esp + 0x1f8], edx
mov edx, dword [0x63c294]
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x224], eax
mov dword [esp + 0x220], edx
mov eax, dword [esi + 0xf4]
add eax, 0x208
push eax
lea ecx, [esp + 0x1f0]
call fcn.00496c60
mov ecx, dword [esp + 0x22c]
push ecx
mov edi, eax
push 0
push edi
call fcn.005d9e90
mov eax, dword [esi + 0xdc]
push 3
push eax
lea edx, [edi + 4]
push edx
call fcn.005df870
mov eax, dword [esi + 0xd8]
push 0xff
push eax
lea eax, [edi + 8]
push eax
call fcn.005e1ab0
mov dword [edi], 0x208
mov eax, dword [esi + 0xf4]
mov ebx, dword [ebx]
mov ecx, dword [esp + 0x254]
push eax
add ecx, 0x208
push ebx
push ecx
call fcn.005dbeb0
mov edx, dword [esp + 0x40]
push str.S_TEXT_UTF8
push edx
call fcn.005da730
add esp, 0x38
test eax, eax
sete al
test al, al
je 0x4fb935
mov eax, 0x63c21c
jmp 0x4fba56
lea eax, [esp + 0x10]
push str.S_TEXT_SSA
push eax
call fcn.0041d5a0
add esp, 8
test al, al
jne 0x4fba51
lea ecx, [esp + 0x10]
push str.S_SSA
push ecx
call fcn.0041d5a0
add esp, 8
test al, al
jne 0x4fba51
lea edx, [esp + 0x10]
push str.S_TEXT_ASS
push edx
call fcn.0041d5a0
add esp, 8
test al, al
jne 0x4fba4a
lea eax, [esp + 0x10]
push str.S_ASS
push eax
call fcn.0041d5a0
add esp, 8
test al, al
jne 0x4fba4a
lea ecx, [esp + 0x10]
push str.S_TEXT_SSF
push ecx
call fcn.0041d5a0
add esp, 8
test al, al
jne 0x4fba43
lea edx, [esp + 0x10]
push str.S_SSF
push edx
call fcn.0041d5a0
add esp, 8
test al, al
jne 0x4fba43
lea eax, [esp + 0x10]
push str.S_TEXT_USF
push eax
call fcn.0041d5a0
add esp, 8
test al, al
jne 0x4fba3c
lea ecx, [esp + 0x10]
push str.S_USF
push ecx
call fcn.0041d5a0
add esp, 8
test al, al
jne 0x4fba3c
lea edx, [esp + 0x10]
push str.S_HDMV_PGS
push edx
call fcn.0041d5a0
add esp, 8
test al, al
je 0x4fba1a
mov eax, 0x63c29c
jmp 0x4fba56
lea eax, [esp + 0x10]
push str.S_VOBSUB
push eax
call fcn.0041d5a0
add esp, 8
test al, al
mov eax, 0x63c27c
jne 0x4fba56
mov eax, 0x69b5d0
jmp 0x4fba56
mov eax, 0x63c26c
jmp 0x4fba56
mov eax, 0x63c25c
jmp 0x4fba56
mov eax, 0x63c23c
jmp 0x4fba56
mov eax, 0x63c22c
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1fc], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x200], edx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x1fc]
push 0x69b5d0
push eax
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x210], edx
call fcn.00401250
add esp, 8
test eax, eax
jne 0x4fbaa7
lea ecx, [esp + 0x1ec]
push ecx
lea ecx, [esp + 0x50]
call fcn.004e21d0
cmp dword [esp + 0x50], 0
je 0x4f9ef3
mov ecx, dword [esi + 0xd8]
cmp dword [ecx - 0xc], 0
lea eax, [esi + 0xd8]
jne 0x4fbace
mov dword [esp + 0x14], 0x634f64
jmp 0x4fbaf7
push eax
lea edx, [esp + 0x100]
push 0x64cdb0
push edx
call fcn.004ab690
add esp, 0xc
mov eax, dword [eax]
or dword [esp + 0x5c], 1
mov byte [esp + 0x248], 0xb
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xdc]
cmp dword [eax - 0xc], 0
jne 0x4fbb0a
mov edi, 0x64cda0
jmp 0x4fbb4c
push eax
lea ecx, [esp + 0xe4]
push ecx
call fcn.0049a330
add esp, 8
mov eax, dword [eax]
or dword [esp + 0x5c], 2
push eax
lea ecx, [esp + 0xfc]
mov dword [esp + 0x24c], 0xc
call fcn.0041ff80
or dword [esp + 0x5c], 4
mov edi, dword [eax]
mov dword [esp + 0x248], 0xd
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0xe0]
push 0x64c37c
push eax
call fcn.004ab690
push 0x64c378
push eax
lea ecx, [esp + 0xec]
push ecx
mov dword [esp + 0x260], 0xe
call fcn.004ab5b0
add esp, 0x18
mov ebx, eax
push edi
lea ecx, [esp + 0xf8]
mov byte [esp + 0x24c], 0xf
call fcn.0041a030
mov edx, dword [esp + 0x14]
push edx
push eax
lea eax, [esp + 0xf0]
push eax
mov byte [esp + 0x254], 0x10
call fcn.004ab5b0
push ebx
push eax
lea ecx, [esp + 0xf8]
push ecx
mov byte [esp + 0x260], 0x11
call fcn.004ab4f0
add esp, 0x18
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x24c], 0x12
call fcn.0041fb20
mov eax, dword [esp + 0xe4]
add eax, 0xfffffff0
mov byte [esp + 0x248], 0x11
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4fbc0d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xe8]
add eax, 0xfffffff0
mov byte [esp + 0x248], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4fbc38
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xf4]
add eax, 0xfffffff0
mov byte [esp + 0x248], 0xf
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4fbc63
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xd8]
add eax, 0xfffffff0
mov byte [esp + 0x248], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4fbc8e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xdc]
add eax, 0xfffffff0
mov byte [esp + 0x248], 0xd
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4fbcb9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [esp + 0x5c]
test bl, 4
mov dword [esp + 0x248], 0xc
je 0x4fbcf7
mov eax, dword [esp + 0xf8]
and ebx, 0xfffffffb
add eax, 0xfffffff0
mov dword [esp + 0x5c], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4fbcf7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, 2
mov dword [esp + 0x248], 0xb
je 0x4fbd31
mov eax, dword [esp + 0xe0]
and ebx, 0xfffffffd
add eax, 0xfffffff0
mov dword [esp + 0x5c], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4fbd31
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, 1
mov dword [esp + 0x248], 6
je 0x4fbd6b
mov eax, dword [esp + 0xfc]
and ebx, 0xfffffffe
add eax, 0xfffffff0
mov dword [esp + 0x5c], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4fbd6b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x1f8
call fcn.005b4633
mov ebx, eax
add esp, 4
mov dword [esp + 0x1c], ebx
test ebx, ebx
mov byte [esp + 0x248], 0x13
je 0x4fbde7
mov edx, dword [esi + 0xb4]
mov ecx, dword [esi + 0x14c]
mov eax, dword [esi + 0x148]
mov edi, dword [esi + 0xb0]
mov dword [esp + 0x30], edx
lea edx, [esp + 0x130]
push edx
mov edx, dword [esp + 0x80]
add edx, 0xf4
push edx
mov edx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x44]
push edx
lea edx, [esp + 0x5c]
push edx
push 0
push 0x64
push ecx
push eax
call fcn.005df9a0
push edx
push eax
push edi
mov ecx, ebx
call fcn.004f6bf0
mov ebx, eax
jmp 0x4fbde9
xor ebx, ebx
mov dword [esp + 0x60], ebx
mov eax, dword [esi + 0xd8]
cmp dword [eax - 0xc], 0
mov byte [esp + 0x248], 0x14
je 0x4fbe19
mov edx, dword [ebx + 0xa0]
push eax
mov eax, dword [edx + 0x24]
lea ecx, [ebx + 0xa0]
push str.NAME
push ecx
call eax
mov ecx, dword [esi + 0xdc]
cmp dword [ecx - 0xc], 3
jne 0x4fbec4
mov eax, ecx
sub eax, 0x10
push eax
lea edi, [ebx + 0xa0]
call fcn.00402800
add eax, 0x10
add esp, 4
mov dword [esp + 0x1c], eax
push eax
lea ecx, [esp + 0xac]
mov byte [esp + 0x24c], 0x15
call fcn.0041ff80
mov eax, dword [eax]
mov edx, dword [edi]
push eax
mov eax, dword [edx + 0x24]
push 0x64a660
push edi
mov byte [esp + 0x254], 0x16
call eax
mov eax, dword [esp + 0xa8]
add eax, 0xfffffff0
mov byte [esp + 0x248], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4fbe9c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x248], 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4fbec4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x7c]
push ecx
mov eax, esp
mov dword [eax], ebx
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov dword [esp + 0x20], esp
mov dword [esp + 0x34], ecx
push eax
mov ecx, edi
mov dword [esp + 0x68], 0
call fcn.005244f0
mov edx, dword [esi + 0xc]
mov ebx, dword [esi + 8]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0xbc]
push ecx
mov dword [esp + 0x38], edx
lea edx, [esp + 0x80]
push edx
push ebx
lea ecx, [edi + 0x2e4]
call fcn.004f6720
test eax, eax
jne 0x4fbf33
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x78]
push eax
push ecx
push ebx
lea ecx, [edi + 0x2e4]
call fcn.004f7750
add edi, 0x314
mov dword [eax + 4], esi
mov ebx, dword [edi + 4]
cmp ebx, dword [edi + 8]
jb 0x4fbf57
lea edx, [ebx + 1]
push edx
mov ecx, edi
call fcn.00413b20
test al, al
je 0x4fc24f
mov eax, dword [edi]
lea eax, [eax + ebx*4]
test eax, eax
je 0x4fbf62
mov dword [eax], esi
add dword [edi + 4], 1
lea ecx, [esp + 0x4c]
call fcn.004e8eb0
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x248], 4
call fcn.00496f60
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x248], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4fbfab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x248], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4fbfd3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x80], 0
jne 0x4f96e0
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x7c]
test ecx, ecx
jne 0x4f96b0
xor esi, esi
mov edi, dword [ebx + 0x2e0]
cmp byte [edi + 0x29], 0
je 0x4fc065
mov ecx, dword [edi + 0x140]
fld qword [edi + 0x158]
mov eax, dword [edi + 0x144]
mov dword [esp + 0x8c], ecx
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0x90], eax
fild qword [esp + 0x8c]
and ecx, 0x80000000
mov dword [esp + 0x90], ecx
mov dword [esp + 0x8c], esi
fild qword [esp + 0x8c]
fchs
faddp st(1)
fmulp st(1)
fdiv qword [0x636138]
call fcn.005dc8d6
mov dword [ebx + 0x1e8], eax
mov dword [ebx + 0x1ec], edx
mov ecx, dword [ebx + 0x1e8]
mov edx, dword [ebx + 0x1ec]
mov eax, ecx
mov dword [ebx + 0x1f8], ecx
mov ecx, edx
mov dword [ebx + 0x210], eax
mov dword [ebx + 0x1fc], edx
mov edx, dword [ebx + 0x50]
mov dword [ebx + 0x214], ecx
mov edi, dword [edi + 0x180]
push edi
lea eax, [ebx + 0x50]
push str.TITL
push eax
mov eax, dword [edx + 0x24]
call eax
mov eax, dword [ebx + 0x2e0]
mov eax, dword [eax + 0x1f0]
cmp eax, esi
je 0x4fc20b
lea esp, [esp]
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4fc23b
mov ecx, eax
mov ecx, dword [ecx + 8]
mov edi, dword [ecx]
test edi, edi
mov eax, dword [eax]
mov dword [esp + 0xa8], eax
je 0x4fc201
xor eax, eax
test edi, edi
setne al
test eax, eax
je 0x4fc23b
mov eax, edi
mov edi, dword [edi]
mov esi, dword [eax + 8]
lea ecx, [esp + 0xbc]
call fcn.0049c800
mov ecx, dword [esi + 0x18]
push 0xffffffffffffffff
push ecx
lea ecx, [esp + 0xc4]
mov byte [esp + 0x250], 0x17
call fcn.004e2370
mov eax, dword [esi + 0x14]
mov ecx, dword [ebx + 0x2e0]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
push eax
mov eax, dword [esi + 0x10]
push eax
call edx
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xbc]
mov ecx, dword [ebx + 0x2e0]
push 0
push eax
push edx
call fcn.00525840
test eax, eax
jl 0x4fc1de
mov eax, dword [esi + 8]
push eax
lea ecx, [esp + 0xbc]
call fcn.0041ff80
mov ecx, dword [eax]
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov esi, dword [esp + 0xc0]
push 0
push esi
mov esi, dword [esp + 0xc4]
push esi
push ecx
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x88], edx
mov edx, dword [ebx + 0x64]
mov edx, dword [edx + 0x18]
push ecx
mov ecx, dword [esp + 0x8c]
lea eax, [ebx + 0x64]
push ecx
push eax
mov byte [esp + 0x264], 0x18
call edx
mov eax, dword [esp + 0xb8]
add eax, 0xfffffff0
mov byte [esp + 0x248], 0x17
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4fc1de
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xbc]
mov byte [esp + 0x248], 1
call fcn.00598980
test edi, edi
jne 0x4fc0e7
mov eax, dword [esp + 0xa8]
test eax, eax
jne 0x4fc0c0
xor esi, esi
mov eax, dword [ebx + 0x2e0]
push esi
push esi
push esi
lea ecx, [eax + 0xe8]
call fcn.00529f90
cmp eax, esi
mov dword [esp + 0x78], eax
je 0x4fc383
call fcn.005bc43d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4fc259
push 0x80004005
call fcn.00401470
push 0x80070057
call fcn.00401470
push 0x8007000e
call fcn.00401470
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0x80], edi
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
sub eax, 3
or eax, ecx
mov byte [esp + 0x248], 0x19
jge 0x4fc29b
push 3
lea ecx, [esp + 0x84]
call fcn.00401990
mov edi, dword [esp + 0x80]
push 3
push edi
push 0x59
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
jl 0x4fc245
cmp eax, dword [edi - 8]
jg 0x4fc245
lea ecx, [esp + 0x64]
push edi
mov dword [edi - 0xc], eax
push ecx
mov byte [edi + eax], 0
call fcn.0049a4f0
mov eax, dword [eax]
sub eax, 0x10
push eax
mov byte [esp + 0x254], 0x1a
call fcn.00402800
lea esi, [eax + 0x10]
add esp, 0xc
mov dword [esp + 0x84], esi
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
mov byte [esp + 0x248], 0x1c
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4fc30e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi - 0xc], 3
jge 0x4fc32c
push 0x63cb74
lea ecx, [esp + 0x88]
call fcn.00401e30
mov esi, dword [esp + 0x84]
mov ecx, dword [esp + 0x78]
push 0
push ecx
push esi
mov ecx, ebx
call fcn.004f88a0
lea eax, [esi - 0x10]
mov byte [esp + 0x248], 0x19
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4fc35f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [esp + 0x248], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4fc383
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebx + 0x1c8]
lea ecx, [esp + 0x110]
call fcn.00598980
lea ecx, [esp + 0x120]
call fcn.00598980
xor ecx, ecx
cmp ecx, ebx
sbb eax, eax
and eax, 0x7fffbffb
add eax, 0x80004005
mov ecx, dword [esp + 0x240]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x228]
xor ecx, esp
call fcn.005d8d34
mov esp, ebp
pop ebp
ret 4