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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6047c6
mov eax, dword fs:[0]
push eax
sub esp, 0x1f0
mov eax, dword [0x6f1550]
xor eax, esp
mov dword [esp + 0x1e8], eax
push ebx
push esi
push edi
mov eax, dword [0x6f1550]
xor eax, esp
push eax
lea eax, [esp + 0x200]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
xor esi, esi
cmp ebx, esi
mov edi, ecx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x48], esi
jne 0x4e8900
mov eax, 0x80004003
jmp 0x4eb371
mov ecx, dword [edi + 0x2e0]
cmp ecx, esi
mov dword [esp + 0xbc], 0x80004005
je 0x4e891e
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 1
call edx
lea ecx, [edi + 0x2e4]
mov dword [edi + 0x2e0], esi
call fcn.004e69e0
push 0xffffffffffffffff
lea ecx, [edi + 0x314]
push esi
call fcn.00498a40
push 0x228
call fcn.0059b02f
add esp, 4
mov dword [esp + 0x5c], eax
cmp eax, esi
mov dword [esp + 0x208], esi
je 0x4e896b
lea ecx, [esp + 0xbc]
push ecx
push ebx
mov ecx, eax
call fcn.0051e940
jmp 0x4e896d
xor eax, eax
cmp eax, esi
mov dword [esp + 0x208], 0xffffffff
mov dword [edi + 0x2e0], eax
jne 0x4e898c
mov eax, 0x8007000e
jmp 0x4eb371
cmp dword [esp + 0xbc], esi
jge 0x4e89b6
mov ecx, eax
cmp ecx, esi
je 0x4e89a4
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
mov eax, dword [esp + 0xbc]
mov dword [edi + 0x2e0], esi
jmp 0x4eb371
mov ecx, 1
mov dword [edi + 0x200], esi
mov dword [edi + 0x204], esi
mov dword [edi + 0x208], esi
mov dword [edi + 0x20c], esi
mov dword [edi + 0x1e8], esi
mov dword [edi + 0x1ec], esi
mov dword [edi + 0x1f8], esi
mov dword [edi + 0x1fc], esi
mov dword [edi + 0x210], esi
mov dword [edi + 0x214], esi
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x98], ecx
mov ecx, dword [eax + 0x1c0]
cmp ecx, esi
je 0x4eafd4
lea ebx, [ebx]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x4eb215
mov eax, ecx
mov eax, dword [eax + 8]
mov eax, dword [eax]
test eax, eax
mov ecx, dword [ecx]
mov dword [esp + 0x5c], ecx
je 0x4eafca
jmp 0x4e8a4a
mov eax, dword [esp + 0x74]
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4eb215
mov esi, dword [eax + 8]
mov ecx, dword [eax]
push 0
push 2
mov dword [esp + 0x7c], ecx
lea ebx, [esi + 0xd8]
push ebx
mov ecx, esi
call fcn.0051a270
test al, al
je 0x4eafb4
lea edx, [esp + 0x10]
push edx
lea ecx, [esi + 0xc8]
call fcn.004e6570
mov dword [esp + 0x208], 1
call fcn.005a2e2e
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4eb215
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
push ecx
push eax
lea ecx, [esp + 0x3c]
push str.Output__I64d
push ecx
mov byte [esp + 0x218], 2
call fcn.0045a920
add esp, 0x10
lea ecx, [esp + 0x1ac]
call fcn.00486290
lea ecx, [esp + 0x4c]
call fcn.00433fe0
push 1
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x20c], 4
call fcn.00486410
mov eax, dword [esi + 0x38]
cmp eax, 1
mov ecx, dword [esi + 0x3c]
mov edi, dword [esp + 0x10]
jne 0x4e9c9c
test ecx, ecx
jne 0x4e9c9c
mov edx, dword [esp + 0xc0]
push edx
lea eax, [esp + 0x38]
push str.Video__d
push eax
call fcn.0045a920
mov ecx, dword [0x6144d4]
mov edx, dword [0x6144d8]
mov eax, dword [0x6144dc]
add dword [esp + 0xcc], 1
mov dword [esp + 0x1b8], ecx
mov ecx, dword [0x6144e0]
push str.V_MS_VFW_FOURCC
push edi
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], ecx
call fcn.005c0e71
add esp, 0x14
test eax, eax
sete al
test al, al
je 0x4e8ce1
mov edx, dword [0x614954]
mov eax, dword [0x614958]
mov ecx, dword [0x61495c]
mov dword [esp + 0x1d8], edx
mov edx, dword [0x614960]
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1e4], edx
mov eax, dword [esi + 0xdc]
add eax, 0x30
push eax
lea ecx, [esp + 0x1b0]
call fcn.00485f80
mov ecx, dword [esp + 0x1f0]
mov edi, eax
mov eax, dword [esp + 0x1ec]
push eax
push 0
push ecx
call fcn.005c0060
mov eax, dword [esi + 0xdc]
mov ebx, dword [ebx]
push eax
lea edx, [edi + 0x30]
push ebx
push edx
call fcn.005c1a70
mov eax, dword [edi + 0x40]
mov dword [esp + 0x1d4], eax
mov word [esp + 0x130], 0
mov word [esp + 0x132], 0x10
mov eax, dword [esp + 0x130]
mov ecx, 0xaa000080
mov edx, 0x719b3800
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], edx
mov eax, dword [edi + 0x40]
add esp, 0x18
test eax, eax
je 0x4e8c58
cmp eax, 3
jne 0x4e8cd4
movzx eax, word [edi + 0x3e]
cmp ax, 1
jne 0x4e8c69
mov eax, 0x614604
jmp 0x4e8cad
cmp ax, 4
jne 0x4e8c76
mov eax, 0x614614
jmp 0x4e8cad
cmp ax, 8
jne 0x4e8c83
mov eax, 0x614624
jmp 0x4e8cad
cmp ax, 0x10
jne 0x4e8c90
mov eax, 0x614634
jmp 0x4e8cad
cmp ax, 0x18
jne 0x4e8c9d
mov eax, 0x614654
jmp 0x4e8cad
cmp ax, 0x20
mov eax, 0x614694
je 0x4e8cad
mov eax, 0x67b350
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1bc], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x1c0], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c8], edx
lea eax, [esp + 0x1ac]
push eax
jmp 0x4e99b9
push str.V_UNCOMPRESSED
push edi
call fcn.005c0e71
add esp, 8
test eax, eax
sete al
test al, al
jne 0x4e99c2
cmp dword [edi - 0xc], 0
jl 0x4e96d3
push str.V_MPEG4_ISO_AVC
push edi
call fcn.005c0219
add esp, 8
test eax, eax
je 0x4e9461
sub eax, edi
jne 0x4e9461
mov eax, dword [esi + 0xdc]
cmp eax, 6
mov dword [esp + 0x14], eax
jb 0x4e9461
cmp dword [ebx + 4], 5
jbe 0x4eb21f
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 + 0x3c], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], edx
xor edi, edi
cmp dword [esp + 0x14], edx
mov byte [esp + 0x208], 5
jle 0x4e8d98
mov edi, edi
cmp edi, dword [ebx + 4]
jae 0x4eb21f
mov eax, dword [ebx]
add eax, edi
push eax
lea ecx, [esp + 0x3c]
call fcn.004e8760
add edi, 1
cmp edi, dword [esp + 0x14]
jl 0x4e8d70
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
cmp byte [esp + 0x18], cl
mov ebx, 6
mov byte [esp + 0x208], 6
mov dword [esp + 0x28], ebx
je 0x4e8f9f
add byte [esp + 0x18], 0xff
test eax, eax
jne 0x4e8dce
xor ecx, ecx
jmp 0x4e8dd2
mov ecx, edx
sub ecx, eax
lea edi, [ebx + 2]
cmp edi, ecx
ja 0x4e9217
test eax, eax
je 0x4e8de9
mov ecx, edx
sub ecx, eax
cmp ebx, ecx
jb 0x4e8df6
call fcn.005c7116
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
test eax, eax
lea ecx, [eax + ebx]
mov dword [esp + 0x14], ecx
lea edi, [ebx + 1]
je 0x4e8e0c
mov ecx, edx
sub ecx, eax
cmp edi, ecx
jb 0x4e8e19
call fcn.005c7116
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
test eax, eax
movzx ecx, byte [eax + edi]
mov edi, dword [esp + 0x14]
mov ch, byte [edi]
mov dword [esp + 0x60], ecx
jne 0x4e8e2f
xor edx, edx
jmp 0x4e8e31
sub edx, eax
lea edi, [ecx + ebx + 2]
cmp edi, edx
mov dword [esp + 0x1c], edi
ja 0x4e9217
cmp dword [esp + 0x68], 0
jne 0x4e8e4c
xor edi, edi
jmp 0x4e8e54
mov edi, dword [esp + 0x6c]
sub edi, dword [esp + 0x68]
lea edx, [edi + ecx + 2]
push 0
push edx
lea ecx, [esp + 0x6c]
call fcn.004e8450
mov ecx, dword [esp + 0x68]
cmp ecx, dword [esp + 0x6c]
mov ebx, ecx
jbe 0x4e8e79
call fcn.005c7116
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xc8], ebx
add ebx, edi
cmp ebx, dword [esp + 0x6c]
lea eax, [esp + 0x64]
mov dword [esp + 0xc4], eax
mov dword [esp + 0x14], ebx
ja 0x4e8e9b
cmp ebx, ecx
jae 0x4e8ea0
call fcn.005c7116
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov ebx, eax
jbe 0x4e8eb5
call fcn.005c7116
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], ebx
add ebx, ecx
cmp ebx, dword [esp + 0x40]
lea edi, [esp + 0x38]
ja 0x4e8ecd
cmp ebx, eax
jae 0x4e8ed6
call fcn.005c7116
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], ebx
add ebx, 2
cmp ebx, dword [edi + 8]
ja 0x4e8ee7
cmp ebx, dword [edi + 4]
jae 0x4e8ef0
call fcn.005c7116
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
add ebx, edx
cmp ebx, dword [edi + 8]
ja 0x4e8f00
cmp ebx, dword [edi + 4]
jae 0x4e8f09
call fcn.005c7116
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov edi, eax
jbe 0x4e8f1a
call fcn.005c7116
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
add edi, ecx
cmp edi, dword [esp + 0x40]
ja 0x4e8f2a
cmp edi, eax
jae 0x4e8f33
call fcn.005c7116
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xc4]
sub ebx, edi
add edx, ebx
cmp edx, dword [ecx + 8]
ja 0x4e8f4c
cmp edx, dword [ecx + 4]
jae 0x4e8f5c
call fcn.005c7116
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xc4]
test ebx, ebx
mov edx, dword [esp + 0x40]
jle 0x4e8f8a
mov eax, dword [esp + 0x14]
cmp eax, dword [ecx + 8]
jb 0x4e8f72
call fcn.005c7116
mov ecx, dword [esp + 0x14]
push ebx
push edi
push ebx
push ecx
call fcn.005bf903
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
add esp, 0x10
cmp byte [esp + 0x18], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
mov ebx, ecx
jne 0x4e8dc1
test eax, eax
jne 0x4e8fa7
xor edx, edx
jmp 0x4e8fa9
sub edx, eax
lea edi, [ebx + 1]
cmp edi, edx
jbe 0x4e9001
lea ecx, [esp + 0x64]
call fcn.004e7530
lea ecx, [esp + 0x38]
call fcn.004e7530
lea ecx, [esp + 0x4c]
call fcn.004d84b0
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x208], 2
call fcn.00486280
lea ecx, [esp + 0x34]
call fcn.004120a0
lea ecx, [esp + 0x10]
mov dword [esp + 0x208], 0xffffffff
call fcn.00401aa0
jmp 0x4eafb4
push ebx
lea ecx, [esp + 0x3c]
call fcn.004e5690
movzx eax, byte [eax]
test eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], edi
je 0x4e91f0
mov edi, edi
mov eax, dword [esp + 0x3c]
sub dword [esp + 0x14], 1
test eax, eax
mov edx, dword [esp + 0x40]
jne 0x4e9035
xor ecx, ecx
jmp 0x4e9039
mov ecx, edx
sub ecx, eax
mov ebx, dword [esp + 0x28]
lea edi, [ebx + 2]
cmp edi, ecx
ja 0x4e9217
test eax, eax
je 0x4e9054
mov ecx, edx
sub ecx, eax
cmp ebx, ecx
jb 0x4e9061
call fcn.005c7116
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
test eax, eax
lea ecx, [eax + ebx]
mov dword [esp + 0x1c], ecx
lea edi, [ebx + 1]
je 0x4e9077
mov ecx, edx
sub ecx, eax
cmp edi, ecx
jb 0x4e9084
call fcn.005c7116
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
test eax, eax
movzx ecx, byte [eax + edi]
mov edi, dword [esp + 0x1c]
mov ch, byte [edi]
mov dword [esp + 0x18], ecx
jne 0x4e909a
xor edx, edx
jmp 0x4e909c
sub edx, eax
lea ebx, [ecx + ebx + 2]
cmp ebx, edx
mov dword [esp + 0x60], ebx
ja 0x4e9217
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x4e90b8
xor edi, edi
jmp 0x4e90be
mov edi, dword [esp + 0x6c]
sub edi, eax
mov edx, dword [esp + 0x18]
push 0
lea eax, [edi + edx + 2]
push eax
lea ecx, [esp + 0x6c]
call fcn.004e8450
mov ecx, dword [esp + 0x68]
cmp ecx, dword [esp + 0x6c]
mov ebx, ecx
jbe 0x4e90e7
call fcn.005c7116
mov ecx, dword [esp + 0x68]
add edi, ebx
cmp edi, dword [esp + 0x6c]
lea eax, [esp + 0x64]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x1c], edi
ja 0x4e9109
cmp edi, ecx
jae 0x4e910e
call fcn.005c7116
mov edi, dword [esp + 0x3c]
cmp edi, dword [esp + 0x40]
jbe 0x4e911d
call fcn.005c7116
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], edi
add edi, ecx
cmp edi, dword [esp + 0x40]
lea ebx, [esp + 0x38]
ja 0x4e9137
cmp edi, dword [esp + 0x3c]
jae 0x4e913c
call fcn.005c7116
mov dword [esp + 0x10c], edi
add edi, 2
cmp edi, dword [ebx + 8]
mov eax, ebx
mov dword [esp + 0x108], eax
ja 0x4e9159
cmp edi, dword [ebx + 4]
jae 0x4e9165
call fcn.005c7116
mov eax, dword [esp + 0x108]
mov edx, dword [esp + 0x18]
lea ebx, [edi + edx]
cmp ebx, dword [eax + 8]
ja 0x4e9176
cmp ebx, dword [eax + 4]
jae 0x4e917b
call fcn.005c7116
mov edi, dword [esp + 0x3c]
cmp edi, dword [esp + 0x40]
jbe 0x4e918a
call fcn.005c7116
mov eax, dword [esp + 0x28]
add edi, eax
cmp edi, dword [esp + 0x40]
ja 0x4e919c
cmp edi, dword [esp + 0x3c]
jae 0x4e91a1
call fcn.005c7116
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x5c]
mov byte [esp + 0xd0], 0
mov ecx, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0xf8]
push eax
push ecx
push edx
push ebx
lea eax, [esp + 0x17c]
push edi
push eax
call fcn.004e63d0
mov ecx, dword [esp + 0x80]
add esp, 0x20
cmp dword [esp + 0x14], 0
mov dword [esp + 0x28], ecx
jne 0x4e9020
lea ecx, [esp + 0xf8]
call fcn.00433fe0
mov ecx, dword [esp + 0x68]
test ecx, ecx
mov byte [esp + 0x208], 7
jne 0x4e9291
xor eax, eax
jmp 0x4e9297
mov ecx, dword [esp + 0x68]
xor esi, esi
cmp ecx, esi
je 0x4e922e
push ecx
call fcn.0059b05f
mov eax, dword [esp + 0x40]
add esp, 4
cmp eax, esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
je 0x4e9247
push eax
call fcn.0059b05f
add esp, 4
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
lea ecx, [esp + 0x4c]
call fcn.004d84b0
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x208], 2
call fcn.00486280
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov byte [esp + 0x208], 1
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x4eaf7d
mov eax, dword [esp + 0x6c]
sub eax, ecx
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x100]
call fcn.004871d0
lea ecx, [esp + 0x154]
push ecx
lea ecx, [esp + 0x68]
call fcn.004e6830
lea edx, [esp + 0x15c]
push edx
lea ecx, [esp + 0x68]
mov edi, eax
call fcn.004e6800
mov ecx, dword [esp + 0xf8]
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.004e6ab0
add esp, 0x14
push 0x31435641
lea ecx, [esp + 0x1a0]
call fcn.00415020
mov ecx, dword [eax]
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x1bc], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1c0], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x1c4], ecx
mov edx, dword [eax + 0xc]
mov ecx, dword [0x614a88]
mov eax, dword [0x614a84]
mov dword [esp + 0x1dc], ecx
lea ecx, [ebx + 0x84]
mov dword [esp + 0x1c8], edx
mov edx, dword [0x614a8c]
mov dword [esp + 0x1d8], eax
mov eax, dword [0x614a90]
push ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x1e4], edx
mov dword [esp + 0x1e8], eax
call fcn.00485f80
mov edx, dword [esp + 0x1ec]
push edx
mov edi, eax
mov eax, dword [esp + 0x1f4]
push 0
push eax
call fcn.005c0060
mov dword [edi + 0x48], 0x28
mov eax, dword [esi + 0x198]
mov ecx, dword [esi + 0x19c]
mov dword [edi + 0x4c], eax
mov edx, dword [esi + 0x1b4]
mov eax, dword [esi + 0x1b0]
add esp, 0xc
mov dword [esp + 0x30], ecx
push 1
lea ecx, [esi + 0xd8]
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.004d1550
movzx eax, byte [eax]
push 3
lea ecx, [esi + 0xd8]
mov dword [edi + 0x78], eax
call fcn.004d1550
movzx ecx, byte [eax]
mov dword [edi + 0x7c], ecx
push 4
lea ecx, [esi + 0xd8]
call fcn.004d1550
movzx edx, byte [eax]
mov ecx, dword [esp + 0xf8]
push ebx
and edx, 3
lea eax, [edi + 0x84]
push ecx
add edx, 1
push eax
mov dword [edi + 0x80], edx
call fcn.005c1a70
add esp, 0xc
lea edx, [esp + 0x1ac]
push edx
lea ecx, [esp + 0x50]
mov dword [edi + 0x74], ebx
call fcn.004d18e0
lea ecx, [esp + 0xf8]
call fcn.004c8dc0
lea ecx, [esp + 0x64]
call fcn.004e7530
lea ecx, [esp + 0x38]
mov byte [esp + 0x208], 4
call fcn.004e7530
jmp 0x4e99c2
cmp dword [edi - 0xc], 0
jl 0x4e96d3
push str.V_MPEG4_
push edi
call fcn.005c0219
add esp, 8
test eax, eax
je 0x4e959f
sub eax, edi
jne 0x4e959f
mov word [esp + 0x128], ax
mov eax, 0xaa000080
mov dword [esp + 0x1c4], eax
mov eax, dword [0x614a84]
mov edx, 0x5634504d
mov dword [esp + 0x1bc], edx
mov word [esp + 0x12a], 0x10
mov edx, dword [esp + 0x128]
mov ecx, 0x719b3800
mov dword [esp + 0x1c8], ecx
mov ecx, dword [0x614a88]
mov dword [esp + 0x1d8], eax
mov eax, dword [0x614a90]
mov dword [esp + 0x1c0], edx
mov edx, dword [0x614a8c]
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e0], edx
mov eax, dword [esi + 0xdc]
add eax, 0x84
push eax
lea ecx, [esp + 0x1b0]
call fcn.00485f80
mov ecx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x1f0]
push ecx
push 0
push edx
mov edi, eax
call fcn.005c0060
mov dword [edi + 0x48], 0x28
mov eax, dword [esi + 0x198]
mov ecx, dword [esi + 0x19c]
mov dword [edi + 0x4c], eax
mov eax, dword [esi + 0x1b0]
mov edx, dword [esi + 0x1b4]
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 + 0xdc]
mov ebx, dword [ebx]
push ecx
lea eax, [edi + 0x84]
push ebx
push eax
mov dword [esp + 0x48], edx
call fcn.005c1a70
mov eax, dword [esi + 0xdc]
mov dword [edi + 0x74], eax
add esp, 0x18
lea eax, [esp + 0x1ac]
push eax
jmp 0x4e99b9
cmp dword [edi - 0xc], 0
jl 0x4e96d3
push str.V_REAL_RV
push edi
call fcn.005c0219
add esp, 8
test eax, eax
je 0x4e96d3
sub eax, edi
jne 0x4e96d3
cmp dword [edi - 0xc], 9
jl 0x4eb21f
mov ecx, dword [esp + 0x10]
movsx edx, byte [ecx + 9]
sub edx, 0x30
shl edx, 0x10
add edx, 0x30305652
push edx
lea ecx, [esp + 0x170]
call fcn.00415020
mov ecx, dword [eax]
mov dword [esp + 0x1bc], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1c0], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x1c4], ecx
mov edx, dword [eax + 0xc]
mov eax, dword [0x614954]
mov ecx, dword [0x614958]
mov dword [esp + 0x1d8], eax
mov eax, dword [0x614960]
mov dword [esp + 0x1c8], edx
mov edx, dword [0x61495c]
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e0], edx
mov eax, dword [esi + 0xdc]
add eax, 0x58
push eax
lea ecx, [esp + 0x1b0]
call fcn.00485f80
mov ecx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x1f0]
push ecx
push 0
push edx
mov edi, eax
call fcn.005c0060
mov eax, dword [esi + 0xdc]
mov ebx, dword [ebx]
push eax
mov eax, dword [esp + 0x200]
add eax, 0x58
push ebx
push eax
call fcn.005c1a70
mov dword [edi + 0x30], 0x28
mov eax, dword [esi + 0x198]
mov ecx, dword [esi + 0x19c]
mov dword [edi + 0x34], eax
mov eax, dword [esi + 0x1b0]
mov edx, dword [esi + 0x1b4]
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x48], ecx
add esp, 0x18
mov dword [esp + 0x30], edx
mov dword [edi + 0x40], eax
jmp 0x4e99b1
lea edx, [esp + 0x10]
push str.V_DIRAC
push edx
call fcn.00416280
add esp, 8
test al, al
je 0x4e97e0
mov eax, dword [0x61cfcc]
mov ecx, dword [0x61cfd0]
mov edx, dword [0x61cfd4]
mov dword [esp + 0x1bc], eax
mov eax, dword [0x61cfd8]
mov dword [esp + 0x1c0], ecx
mov ecx, dword [0x61cfdc]
mov dword [esp + 0x1c8], eax
mov eax, dword [0x61cfe4]
mov dword [esp + 0x1d8], ecx
mov ecx, dword [0x61cfe8]
mov dword [esp + 0x1c4], edx
mov edx, dword [str.U_DB]
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1dc], edx
mov eax, dword [esi + 0xdc]
add eax, 0x74
push eax
lea ecx, [esp + 0x1b0]
call fcn.00485f80
mov edx, dword [esp + 0x1ec]
push edx
mov edi, eax
mov eax, dword [esp + 0x1f4]
push 0
push eax
call fcn.005c0060
mov dword [edi + 0x48], 0x28
mov ecx, dword [esi + 0x19c]
mov eax, dword [esi + 0x198]
mov dword [edi + 0x4c], eax
mov edx, dword [esi + 0x1b4]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi + 0x1b0]
mov dword [edi + 0x38], eax
mov dword [edi + 0x50], ecx
mov dword [edi + 0x3c], ecx
mov ecx, dword [esi + 0xdc]
mov ebx, dword [ebx]
push ecx
lea eax, [edi + 0x74]
push ebx
push eax
mov dword [esp + 0x48], edx
call fcn.005c1a70
mov eax, dword [esi + 0xdc]
mov dword [edi + 0x70], eax
add esp, 0x18
lea eax, [esp + 0x1ac]
push eax
jmp 0x4e99b9
lea ecx, [esp + 0x10]
push str.V_MPEG2
push ecx
call fcn.00416280
add esp, 8
test al, al
jne 0x4e9971
lea edx, [esp + 0x10]
push str.V_DSHOW_MPEG2VIDEO
push edx
call fcn.00416280
add esp, 8
test al, al
jne 0x4e9971
lea eax, [esp + 0x10]
push str.V_DSHOW_MPEG1VIDEO
push eax
call fcn.00416280
add esp, 8
test al, al
jne 0x4e9844
lea ecx, [esp + 0x10]
push str.V_MPEG1
push ecx
call fcn.00416280
add esp, 8
test al, al
je 0x4e99c2
mov edx, dword [0x6144d4]
mov eax, dword [0x6144d8]
mov ecx, dword [0x6144dc]
mov dword [esp + 0x1b0], eax
mov eax, dword [0x6146e4]
mov dword [esp + 0x1b4], ecx
mov ecx, dword [0x6146e8]
mov dword [esp + 0x1ac], edx
mov edx, dword [0x6144e0]
mov dword [esp + 0x1bc], eax
mov eax, dword [0x6146f0]
mov dword [esp + 0x1c0], ecx
mov ecx, dword [0x614984]
mov dword [esp + 0x1b8], edx
mov edx, dword [0x6146ec]
mov dword [esp + 0x1c8], eax
mov eax, dword [0x61498c]
mov dword [esp + 0x1d8], ecx
mov ecx, dword [0x614990]
mov dword [esp + 0x1c4], edx
mov edx, dword [0x614988]
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1dc], edx
mov eax, dword [esi + 0xdc]
add eax, 0x60
push eax
lea ecx, [esp + 0x1b0]
call fcn.00485f80
mov edx, dword [esp + 0x1ec]
push edx
mov edi, eax
mov eax, dword [esp + 0x1f4]
push 0
push eax
call fcn.005c0060
mov dword [edi + 0x30], 0x28
mov eax, dword [esi + 0x198]
mov ecx, dword [esi + 0x19c]
mov dword [edi + 0x34], eax
mov eax, dword [esi + 0x1b0]
mov edx, dword [esi + 0x1b4]
mov dword [edi + 0x38], eax
mov ebx, dword [ebx]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi + 0xdc]
push ecx
lea eax, [edi + 0x60]
push ebx
push eax
mov dword [esp + 0x48], edx
call fcn.005c1a70
mov eax, dword [esi + 0xdc]
mov dword [edi + 0x5c], eax
mov eax, dword [edi + 0x38]
imul eax, dword [edi + 0x34]
add eax, eax
add esp, 0x18
add eax, eax
push eax
lea ecx, [esp + 0x1b0]
call fcn.00486410
jmp 0x4e99b1
mov edx, dword [esi + 0x19c]
mov ecx, dword [esi + 0x198]
mov eax, dword [esi + 0xdc]
mov ebx, dword [ebx]
mov edi, dword [esi + 0x1b4]
mov dword [esp + 0x30], edx
mov edx, dword [esi + 0x1b0]
push edx
push ecx
push eax
lea eax, [esp + 0x1b8]
push ebx
push eax
mov dword [esp + 0x44], edi
call fcn.00486c40
add esp, 0x14
test al, al
je 0x4e99c2
lea ecx, [esp + 0x1ac]
push ecx
lea ecx, [esp + 0x50]
call fcn.004d18e0
fld qword [esi + 0x258]
fldz
fcompp
fnstsw ax
test ah, 5
jp 0x4e99e6
fld qword [esi + 0x258]
fdivr qword [0x613ce0]
call fcn.005c2136
jmp 0x4e9a09
mov ecx, dword [esi + 0x134]
test ecx, ecx
mov eax, dword [esi + 0x130]
ja 0x4e99fe
test eax, eax
jbe 0x4e9ac0
push 0
push 0x64
push ecx
push eax
call fcn.005bf9a0
mov dword [esp + 0xb0], edx
mov edx, eax
or edx, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
je 0x4e9ac0
cmp dword [esp + 0x50], 0
mov dword [esp + 0x14], 0
jbe 0x4e9ac0
mov ebx, dword [esp + 0x4c]
xor edi, edi
nop
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x14], eax
jae 0x4eb21f
lea ecx, [edi + ebx + 0x2c]
push 0x614954
push ecx
call fcn.00401260
add esp, 8
test eax, eax
jne 0x4e9a90
lea edx, [edi + ebx + 0x2c]
push 0x614964
push edx
call fcn.00401260
add esp, 8
test eax, eax
jne 0x4e9a90
lea eax, [edi + ebx + 0x2c]
push 0x614a84
push eax
call fcn.00401260
add esp, 8
test eax, eax
je 0x4e9aac
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 0x4e9a40
mov eax, dword [esi + 0x1c8]
or eax, dword [esi + 0x1cc]
je 0x4eaa7f
mov eax, dword [esi + 0x1e0]
or eax, dword [esi + 0x1e4]
je 0x4eaa7f
xor ebx, ebx
cmp dword [esp + 0x50], ebx
jbe 0x4eaa84
xor edi, edi
cmp ebx, dword [esp + 0x50]
jae 0x4eb21f
mov eax, dword [esp + 0x4c]
lea ecx, [edi + eax + 0x2c]
push 0x614954
push ecx
call fcn.00401260
add esp, 8
test eax, eax
je 0x4e9c2d
mov edx, dword [esp + 0x4c]
mov eax, dword [edi + edx + 0x40]
mov ecx, dword [0x614964]
mov edx, dword [0x614968]
add eax, 0xffffffd0
mov dword [esp + 0x1d8], ecx
mov ecx, dword [0x61496c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1dc], edx
mov edx, dword [0x614970]
add eax, 0x48
mov dword [esp + 0x1e0], ecx
push eax
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x1e8], edx
call fcn.00485f80
cmp ebx, dword [esp + 0x50]
jae 0x4eb21f
mov eax, dword [esp + 0x4c]
mov eax, dword [edi + eax + 0x44]
mov ecx, dword [esp + 0x1f0]
push 0x30
push eax
push ecx
call fcn.005c1a70
mov ecx, dword [esp + 0x1fc]
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 0x4eb21f
mov edx, dword [esp + 0x4c]
mov eax, dword [edi + edx + 0x44]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x1f0]
push ecx
add eax, 0x30
push eax
add edx, 0x48
push edx
call fcn.005c1a70
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1cc]
mov edx, dword [esp + 0x1fc]
mov dword [edx + 0x38], eax
mov eax, dword [esi + 0x1e0]
mov edx, dword [esp + 0x1fc]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi + 0x1e4]
add esp, 0xc
mov dword [edx + 0x3c], eax
push 1
lea eax, [esp + 0x1b0]
push eax
mov dword [esp + 0x38], ecx
push ebx
lea ecx, [esp + 0x58]
call fcn.004d34b0
add ebx, 1
add edi, 0x48
jmp 0x4e9c87
mov ecx, dword [esp + 0x4c]
lea edx, [edi + ecx + 0x2c]
push 0x614a84
push edx
call fcn.00401260
add esp, 8
test eax, eax
je 0x4e9c87
mov ecx, dword [esi + 0x1cc]
mov edx, dword [esp + 0x4c]
mov eax, dword [esi + 0x1c8]
mov dword [esp + 0x30], ecx
mov ecx, dword [edi + edx + 0x44]
mov dword [ecx + 0x38], eax
cmp ebx, dword [esp + 0x50]
mov ecx, dword [esi + 0x1e4]
mov eax, dword [esi + 0x1e0]
mov dword [esp + 0x30], ecx
jae 0x4eb21f
mov edx, dword [esp + 0x4c]
mov ecx, dword [edi + edx + 0x44]
mov dword [ecx + 0x3c], eax
add ebx, 1
add edi, 0x48
cmp ebx, dword [esp + 0x50]
jb 0x4e9afc
jmp 0x4eaa7f
mov edx, eax
cmp edx, 2
jne 0x4ea725
mov edx, ecx
test edx, edx
jne 0x4ea725
mov edi, dword [esp + 0x90]
push edi
lea eax, [esp + 0x38]
push str.Audio__d
push eax
call fcn.0045a920
mov ecx, dword [0x6144e4]
mov edx, dword [0x6144e8]
mov eax, dword [0x6144ec]
mov dword [esp + 0x1b8], ecx
mov ecx, dword [0x6144f0]
mov dword [esp + 0x1bc], edx
mov edx, dword [0x614974]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [0x61497c]
add esp, 0xc
mov dword [esp + 0x1b4], eax
mov eax, dword [0x614978]
mov dword [esp + 0x1d8], edx
mov edx, dword [0x614980]
mov dword [esp + 0x1e0], ecx
add edi, 1
push 0x12
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x94], edi
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e8], edx
call fcn.00485f80
mov edi, eax
mov eax, dword [esp + 0x1ec]
push eax
push 0
push edi
call fcn.005c0060
fnstcw word [esp + 0x24]
mov edx, dword [esi + 0x2a0]
mov ecx, dword [esi + 0x2a4]
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 + 0x270]
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 + 0x2c8]
mov dword [esp + 0xa0], eax
mov eax, dword [esi + 0x2cc]
fldcw word [esp + 0x1c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xa0]
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 + 0x1b0]
mov dword [edi + 8], eax
call fcn.00486410
test byte [0x6f95e8], 1
jne 0x4e9e3d
fld dword [0x625778]
or dword [0x6f95e8], 1
push 0xa
sub esp, 0xc
fstp dword [esp + 8]
mov ecx, 0x6f95b8
fld dword [0x625774]
fstp dword [esp + 4]
fld dword [0x625770]
fstp dword [esp]
push 0x11
call fcn.004e6ae0
push 0x6103d0
call fcn.005c3d32
add esp, 4
cmp dword [0x6f95bc], 0
jne 0x4e9f31
push str.A_MPEG_L3
mov ecx, 0x6f95b8
call fcn.004e8850
push str.A_MPEG_L2
mov ecx, 0x6f95b8
mov dword [eax], 0x55
call fcn.004e8850
push str.A_AC3
mov ecx, 0x6f95b8
mov dword [eax], 0x50
call fcn.004e8850
push str.A_DTS
mov ecx, 0x6f95b8
mov dword [eax], 0x2000
call fcn.004e8850
push str.A_EAC3
mov ecx, 0x6f95b8
mov dword [eax], 0x2001
call fcn.004e8850
push str.A_PCM_INT_LIT
mov ecx, 0x6f95b8
mov dword [eax], 0x2000
call fcn.004e8850
push str.A_PCM_FLOAT_IEEE
mov ecx, 0x6f95b8
mov dword [eax], 1
call fcn.004e8850
push str.A_AAC
mov ecx, 0x6f95b8
mov dword [eax], 3
call fcn.004e8850
push str.A_FLAC
mov ecx, 0x6f95b8
mov dword [eax], 0xffffff01
call fcn.004e8850
push str.A_WAVPACK4
mov ecx, 0x6f95b8
mov dword [eax], 0xffff0e54
call fcn.004e8850
push str.A_TTA1
mov ecx, 0x6f95b8
mov dword [eax], 0xffffa8aa
call fcn.004e8850
mov dword [eax], 0x77a1
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x94]
push ecx
push edx
mov ecx, 0x6f95b8
call fcn.004e6240
test al, al
je 0x4ea045
cmp dword [esp + 0x94], 0
jge 0x4e9fa2
mov eax, dword [esp + 0x94]
neg eax
mov dword [esp + 0x94], eax
mov eax, dword [esi + 0xdc]
mov word [edi + 0x10], ax
mov eax, dword [esi + 0xdc]
add eax, 0x12
push eax
lea ecx, [esp + 0x1b0]
call fcn.00485fe0
mov ebx, dword [ebx]
mov edi, eax
mov eax, dword [esi + 0xdc]
push eax
lea ecx, [edi + 0x12]
push ebx
push ecx
call fcn.005c1a70
add esp, 0xc
mov ebx, dword [esp + 0x94]
mov word [edi], bx
movzx eax, bx
mov ecx, 0xaa000080
mov dword [esp + 0x1c4], ecx
lea ecx, [esp + 0x1ac]
mov dword [esp + 0x1bc], eax
mov word [esp + 0x148], 0
mov word [esp + 0x14a], 0x10
mov eax, dword [esp + 0x148]
mov edx, 0x719b3800
push ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1cc], edx
call fcn.004d18e0
cmp ebx, 0xf1ac
jne 0x4eaa7f
mov edx, dword [0x61cf8c]
mov eax, dword [0x61cf90]
mov ecx, dword [0x61cf94]
mov dword [esp + 0x1bc], edx
mov edx, dword [0x61cf98]
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c8], edx
jmp 0x4ea5f5
mov ecx, dword [esp + 0x10]
push str.A_VORBIS
push ecx
call fcn.005c0e71
add esp, 8
test eax, eax
sete al
test al, al
je 0x4ea3b3
mov edi, dword [ebx]
lea ecx, [esp + 0x78]
call fcn.00433fe0
mov al, byte [edi]
mov ecx, dword [esp + 0x7c]
add edi, 1
test al, al
mov byte [esp + 0x208], 8
mov byte [esp + 0x18], al
mov dword [esp + 0x28], edi
jbe 0x4ea0e9
lea esp, [esp]
xor ebx, ebx
mov al, byte [edi]
movzx edx, al
add ebx, edx
add edi, 1
cmp al, 0xff
je 0x4ea092
cmp ecx, dword [esp + 0x80]
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], ecx
jb 0x4ea0ca
add ecx, 1
push ecx
lea ecx, [esp + 0x7c]
call fcn.0040c6d0
test al, al
je 0x4eb229
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x1c]
lea eax, [eax + edx*4]
test eax, eax
je 0x4ea0db
mov dword [eax], ebx
add ecx, 1
add byte [esp + 0x18], 0xff
mov dword [esp + 0x7c], ecx
jne 0x4ea090
xor edi, edi
xor eax, eax
test ecx, ecx
jbe 0x4ea107
cmp eax, ecx
mov edx, dword [esp + 0x78]
jae 0x4eb21f
add edi, dword [edx + eax*4]
add eax, 1
cmp eax, ecx
jb 0x4ea0fd
cmp ecx, dword [esp + 0x80]
mov eax, dword [esi + 0xdc]
mov ebx, dword [esi + 0xd8]
mov dword [esp + 0x60], eax
mov dword [esp + 0x1c], ecx
jb 0x4ea13d
add ecx, 1
push ecx
lea ecx, [esp + 0x7c]
call fcn.0040c6d0
test al, al
je 0x4eb229
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x78]
lea eax, [edx + eax*4]
test eax, eax
je 0x4ea158
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 + 0x7c], ecx
jae 0x4eb21f
add edi, dword [edx + eax*4]
cmp ecx, 3
jne 0x4ea2ba
mov ecx, dword [0x61d14c]
mov edx, dword [str.AXkJ]
mov eax, dword [0x61d154]
mov dword [esp + 0x1bc], ecx
mov ecx, dword [0x61d158]
mov dword [esp + 0x1c0], edx
mov edx, dword [0x61d15c]
mov dword [esp + 0x1c8], ecx
mov ecx, dword [0x61d164]
mov dword [esp + 0x1c4], eax
mov eax, dword [0x61d160]
mov dword [esp + 0x1d8], edx
mov edx, dword [str.futs]
mov dword [esp + 0x1e0], ecx
add edi, 0x18
push edi
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e8], edx
call fcn.00485f80
mov ebx, eax
mov eax, dword [esp + 0x1ec]
push eax
push 0
push ebx
call fcn.005c0060
fnstcw word [esp + 0x24]
mov eax, dword [esi + 0x2a0]
mov ecx, dword [esi + 0x2a4]
movzx edx, ax
movzx eax, word [esp + 0x24]
mov dword [ebx], edx
or eax, 0xc00
fld qword [esi + 0x270]
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 + 0x2c8]
mov ecx, dword [esi + 0x2cc]
fldcw word [esp + 0x18]
mov dword [ebx - 4], eax
mov edx, dword [esp + 0x1f0]
add edx, 0x18
cmp edi, 3
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], edx
jae 0x4eb21f
mov eax, dword [esp + 0x78]
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.005c1a70
mov eax, dword [esp + 0x84]
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 0x4ea270
lea ecx, [esp + 0x1ac]
push ecx
lea ecx, [esp + 0x50]
call fcn.004d18e0
mov edx, dword [0x61d12c]
mov eax, dword [0x61d130]
mov ecx, dword [0x61d134]
mov dword [esp + 0x1bc], edx
mov edx, dword [0x61d138]
mov dword [esp + 0x1c0], eax
mov eax, dword [0x61d13c]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [0x61d140]
mov dword [esp + 0x1c8], edx
mov edx, dword [0x61d144]
mov dword [esp + 0x1d8], eax
mov eax, dword [0x61d148]
mov dword [esp + 0x1dc], ecx
push 0x18
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x1e4], edx
mov dword [esp + 0x1e8], eax
call fcn.00485f80
mov ecx, dword [esp + 0x1ec]
push ecx
mov edi, eax
push 0
push edi
call fcn.005c0060
fnstcw word [esp + 0x24]
mov eax, dword [esi + 0x2a0]
mov edx, dword [esi + 0x2a4]
mov word [edi], ax
fld qword [esi + 0x270]
movzx eax, word [esp + 0x24]
or eax, 0xc00
mov dword [esp + 0x28], eax
add esp, 0xc
fldcw word [esp + 0x1c]
lea ecx, [esp + 0x1ac]
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.004d18e0
lea ecx, [esp + 0x78]
mov byte [esp + 0x208], 4
call fcn.004c8dc0
jmp 0x4eaa7f
mov edx, dword [esp + 0x10]
push str.A_MS_ACM
push edx
call fcn.005c0e71
add esp, 8
test eax, eax
sete al
test al, al
je 0x4ea43f
mov eax, dword [esi + 0xdc]
push eax
lea ecx, [esp + 0x1b0]
call fcn.00485f80
mov ebx, dword [ebx]
mov edi, eax
mov eax, dword [esi + 0xdc]
push eax
push ebx
push edi
call fcn.005c1a70
movzx eax, word [edi]
mov word [esp + 0x144], 0
mov word [esp + 0x146], 0x10
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x144]
mov ecx, 0xaa000080
mov edx, 0x719b3800
add esp, 0xc
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c8], edx
jmp 0x4eaa6e
mov edx, dword [esp + 0x10]
cmp dword [edx - 0xc], 0
jl 0x4ea60f
mov eax, edx
push str.A_AAC_
push eax
call fcn.005c0219
add esp, 8
test eax, eax
je 0x4ea60f
sub eax, dword [esp + 0x10]
jne 0x4ea60f
push 0xff
lea ecx, [esp + 0x180]
mov word [edi], 0xff
call fcn.00415020
mov ecx, dword [eax]
mov dword [esp + 0x1bc], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1c0], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x1c4], ecx
mov edx, dword [eax + 0xc]
push 0x17
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x1cc], edx
call fcn.00485fe0
mov edi, dword [esp + 0x10]
mov ebx, eax
mov word [ebx + 0x10], 2
cmp dword [edi - 0xc], 0
jl 0x4e8fc2
push str._MAIN
push edi
call fcn.005c0219
add esp, 8
test eax, eax
je 0x4ea4ef
sub eax, edi
test eax, eax
jle 0x4ea4ef
xor edi, edi
jmp 0x4ea59a
cmp dword [edi - 0xc], 0
jl 0x4e8fc2
push str._SBR
push edi
call fcn.005c0219
add esp, 8
test eax, eax
je 0x4ea519
sub eax, edi
test eax, eax
jle 0x4ea519
or edi, 0xffffffff
jmp 0x4ea59a
cmp dword [edi - 0xc], 0
jl 0x4e8fc2
push 0x62dbf0
push edi
call fcn.005c0219
add esp, 8
test eax, eax
je 0x4ea542
sub eax, edi
test eax, eax
jle 0x4ea542
mov edi, 1
jmp 0x4ea59a
cmp dword [edi - 0xc], 0
jl 0x4e8fc2
push str._SSR
push edi
call fcn.005c0219
add esp, 8
test eax, eax
je 0x4ea56b
sub eax, edi
test eax, eax
jle 0x4ea56b
mov edi, 2
jmp 0x4ea59a
cmp dword [edi - 0xc], 0
jl 0x4e8fc2
push str._LTP
push edi
call fcn.005c0219
add esp, 8
test eax, eax
je 0x4e8fc2
sub eax, edi
test eax, eax
jle 0x4e8fc2
mov edi, 3
mov eax, dword [esi + 0x2a0]
mov edx, dword [ebx + 4]
mov ecx, dword [esi + 0x2a4]
push eax
push edx
lea eax, [ebx + 0x12]
push edi
push eax
mov dword [esp + 0x40], ecx
call fcn.00486e40
movzx ecx, ax
add esp, 0x10
lea edx, [esp + 0x1ac]
mov dword [esp + 0x1c], ecx
push edx
lea ecx, [esp + 0x50]
call fcn.004d18e0
test edi, edi
jge 0x4eaa7f
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 + 0x1b0]
push eax
push 0
lea ecx, [esp + 0x58]
call fcn.004d34b0
jmp 0x4eaa7f
mov ecx, dword [esp + 0x10]
cmp dword [ecx - 0xc], 0
jl 0x4eaa7f
mov edx, ecx
push str.A_REAL_
push edx
call fcn.005c0219
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x4eaa7f
mov eax, dword [esp + 0x10]
sub ecx, eax
jne 0x4eaa7f
cmp dword [eax - 0xc], 0xb
jl 0x4eaa7f
mov edx, dword [eax - 0xc]
cmp edx, 7
jl 0x4eb21f
cmp edx, 8
mov cl, byte [eax + 7]
mov byte [esp + 0x18], cl
jl 0x4eb21f
cmp edx, 9
mov cl, byte [eax + 8]
jl 0x4eb21f
cmp edx, 0xa
mov al, byte [eax + 9]
jl 0x4eb21f
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 + 0x190]
call fcn.00415020
mov ecx, dword [eax]
mov dword [esp + 0x1bc], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1c0], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x1c4], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x1c8], edx
mov dword [esp + 0x1d0], 1
mov eax, dword [esi + 0xdc]
mov word [edi + 0x10], ax
mov eax, dword [esi + 0xdc]
add eax, 0x12
push eax
lea ecx, [esp + 0x1b0]
call fcn.00485fe0
mov ebx, dword [ebx]
mov edi, eax
mov eax, dword [esi + 0xdc]
push eax
lea eax, [edi + 0x12]
push ebx
push eax
call fcn.005c1a70
add esp, 0xc
mov word [edi + 0x10], 0
jmp 0x4eaa6e
cmp eax, 0x11
jne 0x4eaa7f
test ecx, ecx
jne 0x4eaa7f
cmp dword [esp + 0x98], 1
jne 0x4ea74c
mov ecx, dword [esp + 0x8c]
call fcn.004e65a0
mov edx, dword [esp + 0x98]
push edx
lea eax, [esp + 0x38]
push str.Subtitle__d
push eax
call fcn.0045a920
add dword [esp + 0xa4], 1
add esp, 0xc
push 1
lea ecx, [esp + 0x1b0]
call fcn.00486410
push str.S_TEXT_ASCII
push edi
call fcn.005c0e71
add esp, 8
test eax, eax
sete al
test al, al
je 0x4ea834
mov ecx, dword [0x6144f4]
mov edx, dword [0x6144f8]
mov eax, dword [0x6144fc]
mov dword [esp + 0x1ac], ecx
mov ecx, dword [0x614500]
mov dword [esp + 0x1b0], edx
mov edx, dword [0x67b350]
mov dword [esp + 0x1b4], eax
mov eax, dword [0x67b354]
mov dword [esp + 0x1b8], ecx
mov ecx, dword [0x67b358]
mov dword [esp + 0x1bc], edx
mov edx, dword [0x67b35c]
mov dword [esp + 0x1c0], eax
mov eax, dword [0x614944]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [0x614948]
mov dword [esp + 0x1c8], edx
mov edx, dword [0x61494c]
mov dword [esp + 0x1d8], eax
mov eax, dword [0x614950]
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x1e4], eax
jmp 0x4eaa6e
mov edx, dword [0x61d17c]
mov eax, dword [0x61d180]
mov ecx, dword [0x61d184]
mov dword [esp + 0x1b0], eax
mov eax, dword [0x61d1fc]
mov dword [esp + 0x1ac], edx
mov edx, dword [0x61d188]
mov dword [esp + 0x1b4], ecx
mov ecx, dword [0x61d200]
mov dword [esp + 0x1d8], eax
mov eax, dword [0x61d208]
mov dword [esp + 0x1b8], edx
mov edx, dword [0x61d204]
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e0], edx
mov eax, dword [esi + 0xdc]
add eax, 0x208
push eax
lea ecx, [esp + 0x1b0]
call fcn.00485f80
mov ecx, dword [esp + 0x1ec]
push ecx
mov edi, eax
push 0
push edi
call fcn.005c0060
mov eax, dword [esi + 0xc4]
push 3
push eax
lea edx, [edi + 4]
push edx
call fcn.005c5b90
mov eax, dword [esi + 0xc0]
push 0xff
push eax
lea eax, [edi + 8]
push eax
call fcn.005c80f0
mov dword [edi], 0x208
mov eax, dword [esi + 0xdc]
mov ebx, dword [ebx]
mov ecx, dword [esp + 0x214]
push eax
add ecx, 0x208
push ebx
push ecx
call fcn.005c1a70
mov edx, dword [esp + 0x40]
push str.S_TEXT_UTF8
push edx
call fcn.005c0e71
add esp, 0x38
test eax, eax
sete al
test al, al
je 0x4ea932
mov eax, 0x61d18c
jmp 0x4eaa2e
lea eax, [esp + 0x10]
push str.S_TEXT_SSA
push eax
call fcn.00416280
add esp, 8
test al, al
jne 0x4eaa29
lea ecx, [esp + 0x10]
push str.S_SSA
push ecx
call fcn.00416280
add esp, 8
test al, al
jne 0x4eaa29
lea edx, [esp + 0x10]
push str.S_TEXT_ASS
push edx
call fcn.00416280
add esp, 8
test al, al
jne 0x4eaa22
lea eax, [esp + 0x10]
push str.S_ASS
push eax
call fcn.00416280
add esp, 8
test al, al
jne 0x4eaa22
lea ecx, [esp + 0x10]
push str.S_TEXT_SSF
push ecx
call fcn.00416280
add esp, 8
test al, al
jne 0x4eaa1b
lea edx, [esp + 0x10]
push str.S_SSF
push edx
call fcn.00416280
add esp, 8
test al, al
jne 0x4eaa1b
lea eax, [esp + 0x10]
push str.S_TEXT_USF
push eax
call fcn.00416280
add esp, 8
test al, al
jne 0x4eaa14
lea ecx, [esp + 0x10]
push str.S_USF
push ecx
call fcn.00416280
add esp, 8
test al, al
jne 0x4eaa14
lea edx, [esp + 0x10]
push str.S_VOBSUB
push edx
call fcn.00416280
add esp, 8
test al, al
mov eax, 0x61d1ec
jne 0x4eaa2e
mov eax, 0x67b350
jmp 0x4eaa2e
mov eax, 0x61d1dc
jmp 0x4eaa2e
mov eax, 0x61d1cc
jmp 0x4eaa2e
mov eax, 0x61d1ac
jmp 0x4eaa2e
mov eax, 0x61d19c
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1bc], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x1c0], edx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x1bc]
push 0x67b350
push eax
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1d0], edx
call fcn.00401260
add esp, 8
test eax, eax
jne 0x4eaa7f
lea ecx, [esp + 0x1ac]
push ecx
lea ecx, [esp + 0x50]
call fcn.004d18e0
cmp dword [esp + 0x50], 0
je 0x4e9253
mov ecx, dword [esi + 0xc0]
cmp dword [ecx - 0xc], 0
lea eax, [esi + 0xc0]
jne 0x4eaaa6
mov dword [esp + 0x14], 0x616034
jmp 0x4eaacf
push eax
lea edx, [esp + 0xdc]
push 0x62db40
push edx
call fcn.0049aad0
add esp, 0xc
mov eax, dword [eax]
or dword [esp + 0x48], 1
mov byte [esp + 0x208], 9
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xc4]
cmp dword [eax - 0xc], 0
jne 0x4eaae2
mov edi, 0x62db30
jmp 0x4eab24
push eax
lea ecx, [esp + 0xd8]
push ecx
call fcn.00489430
add esp, 8
mov eax, dword [eax]
or dword [esp + 0x48], 2
push eax
lea ecx, [esp + 0xe4]
mov dword [esp + 0x20c], 0xa
call fcn.00418fa0
or dword [esp + 0x48], 4
mov edi, dword [eax]
mov dword [esp + 0x208], 0xb
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0xf0]
push 0x62d11c
push eax
call fcn.0049aad0
push 0x62d118
push eax
lea ecx, [esp + 0xf8]
push ecx
mov dword [esp + 0x220], 0xc
call fcn.0049a9f0
add esp, 0x18
mov ebx, eax
push edi
lea ecx, [esp + 0xe0]
mov byte [esp + 0x20c], 0xd
call fcn.00412bf0
mov edx, dword [esp + 0x14]
push edx
push eax
lea eax, [esp + 0xd4]
push eax
mov byte [esp + 0x214], 0xe
call fcn.0049a9f0
push ebx
push eax
lea ecx, [esp + 0xfc]
push ecx
mov byte [esp + 0x220], 0xf
call fcn.0049a930
add esp, 0x18
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x20c], 0x10
call fcn.004189d0
mov eax, dword [esp + 0xe8]
add eax, 0xfffffff0
mov byte [esp + 0x208], 0xf
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4eabe5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xcc]
add eax, 0xfffffff0
mov byte [esp + 0x208], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4eac10
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 + 0x208], 0xd
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4eac3b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xe4]
add eax, 0xfffffff0
mov byte [esp + 0x208], 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4eac66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xec]
add eax, 0xfffffff0
mov byte [esp + 0x208], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4eac91
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [esp + 0x48]
test bl, 4
mov dword [esp + 0x208], 0xa
je 0x4eaccf
mov eax, dword [esp + 0xe0]
and ebx, 0xfffffffb
add eax, 0xfffffff0
mov dword [esp + 0x48], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4eaccf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, 2
mov dword [esp + 0x208], 9
je 0x4ead09
mov eax, dword [esp + 0xd4]
and ebx, 0xfffffffd
add eax, 0xfffffff0
mov dword [esp + 0x48], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4ead09
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, 1
mov dword [esp + 0x208], 4
je 0x4ead43
mov eax, dword [esp + 0xd8]
and ebx, 0xfffffffe
add eax, 0xfffffff0
mov dword [esp + 0x48], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4ead43
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x1f8
call fcn.0059b02f
mov ebx, eax
add esp, 4
mov dword [esp + 0x1c], ebx
test ebx, ebx
mov byte [esp + 0x208], 0x11
je 0x4eadbf
mov edx, dword [esi + 0x9c]
mov ecx, dword [esi + 0x134]
mov eax, dword [esi + 0x130]
mov edi, dword [esi + 0x98]
mov dword [esp + 0x30], edx
lea edx, [esp + 0x110]
push edx
mov edx, dword [esp + 0x90]
add edx, 0xf4
push edx
mov edx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x40]
push edx
lea edx, [esp + 0x5c]
push edx
push 0
push 0x64
push ecx
push eax
call fcn.005c5cc0
push edx
push eax
push edi
mov ecx, ebx
call fcn.004e60c0
mov ebx, eax
jmp 0x4eadc1
xor ebx, ebx
mov dword [esp + 0x60], ebx
mov eax, dword [esi + 0xc0]
cmp dword [eax - 0xc], 0
mov byte [esp + 0x208], 0x12
je 0x4eadf1
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 + 0xc4]
cmp dword [ecx - 0xc], 3
jne 0x4eae9c
mov eax, ecx
sub eax, 0x10
push eax
lea edi, [ebx + 0xa0]
call fcn.00403f80
add eax, 0x10
add esp, 4
mov dword [esp + 0x1c], eax
push eax
lea ecx, [esp + 0xbc]
mov byte [esp + 0x20c], 0x13
call fcn.00418fa0
mov eax, dword [eax]
mov edx, dword [edi]
push eax
mov eax, dword [edx + 0x24]
push 0x62b428
push edi
mov byte [esp + 0x214], 0x14
call eax
mov eax, dword [esp + 0xb8]
add eax, 0xfffffff0
mov byte [esp + 0x208], 0x13
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4eae74
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 + 0x208], 0x12
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4eae9c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x8c]
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.005135b0
mov edx, dword [esi + 0xc]
mov ebx, dword [esi + 8]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0xac]
push ecx
mov dword [esp + 0x38], edx
lea edx, [esp + 0x90]
push edx
push ebx
lea ecx, [edi + 0x2e4]
call fcn.005635e0
test eax, eax
jne 0x4eaf11
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x88]
push eax
push ecx
push ebx
lea ecx, [edi + 0x2e4]
call fcn.004e6b40
add edi, 0x314
mov dword [eax + 4], esi
mov ebx, dword [edi + 4]
cmp ebx, dword [edi + 8]
jb 0x4eaf35
lea edx, [ebx + 1]
push edx
mov ecx, edi
call fcn.0040c6d0
test al, al
je 0x4eb229
mov eax, dword [edi]
lea eax, [eax + ebx*4]
test eax, eax
je 0x4eaf40
mov dword [eax], esi
add dword [edi + 4], 1
lea ecx, [esp + 0x4c]
call fcn.004d84b0
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x208], 2
call fcn.00486280
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov byte [esp + 0x208], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4eaf89
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 dword [esp + 0x208], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4eafb4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x74], 0
jne 0x4e8a46
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x8c]
test ecx, ecx
jne 0x4e8a20
xor esi, esi
mov ebx, dword [edi + 0x2e0]
cmp byte [ebx + 0x29], 0
je 0x4eb046
mov ecx, dword [ebx + 0x140]
fld qword [ebx + 0x158]
mov eax, dword [ebx + 0x144]
mov dword [esp + 0x9c], ecx
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0xa0], eax
fild qword [esp + 0x9c]
and ecx, 0x80000000
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x9c], esi
fild qword [esp + 0x9c]
fchs
faddp st(1)
fmulp st(1)
fdiv qword [0x617180]
call fcn.005c2136
mov dword [edi + 0x1e8], eax
mov dword [edi + 0x1ec], edx
mov ecx, dword [edi + 0x1e8]
mov edx, dword [edi + 0x1ec]
mov eax, ecx
mov dword [edi + 0x1f8], ecx
mov ecx, edx
mov dword [edi + 0x210], eax
mov dword [edi + 0x1fc], edx
mov edx, dword [edi + 0x50]
mov dword [edi + 0x214], ecx
mov ebx, dword [ebx + 0x180]
push ebx
lea eax, [edi + 0x50]
push str.TITL
push eax
mov eax, dword [edx + 0x24]
call eax
mov eax, dword [edi + 0x2e0]
mov eax, dword [eax + 0x1f0]
cmp eax, esi
je 0x4eb1e2
lea ebx, [ebx]
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4eb215
mov ecx, eax
mov ecx, dword [ecx + 8]
mov ebx, dword [ecx]
test ebx, ebx
mov eax, dword [eax]
mov dword [esp + 0xb8], eax
je 0x4eb1d8
xor eax, eax
test ebx, ebx
setne al
test eax, eax
je 0x4eb215
mov eax, ebx
mov ebx, dword [ebx]
mov esi, dword [eax + 8]
lea ecx, [esp + 0x78]
call fcn.00433fe0
mov ecx, dword [esi + 0x18]
push 0xffffffffffffffff
push ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x210], 0x15
call fcn.004871d0
mov eax, dword [esi + 0x14]
mov ecx, dword [edi + 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 + 0x7c]
mov edx, dword [esp + 0x78]
mov ecx, dword [edi + 0x2e0]
push 0
push eax
push edx
call fcn.00514720
test eax, eax
jl 0x4eb1b5
mov eax, dword [esi + 8]
push eax
lea ecx, [esp + 0xac]
call fcn.00418fa0
mov ecx, dword [eax]
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov esi, dword [esp + 0x7c]
push 0
push esi
mov esi, dword [esp + 0x80]
push esi
push ecx
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x98], edx
mov edx, dword [edi + 0x64]
mov edx, dword [edx + 0x18]
push ecx
mov ecx, dword [esp + 0x9c]
lea eax, [edi + 0x64]
push ecx
push eax
mov byte [esp + 0x224], 0x16
call edx
mov eax, dword [esp + 0xa8]
add eax, 0xfffffff0
mov byte [esp + 0x208], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4eb1b5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x78]
mov dword [esp + 0x208], 0xffffffff
call fcn.004c8dc0
test ebx, ebx
jne 0x4eb0c7
mov eax, dword [esp + 0xb8]
test eax, eax
jne 0x4eb0a0
xor esi, esi
mov eax, dword [edi + 0x2e0]
push esi
push esi
push esi
lea ecx, [eax + 0xe8]
call fcn.00518d90
cmp eax, esi
mov dword [esp + 0x88], eax
je 0x4eb35d
call fcn.005a2e2e
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4eb233
push 0x80004005
call fcn.00401480
push 0x80070057
call fcn.00401480
push 0x8007000e
call fcn.00401480
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [esp + 0x74], ebx
mov eax, dword [ebx - 8]
mov ecx, 1
sub ecx, dword [ebx - 4]
sub eax, 3
or eax, ecx
mov dword [esp + 0x208], 0x17
jge 0x4eb26f
push 3
lea ecx, [esp + 0x78]
call fcn.004019e0
mov ebx, dword [esp + 0x74]
push 3
push ebx
push 0x59
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
jl 0x4eb21f
cmp eax, dword [ebx - 8]
jg 0x4eb21f
lea ecx, [esp + 0x5c]
push ebx
mov dword [ebx - 0xc], eax
push ecx
mov byte [ebx + eax], 0
call fcn.004895f0
mov eax, dword [eax]
sub eax, 0x10
push eax
mov byte [esp + 0x214], 0x18
call fcn.00403f80
lea esi, [eax + 0x10]
add esp, 0xc
mov dword [esp + 0x90], esi
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
mov byte [esp + 0x208], 0x1a
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4eb2e2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi - 0xc], 3
jge 0x4eb300
push 0x61db9c
lea ecx, [esp + 0x94]
call fcn.00401e80
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x88]
push 0
push ecx
push esi
mov ecx, edi
call fcn.004e7c60
lea eax, [esi - 0x10]
mov byte [esp + 0x208], 0x17
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4eb336
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 0xfffffff0
mov dword [esp + 0x208], 0xffffffff
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4eb35d
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
xor eax, eax
cmp eax, dword [edi + 0x1c8]
sbb eax, eax
and eax, 0x7fffbffb
add eax, 0x80004005
mov ecx, dword [esp + 0x200]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e8]
xor ecx, esp
call fcn.005bf6a4
mov esp, ebp
pop ebp
ret 4