Function at 0x403be0
Capabilities:
Schedule task via itaskservice

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4217b1
mov eax, dword fs:[0]
push eax
sub esp, 0x2e4
mov eax, dword [0x42c760]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp + 0xc]
push 0
mov dword [ebp - 0x230], eax
mov eax, dword [ebp + 0x10]
push 0
mov dword [ebp - 0x228], eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jns 0x403c40
mov eax, 1
jmp 0x404a12
push 0
push 0
push 0
push 3
push 6
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jns 0x403c6d
cmp eax, 0x80010119
je 0x403c6d
mov eax, 2
jmp 0x404a12
lea eax, [ebp - 0x224]
mov dword [ebp - 0x224], 0
push eax
push 0x4236b8
push 1
push 0
push 0x4238c8
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x403ca6
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 3
jmp 0x404a12
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x280]
push eax
call esi
movups xmm0, xmmword [ebp - 0x280]
lea eax, [ebp - 0x270]
mov dword [ebp - 4], 0
push eax
movups xmmword [ebp - 0x290], xmm0
call esi
movups xmm0, xmmword [ebp - 0x270]
lea eax, [ebp - 0x2d0]
push eax
movups xmmword [ebp - 0x2a0], xmm0
call esi
movups xmm0, xmmword [ebp - 0x2d0]
lea eax, [ebp - 0x2c0]
push eax
movups xmmword [ebp - 0x2b0], xmm0
call esi
movups xmm0, xmmword [ebp - 0x290]
mov ecx, dword [ebp - 0x224]
sub esp, 0x10
mov eax, esp
mov byte [ebp - 4], 3
sub esp, 0x10
mov edx, dword [ecx]
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x2a0]
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x2b0]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x2c0]
push ecx
movups xmmword [eax], xmm0
call dword [edx + 0x28]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, eax
lea eax, [ebp - 0x2c0]
push eax
call edi
lea eax, [ebp - 0x2d0]
push eax
call edi
lea eax, [ebp - 0x270]
push eax
call edi
lea eax, [ebp - 0x280]
mov dword [ebp - 4], 0xffffffff
push eax
call edi
test esi, esi
jns 0x403da0
mov eax, dword [ebp - 0x224]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 4
jmp 0x404a12
push 0x42259c
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x21c], 0
call fcn.00404ac0
mov eax, dword [eax]
mov dword [ebp - 4], 4
test eax, eax
je 0x403dcb
mov edx, dword [eax]
jmp 0x403dcd
xor edx, edx
mov eax, dword [ebp - 0x224]
lea esi, [ebp - 0x21c]
push esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov esi, dword [ebp - 0x220]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x23c], eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x403e41
lea ecx, [esi + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x403e41
test esi, esi
je 0x403e41
mov eax, dword [esi]
test eax, eax
je 0x403e1f
push eax
call edi
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x403e36
push eax
call fcn.0040b3d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040b3c2
add esp, 8
cmp dword [ebp - 0x23c], 0
jge 0x403e66
mov eax, dword [ebp - 0x224]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 5
jmp 0x404a12
push dword [ebp - 0x25c]
lea ecx, [ebp - 0x220]
call fcn.00404a30
mov edx, dword [eax]
mov dword [ebp - 4], 5
test edx, edx
je 0x403e88
mov edx, dword [edx]
jmp 0x403e8a
xor edx, edx
mov eax, dword [ebp - 0x21c]
push 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x403eed
lea eax, [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x403eed
test esi, esi
je 0x403eed
mov eax, dword [esi]
test eax, eax
je 0x403ecb
push eax
call edi
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x403ee2
push eax
call fcn.0040b3d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040b3c2
add esp, 8
cmp dword [ebp - 0x230], 0
jne 0x403f0d
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x224]
jmp 0x404a04
mov eax, dword [ebp - 0x224]
lea edx, [ebp - 0x218]
push edx
mov dword [ebp - 0x218], 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov ecx, dword [ebp - 0x224]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x403f5a
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 6
jmp 0x404a12
mov eax, dword [ebp - 0x218]
lea edx, [ebp - 0x240]
mov dword [ebp - 0x240], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
jns 0x403fa3
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 7
jmp 0x404a12
mov eax, dword [ebp - 0x240]
push 0x4225a0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov ecx, dword [ebp - 0x240]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x403fee
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 8
jmp 0x404a12
mov eax, dword [ebp - 0x218]
lea edx, [ebp - 0x22c]
mov dword [ebp - 0x22c], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
jns 0x404037
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 9
jmp 0x404a12
mov eax, dword [ebp - 0x22c]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov edi, eax
test edi, edi
js 0x404109
mov eax, dword [ebp - 0x22c]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov edi, eax
test edi, edi
js 0x404109
mov eax, dword [ebp - 0x22c]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edi, eax
test edi, edi
js 0x404109
push str.PT0S
lea ecx, [ebp - 0x220]
call fcn.00404ac0
mov eax, dword [eax]
mov dword [ebp - 4], 6
test eax, eax
je 0x4040a0
mov edx, dword [eax]
jmp 0x4040a2
xor edx, edx
mov eax, dword [ebp - 0x22c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
mov esi, dword [ebp - 0x220]
mov edi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x404109
lea eax, [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x404109
test esi, esi
je 0x404109
mov eax, dword [esi]
test eax, eax
je 0x4040e7
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4040fe
push eax
call fcn.0040b3d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040b3c2
add esp, 8
mov eax, dword [ebp - 0x22c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
test edi, edi
jns 0x404141
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0xa
jmp 0x404a12
mov eax, dword [ebp - 0x218]
lea edx, [ebp - 0x244]
mov dword [ebp - 0x244], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test eax, eax
jns 0x40418a
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0xb
jmp 0x404a12
mov eax, dword [ebp - 0x244]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov ecx, dword [ebp - 0x244]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x4041d2
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0xc
jmp 0x404a12
mov eax, dword [ebp - 0x218]
lea edx, [ebp - 0x248]
mov dword [ebp - 0x248], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
jns 0x40421b
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0xd
jmp 0x404a12
mov eax, dword [ebp - 0x248]
lea edx, [ebp - 0x24c]
push edx
mov dword [ebp - 0x24c], 0
push 9
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
mov ecx, dword [ebp - 0x248]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x404274
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0xe
jmp 0x404a12
mov eax, dword [ebp - 0x24c]
lea edx, [ebp - 0x260]
push edx
mov dword [ebp - 0x260], 0
push 0x423768
mov ecx, dword [eax]
push eax
call dword [ecx]
mov ecx, dword [ebp - 0x24c]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x4042cf
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0xf
jmp 0x404a12
push str.Trigger1
lea ecx, [ebp - 0x220]
call fcn.00404ac0
mov edx, dword [eax]
mov dword [ebp - 4], 7
test edx, edx
je 0x4042f0
mov edx, dword [edx]
jmp 0x4042f2
xor edx, edx
mov eax, dword [ebp - 0x260]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x404357
lea eax, [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x404357
test esi, esi
je 0x404357
mov eax, dword [esi]
test eax, eax
je 0x404335
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x40434c
push eax
call fcn.0040b3d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040b3c2
add esp, 8
mov eax, dword [ebp - 0x218]
lea edx, [ebp - 0x250]
mov dword [ebp - 0x250], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
test eax, eax
jns 0x4043a0
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0x10
jmp 0x404a12
mov eax, dword [ebp - 0x250]
lea edx, [ebp - 0x254]
push edx
mov dword [ebp - 0x254], 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov ecx, dword [ebp - 0x250]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x4043f9
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0x11
jmp 0x404a12
mov eax, dword [ebp - 0x254]
lea edx, [ebp - 0x234]
push edx
mov dword [ebp - 0x234], 0
push str.MbLk
mov ecx, dword [eax]
push eax
call dword [ecx]
mov ecx, dword [ebp - 0x254]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x404454
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0x12
jmp 0x404a12
push dword [ebp - 0x230]
lea ecx, [ebp - 0x220]
call fcn.00404a30
mov eax, dword [eax]
mov dword [ebp - 4], 8
test eax, eax
je 0x404476
mov edx, dword [eax]
jmp 0x404478
xor edx, edx
mov eax, dword [ebp - 0x234]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov esi, dword [ebp - 0x220]
mov edi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x4044df
lea ecx, [esi + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x4044df
test esi, esi
je 0x4044df
mov eax, dword [esi]
test eax, eax
je 0x4044bd
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4044d4
push eax
call fcn.0040b3d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040b3c2
add esp, 8
test edi, edi
js 0x404605
push dword [ebp - 0x230]
lea ecx, [ebp - 0x220]
call fcn.00404a30
mov edx, dword [eax]
mov dword [ebp - 4], 9
test edx, edx
je 0x404509
mov edx, dword [edx]
jmp 0x40450b
xor edx, edx
mov eax, dword [ebp - 0x234]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov esi, dword [ebp - 0x220]
mov edi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x404572
lea eax, [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x404572
test esi, esi
je 0x404572
mov eax, dword [esi]
test eax, eax
je 0x404550
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x404567
push eax
call fcn.0040b3d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040b3c2
add esp, 8
test edi, edi
js 0x404605
push dword [ebp - 0x228]
lea ecx, [ebp - 0x228]
call fcn.00404a30
mov edx, dword [eax]
mov dword [ebp - 4], 0xa
test edx, edx
je 0x40459c
mov edx, dword [edx]
jmp 0x40459e
xor edx, edx
mov eax, dword [ebp - 0x234]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov esi, dword [ebp - 0x228]
mov edi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x404605
lea eax, [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x404605
test esi, esi
je 0x404605
mov eax, dword [esi]
test eax, eax
je 0x4045e3
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4045fa
push eax
call fcn.0040b3d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040b3c2
add esp, 8
mov eax, dword [ebp - 0x234]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
test edi, edi
jns 0x40463d
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0x13
jmp 0x404a12
lea eax, [ebp - 0x258]
mov dword [ebp - 0x258], 0x101
push eax
lea eax, [ebp - 0x214]
push eax
push 0x220
push 0
call fcn.00403b40
add esp, 0x10
test eax, eax
jne 0x404690
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0x14
jmp 0x404a12
push 0x4225d4
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 0x238], 0
call fcn.00404b60
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x280]
mov dword [ebp - 4], 0xb
push eax
movups xmmword [ebp - 0x2b0], xmm0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
movups xmm0, xmmword [ebp - 0x280]
lea eax, [ebp - 0x214]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x2d0]
movups xmmword [ebp - 0x2a0], xmm0
call fcn.00404b60
movups xmm0, xmmword [eax]
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0xd
push dword [ebp - 0x25c]
movups xmmword [ebp - 0x290], xmm0
call fcn.00404a30
mov esi, dword [eax]
mov byte [ebp - 4], 0xe
test esi, esi
je 0x404719
mov esi, dword [esi]
jmp 0x40471b
xor esi, esi
movups xmm0, xmmword [ebp - 0x2b0]
mov ecx, dword [ebp - 0x21c]
lea eax, [ebp - 0x238]
push eax
sub esp, 0x10
mov eax, esp
mov edx, dword [ecx]
push 4
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x2a0]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x290]
push 6
push dword [ebp - 0x218]
movups xmmword [eax], xmm0
push esi
push ecx
call dword [edx + 0x44]
mov esi, dword [ebp - 0x230]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov dword [ebp - 0x228], eax
test esi, esi
je 0x4047c9
lea ecx, [esi + 8]
push ecx
call edi
test eax, eax
jne 0x4047bf
test esi, esi
je 0x4047bf
mov eax, dword [esi]
test eax, eax
je 0x40479d
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4047b4
push eax
call fcn.0040b3d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040b3c2
add esp, 8
mov dword [ebp - 0x230], 0
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x2d0]
push eax
call esi
lea eax, [ebp - 0x280]
push eax
call esi
lea eax, [ebp - 0x2c0]
mov dword [ebp - 4], 0xffffffff
push eax
call esi
cmp dword [ebp - 0x228], 0
jge 0x404822
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0x15
jmp 0x404a12
lea eax, [ebp - 0x258]
mov dword [ebp - 0x258], 0x101
push eax
lea eax, [ebp - 0x214]
push eax
push 0x221
push 0
call fcn.00403b40
add esp, 0x10
test eax, eax
jne 0x404875
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0x16
jmp 0x404a12
push 0x4225d8
lea ecx, [ebp - 0x2f0]
mov dword [ebp - 0x238], 0
call fcn.00404b60
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x270]
mov dword [ebp - 4], 0xf
push eax
movups xmmword [ebp - 0x2b0], xmm0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
movups xmm0, xmmword [ebp - 0x270]
lea eax, [ebp - 0x214]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x2e0]
movups xmmword [ebp - 0x2a0], xmm0
call fcn.00404b60
movups xmm0, xmmword [eax]
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x11
push dword [ebp - 0x25c]
movups xmmword [ebp - 0x290], xmm0
call fcn.00404a30
mov esi, dword [eax]
mov byte [ebp - 4], 0x12
test esi, esi
je 0x4048fe
mov esi, dword [esi]
jmp 0x404900
xor esi, esi
movups xmm0, xmmword [ebp - 0x2b0]
mov ecx, dword [ebp - 0x21c]
lea eax, [ebp - 0x238]
push eax
sub esp, 0x10
mov eax, esp
mov edx, dword [ecx]
push 4
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x2a0]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x290]
push 6
push dword [ebp - 0x218]
movups xmmword [eax], xmm0
push esi
push ecx
call dword [edx + 0x44]
mov esi, dword [ebp - 0x23c]
mov dword [ebp - 0x228], eax
test esi, esi
je 0x4049a8
lea ecx, [esi + 8]
push ecx
call edi
test eax, eax
jne 0x40499e
test esi, esi
je 0x40499e
mov eax, dword [esi]
test eax, eax
je 0x40497c
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x404993
push eax
call fcn.0040b3d0
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040b3c2
add esp, 8
mov dword [ebp - 0x23c], 0
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x2e0]
push eax
call esi
lea eax, [ebp - 0x270]
push eax
call esi
lea eax, [ebp - 0x2f0]
mov dword [ebp - 4], 0xffffffff
push eax
call esi
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebp - 0x228], 0
jge 0x4049fe
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 0x17
jmp 0x404a12
mov eax, dword [ebp - 0x238]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040b37e
mov esp, ebp
pop ebp
ret