Function at 0x402a90
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 0x442888
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x130
mov eax, dword [0x459004]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0xb1], cl
lea ecx, [ebp - 0xa0]
call fcn.00401a60
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x58]
call fcn.004094e0
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x402b02
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
push 2
sub esp, 8
call fcn.004099f0
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov esi, eax
cmp ecx, 8
jb 0x402b4e
mov edx, dword [ebp - 0x58]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402b44
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038a6
push ecx
push edx
call fcn.0040a3d8
add esp, 8
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x58]
call fcn.004094e0
mov byte [ebp - 4], 1
xorps xmm0, xmm0
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
cmp dword [eax + 0x10], esi
cmovb esi, dword [eax + 0x10]
cmp dword [eax + 0x14], 8
jb 0x402b88
mov eax, dword [eax]
push esi
push eax
lea ecx, [ebp - 0x88]
call fcn.00409b40
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x44]
cmp ecx, 8
jb 0x402bd3
mov edx, dword [ebp - 0x58]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402bc9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4038ab
push ecx
push edx
call fcn.0040a3d8
add esp, 8
xor eax, eax
mov dword [ebp - 0x48], 0
push eax
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.0042736c
add esp, 4
mov esi, eax
push 0
call fcn.0042736c
add esp, 4
push eax
call fcn.00427410
add esp, 4
call fcn.004273ef
and eax, 0x80000007
jns 0x402c16
dec eax
or eax, 0xfffffff8
inc eax
add eax, 7
mov dword [ebp - 0x60], 0
imul ecx, eax, 0x15180
xorps xmm0, xmm0
mov eax, 0x91a2b3c5
mov dword [ebp - 0x5c], 0
push 3
push 0x451550
movups xmmword [ebp - 0x70], xmm0
add ecx, esi
mul ecx
lea ecx, [ebp - 0x70]
mov esi, edx
shr esi, 0xb
call fcn.00409b40
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x16]
nop dword [eax + eax]
mov eax, 0xcccccccd
sub ecx, 2
mul esi
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub esi, eax
add esi, 0x30
mov word [ecx], si
mov esi, edx
test esi, esi
jne 0x402c60
push ecx
lea eax, [ebp - 0x16]
push eax
push ecx
lea ecx, [ebp - 0x58]
call fcn.0040a040
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
cmp dword [ebp - 0x44], 8
mov edi, dword [ebp - 0x58]
mov esi, dword [ebp - 0x60]
cmovae ecx, edi
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x48]
sub eax, esi
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xa8], esi
cmp edx, eax
ja 0x402cf8
cmp dword [ebp - 0x5c], 8
lea eax, [esi + edx]
mov dword [ebp - 0x60], eax
lea esi, [ebp - 0x70]
cmovae esi, dword [ebp - 0x70]
mov eax, dword [ebp - 0xa8]
lea ecx, [esi + eax*2]
lea eax, [edx + edx]
push eax
push dword [ebp - 0xa4]
push ecx
call fcn.00423fe0
mov eax, dword [ebp - 0x48]
add esp, 0xc
add eax, dword [ebp - 0xa8]
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x402d13
push edx
push ecx
mov byte [ebp - 0xa4], 0
lea ecx, [ebp - 0x70]
push dword [ebp - 0xa4]
push edx
call fcn.00409de0
mov edi, dword [ebp - 0x58]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x44]
cmp eax, 8
jb 0x402d4e
lea ecx, [eax*2 + 2]
mov eax, edi
cmp ecx, 0x1000
jb 0x402d44
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403900
push ecx
push edi
call fcn.0040a3d8
add esp, 8
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
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
js 0x403799
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xb8], 0
push eax
push 0x446e6c
push 1
push 0
push 0x446e7c
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x403799
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x110]
push eax
call esi
movups xmm0, xmmword [ebp - 0x110]
lea eax, [ebp - 0x140]
push eax
movups xmmword [ebp - 0x120], xmm0
call esi
movups xmm0, xmmword [ebp - 0x140]
lea eax, [ebp - 0xf0]
push eax
movups xmmword [ebp - 0x130], xmm0
call esi
movups xmm0, xmmword [ebp - 0xf0]
lea eax, [ebp - 0x100]
push eax
movups xmmword [ebp - 0x50], xmm0
call esi
mov byte [ebp - 4], 9
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x120]
mov ecx, dword [ebp - 0xb8]
mov eax, esp
sub esp, 0x10
mov edx, dword [ecx]
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x130]
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x50]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x100]
push ecx
movups xmmword [eax], xmm0
call dword [edx + 0x28]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, eax
lea eax, [ebp - 0x100]
push eax
call edi
lea eax, [ebp - 0xf0]
push eax
call edi
lea eax, [ebp - 0x140]
push eax
call edi
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 4
push eax
call edi
test esi, esi
js 0x403799
push 0xc
mov dword [ebp - 0xc0], 0
call fcn.0040a409
mov esi, eax
add esp, 4
mov dword [ebp - 0xa4], esi
mov byte [ebp - 4], 0xa
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
test esi, esi
je 0x402ec2
push 0x451558
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
je 0x4038b0
jmp 0x402ec4
xor esi, esi
mov byte [ebp - 4], 4
mov dword [ebp - 0xa4], esi
test esi, esi
je 0x4038b0
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0xc0]
mov eax, dword [ebp - 0xb8]
push edx
push dword [esi]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov dword [ebp - 0xa4], eax
or ecx, 0xffffffff
mov byte [ebp - 4], 4
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x402f3f
mov ecx, dword [esi]
test ecx, ecx
je 0x402f17
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x402f2e
push eax
call fcn.0040a439
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040a3d8
mov eax, dword [ebp - 0xa4]
add esp, 8
test eax, eax
js 0x403799
push 0xc
call fcn.0040a409
mov esi, eax
add esp, 4
mov dword [ebp - 0xa4], esi
mov byte [ebp - 4], 0xc
test esi, esi
je 0x402f82
push str.Helper
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
je 0x4038ba
jmp 0x402f84
xor esi, esi
mov byte [ebp - 4], 4
mov dword [ebp - 0xa4], esi
test esi, esi
je 0x4038b0
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0xc0]
push 0
push dword [esi]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
mov byte [ebp - 4], 4
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x402fee
mov eax, dword [esi]
test eax, eax
je 0x402fcc
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x402fe3
push eax
call fcn.0040a439
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040a3d8
add esp, 8
cmp byte [ebp - 0xb1], 0
je 0x403010
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
xor esi, esi
jmp 0x4037a4
mov eax, dword [ebp - 0xb8]
lea edx, [ebp - 0xb0]
push edx
mov dword [ebp - 0xb0], 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
jns 0x403043
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 2
jmp 0x4037a4
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xb0]
lea edx, [ebp - 0xe0]
mov dword [ebp - 0xe0], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
js 0x40378c
mov eax, dword [ebp - 0xb0]
lea edx, [ebp - 0xd8]
mov dword [ebp - 0xd8], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [ebp - 0xd8]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0xb0]
lea edx, [ebp - 0xac]
mov dword [ebp - 0xac], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
js 0x40378c
mov eax, dword [ebp - 0xac]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov eax, dword [ebp - 0xac]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0xac]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebp - 0xac]
push 2
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 0xc
call fcn.0040a409
mov esi, eax
add esp, 4
mov dword [ebp - 0xa4], esi
mov byte [ebp - 4], 0xe
test esi, esi
je 0x403137
push 0x45155c
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
je 0x4038c4
jmp 0x403139
xor esi, esi
mov byte [ebp - 4], 4
mov dword [ebp - 0xa4], esi
test esi, esi
je 0x4038b0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0xac]
push dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
mov byte [ebp - 4], 4
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x4031a1
mov eax, dword [esi]
test eax, eax
je 0x40317f
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x403196
push eax
call fcn.0040a439
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040a3d8
add esp, 8
mov eax, dword [ebp - 0xac]
push 0xffffffffffffffff
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xb0]
lea edx, [ebp - 0xc4]
mov dword [ebp - 0xc4], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
js 0x40378c
mov eax, dword [ebp - 0xc4]
lea edx, [ebp - 0xc8]
push edx
mov dword [ebp - 0xc8], 0
push 9
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
test eax, eax
js 0x40378c
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xc8]
lea edx, [ebp - 0xcc]
push edx
mov dword [ebp - 0xcc], 0
push 0x446e8c
mov ecx, dword [eax]
push eax
call dword [ecx]
test eax, eax
js 0x40378c
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push 0xc
call fcn.0040a409
mov esi, eax
add esp, 4
mov dword [ebp - 0xa4], esi
mov byte [ebp - 4], 0x10
test esi, esi
je 0x403283
push 0x451568
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
je 0x4038ce
jmp 0x403285
xor esi, esi
mov byte [ebp - 4], 4
mov dword [ebp - 0xa4], esi
test esi, esi
je 0x4038b0
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0xcc]
push dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov dword [ebp - 0xa4], eax
or ecx, 0xffffffff
mov byte [ebp - 4], 4
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x4032f9
mov ecx, dword [esi]
test ecx, ecx
je 0x4032d1
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4032e8
push eax
call fcn.0040a439
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040a3d8
mov eax, dword [ebp - 0xa4]
add esp, 8
test eax, eax
js 0x40378c
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xb0]
lea edx, [ebp - 0xd0]
mov dword [ebp - 0xd0], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0xd4]
push edx
mov dword [ebp - 0xd4], 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xd4]
lea edx, [ebp - 0xbc]
push edx
mov dword [ebp - 0xbc], 0
push str.MbLk
mov ecx, dword [eax]
push eax
call dword [ecx]
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebp - 0x8c], 8
lea eax, [ebp - 0xa0]
push 0xc
cmovae eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
call fcn.0040a409
mov esi, eax
add esp, 4
mov dword [ebp - 0xa4], esi
mov byte [ebp - 4], 0x12
test esi, esi
je 0x4033e0
push dword [ebp - 0xa8]
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
jne 0x4033e2
cmp dword [ebp - 0xa8], eax
jne 0x4038d8
jmp 0x4033e2
xor esi, esi
mov byte [ebp - 4], 4
mov dword [ebp - 0xa4], esi
test esi, esi
je 0x4038b0
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0xbc]
push dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov byte [ebp - 4], 4
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x40344a
mov eax, dword [esi]
test eax, eax
je 0x403428
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x40343f
push eax
call fcn.0040a439
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040a3d8
add esp, 8
cmp dword [ebp - 0x5c], 8
lea eax, [ebp - 0x70]
push 0xc
cmovae eax, dword [ebp - 0x70]
mov dword [ebp - 0xa8], eax
call fcn.0040a409
mov esi, eax
add esp, 4
mov dword [ebp - 0xa4], esi
mov byte [ebp - 4], 0x14
test esi, esi
je 0x40349f
push dword [ebp - 0xa8]
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
jne 0x4034a1
cmp dword [ebp - 0xa8], eax
jne 0x4038e2
jmp 0x4034a1
xor esi, esi
mov byte [ebp - 4], 4
mov dword [ebp - 0xa4], esi
test esi, esi
je 0x4038b0
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0xbc]
push dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov byte [ebp - 4], 4
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x403509
mov eax, dword [esi]
test eax, eax
je 0x4034e7
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4034fe
push eax
call fcn.0040a439
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040a3d8
add esp, 8
cmp dword [ebp - 0x74], 8
lea eax, [ebp - 0x88]
push 0xc
cmovae eax, dword [ebp - 0x88]
mov dword [ebp - 0xa8], eax
call fcn.0040a409
mov esi, eax
add esp, 4
mov dword [ebp - 0xa4], esi
mov byte [ebp - 4], 0x16
test esi, esi
je 0x403564
push dword [ebp - 0xa8]
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
jne 0x403566
cmp dword [ebp - 0xa8], eax
jne 0x4038ec
jmp 0x403566
xor esi, esi
mov byte [ebp - 4], 4
mov dword [ebp - 0xa4], esi
test esi, esi
je 0x4038b0
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0xbc]
push dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov byte [ebp - 4], 4
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x4035ce
mov eax, dword [esi]
test eax, eax
je 0x4035ac
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4035c3
push eax
call fcn.0040a439
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040a3d8
add esp, 8
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, 8
mov dword [ebp - 0xdc], 0
push 0x451304
mov word [ebp - 0x100], si
call edi
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x4038b0
movups xmm0, xmmword [ebp - 0x100]
lea eax, [ebp - 0x110]
push eax
movups xmmword [ebp - 0x50], xmm0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [ebp - 4], 0x19
movups xmm0, xmmword [ebp - 0x110]
push str.S_1_1_0
mov word [ebp - 0xf0], si
movups xmmword [ebp - 0x130], xmm0
call edi
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x4038b0
mov byte [ebp - 4], 0x1a
movups xmm0, xmmword [ebp - 0xf0]
push 0xc
movups xmmword [ebp - 0x120], xmm0
call fcn.0040a409
mov esi, eax
add esp, 4
mov dword [ebp - 0xa4], esi
mov byte [ebp - 4], 0x1b
test esi, esi
je 0x403698
push str.Helper
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
je 0x4038f6
jmp 0x40369a
xor esi, esi
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0xa4], esi
test esi, esi
je 0x4038b0
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0xdc]
movups xmm0, xmmword [ebp - 0x50]
mov ecx, dword [ebp - 0xc0]
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 - 0x130]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x120]
push 6
push dword [ebp - 0xb0]
movups xmmword [eax], xmm0
push dword [esi]
push ecx
call dword [edx + 0x44]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x403739
mov eax, dword [esi]
test eax, eax
je 0x403717
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x40372e
push eax
call fcn.0040a439
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0040a3d8
add esp, 8
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0xf0]
push eax
call esi
lea eax, [ebp - 0x110]
push eax
call esi
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 4
push eax
call esi
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xdc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
xor esi, esi
jmp 0x4037a4
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 3
jmp 0x4037a4
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
mov ecx, dword [ebp - 0x5c]
cmp ecx, 8
jb 0x4037de
mov edx, dword [ebp - 0x70]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4037d4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403900
push ecx
push edx
call fcn.0040a3d8
add esp, 8
mov ecx, dword [ebp - 0x74]
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
cmp ecx, 8
jb 0x40382f
mov edx, dword [ebp - 0x88]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403825
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403900
push ecx
push edx
call fcn.0040a3d8
add esp, 8
mov ecx, dword [ebp - 0x8c]
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
cmp ecx, 8
jb 0x403886
mov edx, dword [ebp - 0xa0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40387c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403900
push ecx
push edx
call fcn.0040a3d8
add esp, 8
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.0040a3ca
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0042731b
call fcn.0042731b
push 0x8007000e
call fcn.00423210
push 0x8007000e
call fcn.00423210
push 0x8007000e
call fcn.00423210
push 0x8007000e
call fcn.00423210
push 0x8007000e
call fcn.00423210
push 0x8007000e
call fcn.00423210
push 0x8007000e
call fcn.00423210
push 0x8007000e
call fcn.00423210
call fcn.0042731b
int3