Function at 0x468200
Capabilities:
Schedule task via itaskservice

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x494af5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1a0
mov eax, dword [0x4ad1bc]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x100], esi
mov dword [ebp - 0xe8], 0
call fcn.00402550
xor edx, edx
mov ecx, eax
test ecx, ecx
setne dl
test edx, edx
jne 0x46826f
push 0x80004005
call fcn.00402240
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x148], edi
mov dword [ebp - 4], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
push 0
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoInitialize]
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]
cmp eax, 0x80010119
je 0x4682cd
test eax, eax
jne 0x4697f3
lea ecx, [ebp - 0xec]
call fcn.00466f70
mov byte [ebp - 4], 5
mov edx, dword [eax]
mov dword [ebp - 0xe8], 1
test edx, edx
jne 0x4682f0
xor ecx, ecx
jmp 0x468304
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4682f5
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x148]
call fcn.00404a10
mov dword [ebp - 4], 2
or eax, 0xffffffff
mov edx, dword [ebp - 0xec]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x468336
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x124]
push eax
push 0x4a8220
push 0x17
push 0
push 0x4a8210
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x4697ed
mov edi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x180]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x180], xmm0
call edi
movups xmm0, xmmword [ebp - 0x180]
lea eax, [ebp - 0x118]
push eax
movups xmmword [ebp - 0x1a0], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x118], xmm0
call edi
movups xmm0, xmmword [ebp - 0x118]
lea eax, [ebp - 0x138]
push eax
movups xmmword [ebp - 0x1b0], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x138], xmm0
call edi
movups xmm0, xmmword [ebp - 0x138]
lea eax, [ebp - 0x170]
push eax
movups xmmword [ebp - 0x190], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x170], xmm0
call edi
mov byte [ebp - 4], 0xb
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x1a0]
mov eax, dword [ebp - 0x124]
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x1b0]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x190]
movups xmmword [ecx], xmm0
mov ecx, esp
movups xmm0, xmmword [ebp - 0x170]
push eax
movups xmmword [ecx], xmm0
call dword [edx + 0x28]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
lea eax, [ebp - 0x170]
push eax
sets byte [ebp - 0xe1]
call edi
lea eax, [ebp - 0x138]
push eax
call edi
lea eax, [ebp - 0x118]
push eax
call edi
lea eax, [ebp - 0x180]
mov byte [ebp - 4], 2
push eax
call edi
cmp byte [ebp - 0xe1], 0
jne 0x4697ed
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0x124]
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0xec], ecx
test eax, eax
jne 0x468488
xor esi, esi
mov dword [ebp - 0xe8], esi
jmp 0x4684a7
push eax
call edi
mov esi, eax
mov dword [ebp - 0xe8], esi
test esi, esi
jne 0x4684a1
push 0x8007000e
call fcn.00402240
mov ecx, dword [ebp - 0xec]
lea edx, [ebp - 0x128]
mov byte [ebp - 4], 0xe
mov eax, dword [ecx]
push edx
push esi
push ecx
call dword [eax + 0x1c]
test eax, eax
mov byte [ebp - 4], 2
push esi
sete byte [ebp - 0xe1]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0xe1], 0
je 0x46858f
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0xec], ecx
mov eax, dword [eax + 4]
test eax, eax
jne 0x4684fd
xor esi, esi
mov dword [ebp - 0xe8], esi
jmp 0x46851c
push eax
call edi
mov esi, eax
mov dword [ebp - 0xe8], esi
test esi, esi
jne 0x468516
push 0x8007000e
call fcn.00402240
mov ecx, dword [ebp - 0xec]
push 0
mov byte [ebp - 4], 0xf
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x3c]
push esi
mov byte [ebp - 4], 2
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0xec], ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x468557
xor esi, esi
mov dword [ebp - 0xe8], esi
jmp 0x468576
push eax
call edi
mov esi, eax
mov dword [ebp - 0xe8], esi
test esi, esi
jne 0x468570
push 0x8007000e
call fcn.00402240
mov ecx, dword [ebp - 0xec]
push 0
mov byte [ebp - 4], 0x10
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x30]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x46870f
mov dword [ebp - 0xec], 0
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x124]
push str._
mov dword [ebp - 0xe8], eax
call edi
mov esi, eax
mov dword [ebp - 0x10c], esi
test esi, esi
jne 0x4685c6
push 0x8007000e
call fcn.00402240
mov byte [ebp - 4], 0x12
lea edx, [ebp - 0xec]
mov ecx, dword [ebp - 0xe8]
push edx
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
test eax, eax
mov byte [ebp - 4], 0x11
push esi
sets byte [ebp - 0xe1]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0xe1], 0
jne 0x4697d9
xor eax, eax
mov word [ebp - 0x138], ax
lea eax, [ebp - 0x138]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jns 0x46861f
push eax
call fcn.00402240
mov eax, 8
push str.D:_A__FA___BA__A__FA___SY_
mov word [ebp - 0x138], ax
call edi
mov dword [ebp - 0x130], eax
test eax, eax
jne 0x46865c
mov eax, 0xa
mov dword [ebp - 0x130], 0x8007000e
mov word [ebp - 0x138], ax
push 0x8007000e
call fcn.00402240
mov eax, dword [ebp - 0x100]
mov byte [ebp - 4], 0x16
movups xmm0, xmmword [ebp - 0x138]
mov edx, dword [ebp - 0xec]
mov eax, dword [eax + 8]
mov dword [ebp - 0x120], edx
movups xmmword [ebp - 0x190], xmm0
test eax, eax
jne 0x468691
xor esi, esi
mov dword [ebp - 0xe8], esi
jmp 0x4686b7
push eax
call edi
mov esi, eax
mov dword [ebp - 0xe8], esi
test esi, esi
jne 0x4686aa
push 0x8007000e
call fcn.00402240
movups xmm0, xmmword [ebp - 0x190]
mov edx, dword [ebp - 0x120]
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x17
mov ecx, dword [edx]
push eax
sub esp, 0x10
mov eax, esp
push esi
push edx
movups xmmword [eax], xmm0
call dword [ecx + 0x2c]
test eax, eax
push esi
sets byte [ebp - 0xe1]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea eax, [ebp - 0x138]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp byte [ebp - 0xe1], 0
jne 0x4697d9
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x46870f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x11c], 0
mov byte [ebp - 4], 0x1c
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x124]
push edx
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov edi, dword [ebp - 0x148]
test eax, eax
jns 0x468743
xor esi, esi
jmp 0x4697c0
mov dword [ebp - 0x158], 0
mov byte [ebp - 4], 0x20
lea edx, [ebp - 0x158]
mov eax, dword [ebp - 0x11c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test eax, eax
js 0x4697a7
mov eax, dword [ebp - 0x158]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
test eax, eax
js 0x4697a7
mov dword [ebp - 0x154], 0
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x11c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
js 0x46978c
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0xec], ecx
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x4687ce
xor esi, esi
mov dword [ebp - 0xe8], esi
jmp 0x4687f1
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [ebp - 0xe8], esi
test esi, esi
jne 0x4687eb
push 0x8007000e
call fcn.00402240
mov ecx, dword [ebp - 0xec]
mov byte [ebp - 4], 0x2f
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x28]
test eax, eax
push esi
sets byte [ebp - 0xe1]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0xe1], 0
jne 0x46978c
mov dword [ebp - 0x13c], 0
mov byte [ebp - 4], 0x35
lea edx, [ebp - 0x13c]
mov eax, dword [ebp - 0x11c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
js 0x468d85
mov esi, dword [ebp - 0x100]
cmp dword [esi + 0x24], 0
je 0x46899b
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf8], 0
mov byte [ebp - 4], 0x3d
lea edx, [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
push edx
push 9
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
test eax, eax
js 0x468ad6
mov eax, dword [ebp - 0xf4]
lea edx, [ebp - 0xf8]
push edx
push 0x4975d8
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x468ad6
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0xec], ecx
test edi, edi
jne 0x4688c0
xor esi, esi
mov dword [ebp - 0xe8], esi
jmp 0x4688e3
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [ebp - 0xe8], esi
test esi, esi
jne 0x4688dd
push 0x8007000e
call fcn.00402240
mov ecx, dword [ebp - 0xec]
mov byte [ebp - 4], 0x4e
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x5c]
push esi
mov byte [ebp - 4], 0x3d
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, dword [ebp - 0x100]
mov eax, dword [esi + 0x20]
cmp dword [eax - 0xc], 0
je 0x468973
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0xec], ecx
test eax, eax
jne 0x468922
xor esi, esi
mov dword [ebp - 0xe8], esi
jmp 0x468945
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [ebp - 0xe8], esi
test esi, esi
jne 0x46893f
push 0x8007000e
call fcn.00402240
mov ecx, dword [ebp - 0xec]
mov byte [ebp - 4], 0x4f
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x54]
test eax, eax
push esi
sets byte [ebp - 0xe1]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0xe1], 0
jne 0x468ad6
mov esi, dword [ebp - 0x100]
mov byte [ebp - 4], 0x58
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x468987
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x59
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x46899b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [esi + 0x28], 0
je 0x468c65
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xfc], 0
push 0xc8
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x5b
push 0
push eax
mov dword [ebp - 0xec], 0
call fcn.004760a0
add esp, 0xc
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0xec]
push eax
push str._d__s
push dword [esi + 0x1c]
call fcn.00467660
add esp, 0x10
test eax, eax
jle 0x468c3d
mov eax, dword [ebp - 0x13c]
lea edx, [ebp - 0xf4]
push edx
push 2
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
test eax, eax
js 0x468d5d
mov eax, dword [ebp - 0xf4]
lea edx, [ebp - 0xfc]
push edx
push 0x497618
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x468d5d
push 0
call fcn.004829ed
add esp, 4
mov dword [ebp - 0x110], eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x10c], edx
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0
lea ecx, [ebp - 0x134]
movsd qword [ebp - 0x134], xmm0
push eax
call fcn.004677a0
push str._Y__m__dT
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0x134]
call fcn.00467860
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x6c
push eax
lea ecx, [ebp - 0xf8]
call fcn.00405e20
mov eax, dword [ebp - 0xfc]
push str.Trigger1
mov dword [ebp - 0xe8], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [ebp - 0x10c], esi
test esi, esi
jne 0x468af3
push 0x8007000e
call fcn.00402240
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x468aea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x51
jmp 0x468d75
mov byte [ebp - 4], 0x6d
mov ecx, dword [ebp - 0xe8]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x24]
test eax, eax
mov byte [ebp - 4], 0x6c
push esi
sets byte [ebp - 0xe1]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0xe1], 0
jne 0x468d52
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xf8]
push 0xc
mov dword [ebp - 0xe8], eax
call fcn.004715b3
mov esi, eax
add esp, 4
mov dword [ebp - 0x10c], esi
mov byte [ebp - 4], 0x76
test esi, esi
je 0x468b89
push dword [ebp - 0xe8]
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
jne 0x468b8b
cmp dword [ebp - 0xe8], eax
je 0x468b8b
push 0x8007000e
call fcn.004725a0
xor esi, esi
mov byte [ebp - 4], 0x6c
mov dword [ebp - 0x10c], esi
test esi, esi
jne 0x468ba3
push 0x8007000e
call fcn.004725a0
mov byte [ebp - 4], 0x77
mov ecx, dword [ebp - 0x120]
push dword [esi]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x3c]
test eax, eax
mov byte [ebp - 4], 0x6c
lea eax, [esi + 8]
push eax
sets byte [ebp - 0xe1]
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x468c05
mov eax, dword [esi]
test eax, eax
je 0x468be3
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x468bfa
push eax
call fcn.0047138f
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0047186e
add esp, 8
cmp byte [ebp - 0xe1], 0
jne 0x468d52
mov eax, dword [ebp - 0xfc]
push dword [ebp - 0xec]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x54]
test eax, eax
js 0x468d52
lea ecx, [ebp - 0xf8]
call fcn.004028c0
mov esi, dword [ebp - 0x100]
mov byte [ebp - 4], 0x88
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x468c51
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x89
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x468c65
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [esi + 0x2c], 0
je 0x469330
lea ecx, [ebp - 0x104]
call fcn.004029a0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xf8], 0
mov byte [ebp - 4], 0x8c
mov ecx, dword [esi + 0x1c]
sub ecx, 0x10
call fcn.004049a0
lea esi, [eax + 0x10]
mov dword [ebp - 0xf0], esi
mov byte [ebp - 4], 0x8d
cmp dword [esi - 4], 1
jle 0x468cc4
push dword [esi - 0xc]
lea ecx, [ebp - 0xf0]
call fcn.00403a80
mov esi, dword [ebp - 0xf0]
push esi
call fcn.0047a449
add esp, 4
mov byte [ebp - 4], 0x8c
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x468ce9
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x13c]
lea edx, [ebp - 0xec]
push edx
push 2
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
test eax, eax
js 0x46937b
mov eax, dword [ebp - 0xec]
lea edx, [ebp - 0xf8]
push edx
push 0x497618
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x46937b
mov eax, dword [ebp - 0xf8]
push str.Trigger2
mov dword [ebp - 0xf0], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [ebp - 0x10c], esi
test esi, esi
jne 0x468d8c
push 0x8007000e
call fcn.00402240
lea ecx, [ebp - 0xf8]
call fcn.004028c0
mov byte [ebp - 4], 0x80
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x468d71
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x81
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x468d85
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor esi, esi
jmp 0x46976f
mov byte [ebp - 4], 0x9e
mov ecx, dword [ebp - 0xf0]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x24]
test eax, eax
mov byte [ebp - 4], 0x8c
push esi
sets byte [ebp - 0xe1]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0xe1], 0
jne 0x46937b
push 0
call fcn.004829ed
add esp, 4
mov dword [ebp - 0x110], eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x10c], edx
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0
lea ecx, [ebp - 0x134]
movsd qword [ebp - 0x134], xmm0
push eax
call fcn.004677a0
push str._Y__m__dT_H:_M:_S
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0x134]
call fcn.00467860
mov byte [ebp - 4], 0xa7
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xe8]
push 0xc
mov dword [ebp - 0xf0], eax
call fcn.004715b3
mov esi, eax
add esp, 4
mov dword [ebp - 0x10c], esi
mov byte [ebp - 4], 0xa8
test esi, esi
je 0x468e7a
push dword [ebp - 0xf0]
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
jne 0x468e7c
cmp dword [ebp - 0xf0], eax
je 0x468e7c
push 0x8007000e
call fcn.004725a0
xor esi, esi
mov byte [ebp - 4], 0xa7
mov dword [ebp - 0x10c], esi
test esi, esi
jne 0x468e94
push 0x8007000e
call fcn.004725a0
mov byte [ebp - 4], 0xa9
mov ecx, dword [ebp - 0xf4]
push dword [esi]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x3c]
test eax, eax
mov byte [ebp - 4], 0xa7
lea eax, [esi + 8]
push eax
sets byte [ebp - 0xe1]
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x468ef6
mov eax, dword [esi]
test eax, eax
je 0x468ed4
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x468eeb
push eax
call fcn.0047138f
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0047186e
add esp, 8
cmp byte [ebp - 0xe1], 0
jne 0x469370
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x18]
sub ecx, 0x10
call fcn.004049a0
lea esi, [eax + 0x10]
mov dword [ebp - 0xf0], esi
mov byte [ebp - 4], 0xb2
cmp dword [esi - 4], 1
jle 0x468f3b
push dword [esi - 0xc]
lea ecx, [ebp - 0xf0]
call fcn.00403a80
mov esi, dword [ebp - 0xf0]
push esi
call fcn.0047a449
add esp, 4
mov dword [ebp - 0xf0], eax
mov byte [ebp - 4], 0xa7
add esi, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [esi + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x468f66
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0xf0]
cmp esi, 0x3c
jge 0x468f86
push str.PT1M
lea ecx, [ebp - 0x104]
call fcn.00402870
jmp 0x469244
mov eax, 0x91a2b3c5
imul esi
mov eax, 0x2aaaaaab
add edx, esi
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x10c], eax
cmp eax, 0x1f
jl 0x468fca
push str.P31D
lea ecx, [ebp - 0x104]
call fcn.00402870
jmp 0x469244
lea ecx, [ebp - 0xf0]
call fcn.004029a0
lea ecx, [ebp - 0xf4]
call fcn.004029a0
lea ecx, [ebp - 0xfc]
call fcn.004029a0
mov byte [ebp - 4], 0xb5
cmp dword [ebp - 0x10c], 0
jle 0x46902c
mov eax, 0xc22e4507
imul esi
add edx, esi
sar edx, 0x10
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul eax, ecx, 0x15180
sub esi, eax
test ecx, ecx
jle 0x46902c
push ecx
lea ecx, [ebp - 0xf0]
push 0x4a81e8
push ecx
call fcn.00405910
add esp, 0xc
mov eax, 0x91a2b3c5
imul esi
add edx, esi
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
test ecx, ecx
jle 0x469079
imul eax, ecx, 0xfffff1f0
add esi, eax
test ecx, ecx
jle 0x469079
push ecx
lea eax, [ebp - 0xfc]
push 0x4a81f0
push eax
call fcn.00405910
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0xf4]
add esp, 0xc
push dword [eax - 0xc]
push eax
call fcn.00405e70
mov eax, 0x88888889
imul esi
add edx, esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
test ecx, ecx
jle 0x4690ca
mov eax, ecx
shl eax, 4
sub eax, ecx
neg eax
lea esi, [esi + eax*4]
test ecx, ecx
jle 0x4690ca
push ecx
lea eax, [ebp - 0xfc]
push 0x4a81f8
push eax
call fcn.00405910
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0xf4]
add esp, 0xc
push dword [eax - 0xc]
push eax
call fcn.00405e70
test esi, esi
jle 0x4690f8
push esi
lea eax, [ebp - 0xfc]
push 0x4a8200
push eax
call fcn.00405910
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0xf4]
add esp, 0xc
push dword [eax - 0xc]
push eax
call fcn.00405e70
mov eax, dword [ebp - 0xf4]
mov ecx, 0x49cf5c
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x469129
test dx, dx
je 0x469125
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x469129
add eax, 4
add ecx, 4
test dx, dx
jne 0x469103
xor eax, eax
jmp 0x46912e
sbb eax, eax
or eax, 1
test eax, eax
setne al
test al, al
je 0x469170
lea eax, [ebp - 0xf4]
mov edx, 0x4a8208
push eax
lea ecx, [ebp - 0x10c]
call fcn.00405bb0
add esp, 4
push eax
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0xb6
call fcn.00403b60
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0xb5
call fcn.004028c0
mov eax, dword [ebp - 0xf0]
mov ecx, 0x49cf5c
nop dword [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4691a6
test dx, dx
je 0x4691a2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4691a6
add eax, 4
add ecx, 4
test dx, dx
jne 0x469180
xor eax, eax
jmp 0x4691ab
sbb eax, eax
or eax, 1
test eax, eax
setne al
test al, al
je 0x4691ee
lea eax, [ebp - 0x104]
push eax
lea edx, [ebp - 0xf0]
lea ecx, [ebp - 0x10c]
call fcn.00405cf0
add esp, 4
push eax
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0xb7
call fcn.00403b60
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0xb5
call fcn.004028c0
lea eax, [ebp - 0x104]
mov edx, 0x4a820c
push eax
lea ecx, [ebp - 0x10c]
call fcn.00405bb0
add esp, 4
push eax
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0xb8
call fcn.00403b60
lea ecx, [ebp - 0x10c]
call fcn.004028c0
lea ecx, [ebp - 0xfc]
call fcn.004028c0
lea ecx, [ebp - 0xf4]
call fcn.004028c0
lea ecx, [ebp - 0xf0]
call fcn.004028c0
mov dword [ebp - 0x120], 0
mov byte [ebp - 4], 0xb9
lea edx, [ebp - 0x120]
mov eax, dword [ebp - 0xf8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
test eax, eax
js 0x46935c
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0xf0], ecx
test eax, eax
jne 0x46928d
xor esi, esi
mov dword [ebp - 0x10c], esi
jmp 0x4692b0
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [ebp - 0x10c], esi
test esi, esi
jne 0x4692aa
push 0x8007000e
call fcn.00402240
mov ecx, dword [ebp - 0xf0]
mov byte [ebp - 4], 0xc3
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x20]
test eax, eax
push esi
sets byte [ebp - 0xe1]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0xe1], 0
jne 0x46935c
mov byte [ebp - 4], 0xcd
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x4692ec
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xe8]
call fcn.004028c0
mov byte [ebp - 4], 0xce
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x46930b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xcf
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x46931f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x104]
call fcn.004028c0
mov esi, dword [ebp - 0x100]
mov dword [ebp - 0x150], 0
mov byte [ebp - 4], 0xd0
lea edx, [ebp - 0x150]
mov eax, dword [ebp - 0x11c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
test eax, eax
jns 0x4693b5
xor esi, esi
jmp 0x469758
mov byte [ebp - 4], 0xc4
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x469370
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xe8]
call fcn.004028c0
mov byte [ebp - 4], 0xc5
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x46938f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc6
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x4693a3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x104]
call fcn.004028c0
xor esi, esi
jmp 0x46976f
mov dword [ebp - 0x14c], 0
mov byte [ebp - 4], 0xd8
lea edx, [ebp - 0x14c]
mov eax, dword [ebp - 0x150]
push edx
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
test eax, eax
jns 0x4693e3
xor esi, esi
jmp 0x469741
mov dword [ebp - 0x144], 0
mov byte [ebp - 4], 0xe1
lea edx, [ebp - 0x144]
mov eax, dword [ebp - 0x14c]
push edx
push str.MbLk
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
jns 0x469413
xor esi, esi
jmp 0x46972a
mov dword [ebp - 0x140], 0
mov byte [ebp - 4], 0xeb
lea edx, [ebp - 0x140]
mov eax, dword [ebp - 0x11c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
js 0x469788
mov eax, dword [ebp - 0x140]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x140]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0xe8], ecx
test eax, eax
jne 0x469474
xor esi, esi
mov dword [ebp - 0x10c], esi
jmp 0x469497
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [ebp - 0x10c], esi
test esi, esi
jne 0x469491
push 0x8007000e
call fcn.00402240
mov ecx, dword [ebp - 0xe8]
mov byte [ebp - 4], 0xf6
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x2c]
test eax, eax
mov byte [ebp - 4], 0xeb
push esi
sets byte [ebp - 0xe1]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0xe1], 0
jne 0x469788
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0xe8], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4694e6
xor esi, esi
mov dword [ebp - 0x10c], esi
jmp 0x469509
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [ebp - 0x10c], esi
test esi, esi
jne 0x469503
push 0x8007000e
call fcn.00402240
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 4], 0x101
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x34]
test eax, eax
push esi
sets byte [ebp - 0xe1]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0xe1], 0
jne 0x469788
mov dword [ebp - 0x15c], 0
xor eax, eax
mov dword [ebp - 4], 0x10c
mov word [ebp - 0x170], ax
lea eax, [ebp - 0x170]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jns 0x469565
push eax
call fcn.00402240
mov esi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov eax, 8
push 0x49cf5c
mov word [ebp - 0x170], ax
call esi
mov dword [ebp - 0x168], eax
test eax, eax
jne 0x4695a8
mov eax, 0xa
mov dword [ebp - 0x168], 0x8007000e
push 0x8007000e
mov word [ebp - 0x170], ax
call fcn.00402240
movups xmm0, xmmword [ebp - 0x170]
lea eax, [ebp - 0x180]
push eax
movups xmmword [ebp - 0x1b0], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x180], xmm0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [ebp - 4], 0xe
xor eax, eax
movups xmm0, xmmword [ebp - 0x180]
mov word [ebp - 0x138], ax
lea eax, [ebp - 0x138]
push eax
movups xmmword [ebp - 0x1a0], xmm0
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jns 0x4695ff
push eax
call fcn.00402240
mov eax, 8
push edi
mov word [ebp - 0x138], ax
call esi
mov dword [ebp - 0x130], eax
test eax, eax
jne 0x469620
test edi, edi
jne 0x46863c
mov eax, dword [ebp - 0x100]
mov byte [ebp - 4], 0xf
movups xmm0, xmmword [ebp - 0x138]
mov edx, dword [ebp - 0x128]
mov eax, dword [eax + 4]
mov dword [ebp - 0xe8], edx
movups xmmword [ebp - 0x190], xmm0
test eax, eax
jne 0x469655
xor esi, esi
mov dword [ebp - 0x10c], esi
jmp 0x469675
push eax
call esi
mov esi, eax
mov dword [ebp - 0x10c], esi
test esi, esi
je 0x468652
movups xmm0, xmmword [ebp - 0x190]
mov edx, dword [ebp - 0xe8]
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x10
movups xmm1, xmmword [ebp - 0x1b0]
push eax
mov ecx, dword [edx]
sub esp, 0x10
mov eax, esp
push 3
sub esp, 0x10
movups xmmword [eax], xmm1
mov eax, esp
sub esp, 0x10
movups xmm1, xmmword [ebp - 0x1a0]
movups xmmword [eax], xmm1
mov eax, esp
push 6
push dword [ebp - 0x11c]
push esi
push edx
movups xmmword [eax], xmm0
call dword [ecx + 0x44]
push esi
mov dword [ebp - 0x10c], eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x138]
push eax
call esi
lea eax, [ebp - 0x180]
push eax
call esi
lea eax, [ebp - 0x170]
push eax
call esi
xor ecx, ecx
cmp dword [ebp - 0x10c], ecx
sete cl
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 4], 0x111
mov eax, dword [ebp - 0x15c]
test eax, eax
je 0x46970d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0xe8]
mov dword [ebp - 4], 0x112
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x46972a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x113
mov eax, dword [ebp - 0x144]
test eax, eax
je 0x469741
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x114
mov eax, dword [ebp - 0x14c]
test eax, eax
je 0x469758
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x115
mov eax, dword [ebp - 0x150]
test eax, eax
je 0x46976f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x116
mov eax, dword [ebp - 0x13c]
test eax, eax
je 0x46978e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x46978e
xor esi, esi
jmp 0x469713
xor esi, esi
mov dword [ebp - 4], 0x117
mov eax, dword [ebp - 0x154]
test eax, eax
je 0x4697a9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4697a9
xor esi, esi
mov dword [ebp - 4], pe_nt_image_headers32
mov eax, dword [ebp - 0x158]
test eax, eax
je 0x4697c0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x119
mov eax, dword [ebp - 0x11c]
test eax, eax
je 0x4697f5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4697f5
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x4697ed
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x148]
xor esi, esi
mov dword [ebp - 4], 0x11a
mov eax, dword [ebp - 0x124]
test eax, eax
je 0x46980c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0x11b
mov eax, dword [ebp - 0x128]
test eax, eax
je 0x469823
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0xffffffff
add edi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x469842
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0047137e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret