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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4f2f93
push eax
mov dword fs:[0], esp
sub esp, 0xa98
push ebx
push esi
mov esi, dword [0x5257d8]
xor ebx, ebx
cmp esi, ebx
je 0x470c51
push ebp
push edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0xab0], ebx
xor edi, edi
mov dword [esp + 0x10], ebx
push str.QvodPlayer
lea ecx, [esp + 0x28]
mov word [esp + 0x28], bx
call fcn.00406940
lea eax, [esp + 0x10]
lea ecx, [esp + 0x24]
lea ebp, [esi + 4]
push eax
push ecx
push str.selectSingleNode
mov ecx, ebp
mov byte [esp + 0xabc], 2
call fcn.004080f0
lea edx, [esp + 0x24]
mov dword [esi + 8], eax
push edx
mov byte [esp + 0xab4], 1
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp dword [esi + 8], ebx
jl 0x4704c6
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x4704c6
push eax
lea ecx, [esp + 0x3c]
call fcn.004080d0
mov edi, 1
lea ecx, [esp + 0x10]
mov byte [esp + 0xab0], bl
call fcn.0042ca10
cmp edi, ebx
je 0x470c36
mov dword [esp + 0x20], ebx
xor edi, edi
mov dword [esp + 0x10], ebx
push str.FileConn
lea ecx, [esp + 0x28]
mov word [esp + 0x28], bx
call fcn.00406940
lea eax, [esp + 0x10]
lea ecx, [esp + 0x24]
push eax
push ecx
push str.selectSingleNode
lea ecx, [esp + 0x44]
mov byte [esp + 0xabc], 5
call fcn.004080f0
lea edx, [esp + 0x24]
mov dword [esp + 0x34], eax
push edx
mov byte [esp + 0xab4], 4
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp dword [esp + 0x34], ebx
jl 0x47054f
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x47054f
push eax
lea ecx, [esp + 0x24]
call fcn.004080d0
mov edi, 1
lea ecx, [esp + 0x10]
mov byte [esp + 0xab0], 3
call fcn.0042ca10
cmp edi, ebx
mov dword [esp + 0x40], edi
jne 0x470678
lea ecx, [esp + 0x10]
call fcn.00427790
push str.FileConn
lea ecx, [esp + 0x28]
mov word [esp + 0x28], bx
call fcn.00406940
lea eax, [esp + 0x10]
lea ecx, [esp + 0x24]
push eax
push ecx
push str.createElement
mov ecx, ebp
mov byte [esp + 0xabc], 7
call fcn.004080f0
mov ebp, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x24]
push edx
mov dword [esi + 8], eax
mov byte [esp + 0xab4], 6
call ebp
mov eax, dword [esi + 8]
cmp eax, ebx
mov eax, dword [esp + 0x10]
jl 0x4705db
cmp eax, ebx
je 0x4705db
push eax
lea ecx, [esp + 0x24]
call fcn.004080d0
mov eax, dword [esp + 0x10]
cmp eax, ebx
mov byte [esp + 0xab0], 3
je 0x4705ed
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov word [esp + 0x24], bx
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x44]
push edx
mov byte [esp + 0xab4], 8
call fcn.0046d400
lea ecx, [esp + 0x24]
mov byte [esp + 0xab0], 9
push ecx
push eax
push str.appendChild
lea ecx, [esp + 0x44]
call fcn.00406990
lea edx, [esp + 0x44]
mov dword [esp + 0x34], eax
push edx
mov byte [esp + 0xab4], 8
call ebp
cmp dword [esp + 0x34], ebx
jl 0x470667
cmp word [esp + 0x24], 9
jne 0x470667
cmp dword [esp + 0x2c], ebx
je 0x470667
mov eax, dword [esp + 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0x2c]
push eax
mov edx, dword [eax]
call dword [edx + 4]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xab0], 3
push ecx
call ebp
jmp 0x47067e
mov ebp, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x5209fc
push SysReAllocStringLen
lea ecx, [esp + 0x288]
call fcn.004c4470
push 0x5209fc
push SysReAllocStringLen
lea ecx, [esp + 0x69c]
mov byte [esp + 0xab8], 0xa
call fcn.004c4470
push ebx
push str.setup
push str.SoftwareQvodPlayerFileExts
lea ecx, [esp + 0x6a0]
mov byte [esp + 0xabc], 0xb
call fcn.004c45d0
cmp eax, 1
jne 0x47085b
push ebx
push str.setup
push str.SoftwareQvodPlayerFileExts
lea ecx, [esp + 0x6a0]
call fcn.004c4690
mov edi, 0x512e78
mov eax, dword [edi]
cmp word [eax + 2], 0x33
lea esi, [eax + 2]
jne 0x470705
add esi, 2
push 1
push eax
push str.SoftwareQvodPlayerFileExts
lea ecx, [esp + 0x6a0]
call fcn.004c45d0
cmp eax, 1
jne 0x470773
mov word [esp + 0x68], 3
mov dword [esp + 0x70], eax
push esi
lea ecx, [esp + 0x28]
mov word [esp + 0x28], bx
call fcn.00406940
lea edx, [esp + 0x68]
push ebx
lea eax, [esp + 0x28]
push edx
push eax
push str.setAttribute
lea ecx, [esp + 0x30]
mov byte [esp + 0xac0], 0xd
call fcn.00406a10
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], eax
push ecx
call ebp
lea edx, [esp + 0x68]
mov byte [esp + 0xab0], 0xb
push edx
jmp 0x4707c6
mov word [esp + 0x44], 3
mov dword [esp + 0x4c], ebx
push esi
lea ecx, [esp + 0x5c]
mov word [esp + 0x5c], bx
call fcn.00406940
lea eax, [esp + 0x44]
push ebx
lea ecx, [esp + 0x5c]
push eax
push ecx
push str.setAttribute
lea ecx, [esp + 0x30]
mov byte [esp + 0xac0], 0xf
call fcn.00406a10
lea edx, [esp + 0x58]
mov dword [esp + 0x1c], eax
push edx
call ebp
lea eax, [esp + 0x44]
mov byte [esp + 0xab0], 0xb
push eax
call ebp
add edi, 0x20
cmp edi, 0x513d38
jl 0x4706f6
mov eax, dword [0x50d0e0]
mov esi, dword [0x5257d8]
mov dword [esp + 0x40], 1
mov dword [esp + 0x10], eax
mov ecx, dword [esi]
mov byte [esp + 0xab0], 0x10
cmp dword [ecx - 8], ebx
jle 0x47080b
push esi
lea ecx, [esp + 0x14]
call fcn.00402090
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], ebx
jle 0x47084a
mov ecx, dword [esi + 4]
add esi, 4
cmp ecx, ebx
je 0x47084a
push eax
lea ecx, [esp + 0x48]
mov word [esp + 0x48], bx
call fcn.00406940
lea edx, [esp + 0x44]
push ebx
push edx
push str.Save
mov ecx, esi
mov byte [esp + 0xabc], 0x11
call fcn.00406990
lea eax, [esp + 0x44]
push eax
call ebp
lea ecx, [esp + 0x10]
mov byte [esp + 0xab0], 0xb
call fcn.00402160
mov eax, dword [0x50d0e0]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
push 0x52576c
lea ecx, [esp + 0x40]
push 0x525768
push ecx
mov byte [esp + 0xabc], 0x13
call fcn.0040d460
mov byte [esp + 0xab0], 0x14
mov esi, 0x512e80
mov ebp, dword [esi - 8]
add ebp, 2
cmp word [ebp], 0x33
jne 0x4708a1
add ebp, 2
cmp dword [esp + 0x40], ebx
je 0x470992
mov edx, dword [0x50d0e0]
xor edi, edi
mov dword [esp + 0x10], edx
mov word [esp + 0x24], bx
push ebp
lea ecx, [esp + 0x48]
mov word [esp + 0x48], bx
call fcn.00406940
lea eax, [esp + 0x24]
lea ecx, [esp + 0x44]
push eax
push ecx
push str.getAttribute
lea ecx, [esp + 0x2c]
mov byte [esp + 0xabc], 0x17
call fcn.00406990
lea edx, [esp + 0x44]
mov dword [esp + 0x1c], eax
push edx
mov byte [esp + 0xab4], 0x16
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp dword [esp + 0x1c], ebx
jl 0x470968
cmp word [esp + 0x24], 8
jne 0x470968
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x470968
push eax
lea ecx, [esp + 0x58]
call fcn.00406b50
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xab4], 0x18
call fcn.00402090
lea ecx, [esp + 0x54]
mov byte [esp + 0xab0], 0x16
call fcn.00402160
lea ecx, [esp + 0x10]
call fcn.00407410
lea ecx, [esp + 0x10]
call fcn.00407310
mov eax, dword [esp + 0x10]
push eax
call fcn.004debd7
add esp, 4
cmp eax, ebx
jle 0x47096d
mov edi, 1
lea ecx, [esp + 0x24]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0x10]
mov byte [esp + 0xab0], 0x14
call fcn.00402160
cmp edi, ebx
jne 0x47099b
jmp 0x470bbc
cmp dword [esi + 0x14], ebx
je 0x470bae
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x78]
lea edx, [esp + 0x78]
rep stosd dword es:[edi], eax
mov eax, dword [esi - 4]
mov ecx, dword [esi - 8]
push 0x104
push edx
push eax
push ecx
lea ecx, [esp + 0x290]
call fcn.004c44c0
cmp eax, ebx
jne 0x470a1d
mov eax, dword [esi - 8]
lea edx, [esp + 0x78]
push 0x104
push edx
push ebx
push eax
lea ecx, [esp + 0x290]
call fcn.004c44c0
cmp eax, ebx
je 0x470a1d
cmp word [esp + 0x78], bx
je 0x470a1d
mov edx, dword [esi]
lea ecx, [esp + 0x78]
push ecx
push edx
call fcn.004dfe9e
add esp, 8
test eax, eax
je 0x470a1d
mov ecx, dword [esi - 4]
mov edx, dword [esi - 8]
lea eax, [esp + 0x78]
push eax
push ecx
push edx
lea ecx, [esp + 0x28c]
call fcn.004c4870
mov eax, dword [esi]
mov ecx, dword [esi - 8]
push eax
push ebx
push ecx
lea ecx, [esp + 0x28c]
call fcn.004c4870
mov eax, dword [esp + 0x18]
cmp dword [eax - 8], ebx
je 0x470a58
cmp dword [eax - 0xc], ebx
jl 0x470a4a
lea ecx, [esp + 0x18]
call fcn.00402350
jmp 0x470a58
push 0x5209fc
lea ecx, [esp + 0x1c]
call fcn.00406e00
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x3c]
push edx
push eax
lea ecx, [esp + 0x20]
push str._s__d
push ecx
call fcn.004074f0
mov eax, dword [esp + 0x24]
add esp, 0x10
cmp dword [eax - 8], ebx
je 0x470a9a
cmp dword [eax - 0xc], ebx
jl 0x470a8c
lea ecx, [esp + 0x14]
call fcn.00402350
jmp 0x470a9a
push 0x5209fc
lea ecx, [esp + 0x18]
call fcn.00406e00
mov edx, dword [esi]
lea eax, [esp + 0x14]
push edx
push str._sDefaultIcon
push eax
call fcn.004074f0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
add esp, 0xc
push ecx
push ebx
push edx
lea ecx, [esp + 0x28c]
call fcn.004c4870
mov eax, dword [esp + 0x18]
cmp dword [eax - 8], ebx
je 0x470aed
cmp dword [eax - 0xc], ebx
jl 0x470adf
lea ecx, [esp + 0x18]
call fcn.00402350
jmp 0x470aed
push 0x5209fc
lea ecx, [esp + 0x1c]
call fcn.00406e00
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x3c]
push eax
push ecx
lea edx, [esp + 0x20]
push str.__s____s____1_
push edx
call fcn.004074f0
add esp, 0x10
lea ecx, [esp + 0x14]
call fcn.00406cd0
mov eax, dword [esi]
lea ecx, [esp + 0x14]
push eax
push str._s_shell
push ecx
call fcn.004074f0
mov edx, dword [esp + 0x20]
add esp, 0xc
lea ecx, [esp + 0x280]
push str.open
push ebx
push edx
call fcn.004c4870
lea ecx, [esp + 0x14]
call fcn.00406cd0
mov eax, dword [esi]
lea ecx, [esp + 0x14]
push eax
push str._s_shellopencommand
push ecx
call fcn.004074f0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
add esp, 0xc
lea ecx, [esp + 0x280]
push edx
push ebx
push eax
call fcn.004c4870
mov ecx, dword [esi - 8]
mov edx, dword [0x51b3b8]
push ecx
push edx
lea eax, [esp + 0x1c]
push 0x50de74
push eax
call fcn.004074f0
mov ecx, dword [esi]
mov edx, dword [esp + 0x24]
add esp, 0x10
push ecx
push str.Progid
push edx
lea ecx, [esp + 0x6a0]
call fcn.004c4870
cmp dword [esp + 0x40], ebx
jne 0x470bbc
mov eax, dword [esi + 0x14]
lea ecx, [esp + 0x1c]
push eax
push ebp
call fcn.00408550
add esi, 0x20
cmp esi, 0x513d40
jl 0x470891
lea ecx, [esp + 0x3c]
mov byte [esp + 0xab0], 0x13
call fcn.00402160
lea ecx, [esp + 0x14]
mov byte [esp + 0xab0], 0x12
call fcn.00402160
lea ecx, [esp + 0x18]
mov byte [esp + 0xab0], 0xb
call fcn.00402160
lea ecx, [esp + 0x694]
mov byte [esp + 0xab0], 0xa
call fcn.004c44b0
lea ecx, [esp + 0x280]
mov byte [esp + 0xab0], 3
call fcn.004c44b0
lea ecx, [esp + 0x20]
mov byte [esp + 0xab0], bl
call fcn.0042ca10
mov eax, dword [esp + 0x38]
pop edi
cmp eax, ebx
mov dword [esp + 0xaac], 0xffffffff
pop ebp
je 0x470c51
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [esp + 0xaa0]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0xaa4
ret