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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4f0dc9
push eax
mov eax, dword [esp + 0x10]
mov dword fs:[0], esp
sub esp, 0x50
push ebx
push ebp
xor ebp, ebp
push esi
cmp eax, ebp
push edi
je 0x46009b
mov dword [esp + 0x14], ebp
lea ecx, [esp + 0x14]
mov dword [esp + 0x68], ebp
call fcn.00460b90
push ebp
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], ebp
call fcn.00460ea0
push 7
push ebp
push str.Microsoft.XMLDOM
lea ecx, [esp + 0x1c]
mov byte [esp + 0x74], 1
call fcn.00460ed0
cmp eax, ebp
jl 0x45ffe3
push ebp
lea ecx, [esp + 0x14]
call fcn.0040fbb0
test al, al
jne 0x45ffe3
lea ecx, [esp + 0x10]
call fcn.0040f9c0
mov ecx, dword [eax]
push ebp
push eax
call dword [ecx + 0xfc]
lea ecx, [esp + 0x10]
call fcn.0040f9c0
mov edx, dword [eax]
push ebp
push eax
call dword [edx + 0x118]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
call fcn.00460b90
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x460089
mov esi, eax
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, dword [esp + 0x74]
mov byte [esp + 0x68], 2
push ecx
lea ecx, [esp + 0x54]
call fcn.00461070
lea edx, [esp + 0x50]
mov ecx, esi
push edx
call fcn.004605f0
cmp ax, 0xffff
mov byte [esp + 0x68], 0
jne 0x460070
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, ebp
jge 0x460044
push eax
call fcn.004e2fd8
push ecx
mov dword [esp + 0x78], esp
mov esi, esp
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x50], eax
cmp eax, ebp
mov byte [esp + 0x6c], 3
je 0x4600b3
push str._playlist
mov ecx, eax
call fcn.0040fc80
jmp 0x4600b5
lea ecx, [esp + 0x50]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, ebp
jge 0x460085
push eax
call fcn.004e2fd8
mov eax, dword [esp + 0x14]
cmp eax, ebp
mov dword [esp + 0x68], 0xffffffff
je 0x46009b
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, 0x80004005
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
xor eax, eax
cmp eax, ebp
mov byte [esp + 0x6c], 0
mov dword [esi], eax
jne 0x4600ca
push 0x8007000e
call fcn.004e2fd8
lea edx, [esp + 0x34]
lea ecx, [esp + 0x18]
push edx
mov byte [esp + 0x70], 0
call fcn.0040f9c0
mov ecx, eax
call fcn.0040f590
mov eax, dword [esp + 0x30]
mov bl, 5
cmp eax, ebp
mov byte [esp + 0x68], bl
je 0x460483
push ecx
mov dword [esp + 0x78], esp
mov esi, esp
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x50], eax
cmp eax, ebp
mov byte [esp + 0x6c], 6
je 0x460122
push 0x533164
mov ecx, eax
call fcn.0040fc80
jmp 0x460124
xor eax, eax
cmp eax, ebp
mov byte [esp + 0x6c], bl
mov dword [esi], eax
jne 0x460138
push 0x8007000e
call fcn.004e2fd8
lea eax, [esp + 0x20]
lea ecx, [esp + 0x34]
push eax
mov byte [esp + 0x70], bl
call fcn.0040f9c0
mov ecx, eax
call fcn.0040f4e0
mov byte [esp + 0x68], 8
mov dword [esp + 0x2c], ebp
mov eax, dword [esp + 0x1c]
cmp eax, ebp
jne 0x460170
push 0x80004003
call fcn.004e2fd8
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
lea edx, [esp + 0x3c]
push edx
push eax
mov esi, eax
call dword [ecx + 0x20]
cmp eax, ebp
jge 0x46018d
push 0x52f690
push esi
push eax
call fcn.004e2fe6
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
jge 0x46047a
cmp dword [esp + 0x1c], ebp
jne 0x4601ad
push 0x80004003
call fcn.004e2fd8
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0040f670
mov ecx, dword [esp + 0x38]
cmp ecx, ebp
je 0x460463
mov dword [esp + 0x74], ebp
lea edx, [esp + 0x18]
mov byte [esp + 0x68], 0xa
push edx
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
call fcn.0040f2b0
mov eax, dword [esp + 0x18]
mov byte [esp + 0x68], 0xb
cmp eax, ebp
jne 0x460205
push 0x80004003
call fcn.004e2fd8
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x40]
push edx
push eax
mov esi, eax
call dword [ecx + 0x2c]
cmp eax, ebp
jge 0x460222
push 0x52f680
push esi
push eax
call fcn.004e2fe6
mov ebx, dword [esp + 0x40]
xor edi, edi
cmp ebx, ebp
jle 0x4603ff
cmp dword [esp + 0x18], ebp
jne 0x460240
push 0x80004003
call fcn.004e2fd8
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push edi
push eax
call fcn.004604e0
mov eax, dword [esp + 0x10]
mov byte [esp + 0x68], 0xc
cmp eax, ebp
jne 0x460266
push 0x80004003
call fcn.004e2fd8
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x14]
call fcn.0040f210
mov ecx, dword [eax]
mov byte [esp + 0x68], 0xd
cmp ecx, ebp
je 0x460286
call fcn.00406050
jmp 0x460288
xor eax, eax
push eax
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x44]
mov byte [esp + 0x68], 0xf
call fcn.00409570
cmp dword [esp + 0x10], ebp
jne 0x4602b0
push 0x80004003
call fcn.004e2fd8
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x48]
push edx
call fcn.0040f3a0
mov ecx, dword [eax]
mov byte [esp + 0x68], 0x10
cmp ecx, ebp
je 0x4602d0
call fcn.00406050
jmp 0x4602d2
xor eax, eax
push eax
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x48]
mov byte [esp + 0x68], 0x12
call fcn.00409570
mov eax, dword [esp + 0x24]
cmp dword [eax - 8], ebp
je 0x4603cc
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
push str.source
push eax
call esi
add esp, 8
test eax, eax
jne 0x460399
lea ecx, [esp + 0x74]
call fcn.00460b90
mov esi, dword [esp + 0x20]
push 0xc
mov dword [esp + 0x78], ebp
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x4c], eax
cmp eax, ebp
mov byte [esp + 0x68], 0x13
je 0x460342
push esi
mov ecx, eax
call fcn.0040fc80
jmp 0x460344
xor eax, eax
cmp eax, ebp
mov byte [esp + 0x68], 0x12
mov dword [esp + 0x34], eax
jne 0x46035f
push 0x8007000e
call fcn.004e2fd8
mov eax, dword [esp + 0x34]
cmp eax, ebp
mov byte [esp + 0x68], 0x14
je 0x46036c
mov eax, dword [eax]
jmp 0x46036e
xor eax, eax
mov esi, dword [esp + 0x70]
lea edx, [esp + 0x74]
push edx
push eax
mov ecx, dword [esi]
push esi
call dword [ecx + 0x3c]
lea ecx, [esp + 0x34]
mov byte [esp + 0x68], 0x12
call fcn.00409570
mov ecx, dword [esp + 0x74]
mov eax, dword [esi]
push ecx
push esi
call dword [eax + 0x44]
jmp 0x4603cc
mov edx, dword [esp + 0x24]
push 0x535b48
push edx
call esi
add esp, 8
test eax, eax
jne 0x4603cc
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.MSVCRT.dll_atol]
mov dword [esp + 0x50], eax
add esp, 4
fild dword [esp + 0x4c]
fmul qword [0x501e78]
fstp qword [esp + 0x50]
lea ecx, [esp + 0x20]
mov byte [esp + 0x68], 0xf
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x68], 0xc
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x68], 0xb
call fcn.00460b90
inc edi
cmp edi, ebx
jl 0x460230
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], 0xa
call fcn.00460b90
mov ecx, dword [esp + 0x74]
xor eax, eax
cmp ecx, ebp
mov dword [esp + 0x28], eax
je 0x46042e
mov edx, dword [ecx]
lea eax, [esp + 0x28]
push eax
push 0x535080
push ecx
call dword [edx]
mov eax, dword [esp + 0x28]
cmp eax, ebp
mov byte [esp + 0x68], 0x15
je 0x46044b
mov edx, dword [esp + 0x54]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x54]
push edx
push eax
call dword [ecx + 0x14]
mov eax, dword [esp + 0x28]
cmp eax, ebp
mov byte [esp + 0x68], 0xa
je 0x46045a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x74]
call fcn.00460b90
lea ecx, [esp + 0x38]
mov byte [esp + 0x68], 8
call fcn.00460b90
inc dword [esp + 0x2c]
jmp 0x46015a
lea ecx, [esp + 0x1c]
call fcn.00460b90
lea ecx, [esp + 0x30]
call fcn.00460b90
lea ecx, [esp + 0x14]
call fcn.00460b90
mov ecx, dword [esp + 0x60]
pop edi
pop esi
pop ebp
xor eax, eax
mov dword fs:[0], ecx
pop ebx
add esp, 0x5c
ret