Function at 0x10049050
Capabilities:
Get session user name
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 0x100854ec
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xc8
push esi
push edi
mov eax, dword [0x100a1040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
mov dword [ebp - 0x64], 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x100490a8
xor eax, eax
jmp 0x10049dc9
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]
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0
push eax
push 0x10095b58
push 1
push 0
push 0x10088428
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x10049230
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x98]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x98], xmm0
call esi
movups xmm0, xmmword [ebp - 0x98]
lea eax, [ebp - 0x88]
push eax
movups xmmword [ebp - 0xb8], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x88], xmm0
call esi
movups xmm0, xmmword [ebp - 0x88]
lea eax, [ebp - 0x78]
push eax
movups xmmword [ebp - 0xc8], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x78], xmm0
call esi
movups xmm0, xmmword [ebp - 0x78]
lea eax, [ebp - 0xa8]
push eax
movups xmmword [ebp - 0xd8], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0xa8], xmm0
call esi
mov byte [ebp - 4], 4
sub esp, 0x10
movups xmm0, xmmword [ebp - 0xb8]
mov eax, dword [ebp - 0x18]
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0xc8]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0xd8]
movups xmmword [ecx], xmm0
mov ecx, esp
movups xmm0, xmmword [ebp - 0xa8]
push eax
movups xmmword [ecx], xmm0
call dword [edx + 0x28]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, eax
lea eax, [ebp - 0xa8]
push eax
call edi
lea eax, [ebp - 0x78]
push eax
call edi
lea eax, [ebp - 0x88]
push eax
call edi
lea eax, [ebp - 0x98]
push eax
call edi
test esi, esi
js 0x10049230
mov dword [ebp - 0x2c], 0
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x18]
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push 0x1009328c
call edi
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10049ddf
lea edx, [ebp - 0x2c]
mov byte [ebp - 4], 6
mov ecx, dword [esi]
push edx
push eax
push esi
call dword [ecx + 0x1c]
mov byte [ebp - 4], 5
mov esi, eax
push dword [ebp - 0x14]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test esi, esi
jns 0x1004924d
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x10049230
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10049dc0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10049dc0
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], edx
test eax, eax
jne 0x10049263
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x14], esi
jmp 0x10049278
push eax
call edi
mov esi, eax
mov dword [ebp - 0x14], esi
mov ecx, esi
test esi, esi
je 0x10049ddf
mov edx, dword [ebp - 0x4c]
push 0
mov byte [ebp - 4], 7
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x3c]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x1c], 0
mov byte [ebp - 4], 8
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
push edx
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
jns 0x100492c4
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x1004921f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x1004921f
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x100492d8
mov dword [ebp - 0x18], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x28], 0
mov byte [ebp - 4], 9
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
jns 0x10049307
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x100492aa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100492aa
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x20]
push eax
call fcn.1004a2f0
mov byte [ebp - 4], 0xa
mov eax, dword [eax]
test eax, eax
jne 0x10049374
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x4c]
push ecx
push edx
mov eax, dword [edx]
call dword [eax + 0x28]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 9
or eax, 0xffffffff
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1004935b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x4c], edx
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x10049388
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x14], esi
jmp 0x1004939d
push eax
call edi
mov esi, eax
mov dword [ebp - 0x14], esi
mov ecx, esi
test esi, esi
je 0x10049ddf
jmp 0x10049327
push eax
call edi
mov esi, eax
mov dword [ebp - 0x14], esi
mov ecx, esi
test esi, esi
je 0x10049ddf
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0xc
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x20]
mov byte [ebp - 4], 9
push esi
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x100493c9
mov dword [ebp - 0x28], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
jns 0x100493ff
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x100492f4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100492f4
mov dword [ebp - 0x38], 0
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x24]
push edx
push 9
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
test edx, edx
je 0x10049436
mov dword [ebp - 0x24], 0
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
test eax, eax
jns 0x10049465
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x1004944e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x24]
mov byte [ebp - 4], 9
test edx, edx
je 0x100492f4
mov eax, dword [edx]
push edx
call dword [eax + 8]
jmp 0x100492f4
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov dword [ebp - 0x30], ecx
test eax, eax
je 0x10049493
mov ecx, dword [eax]
lea edx, [ebp - 0x30]
push edx
push 0x10095b68
push eax
call dword [ecx]
mov edx, dword [ebp - 0x24]
test eax, eax
mov eax, dword [ebp - 0x38]
jns 0x10049490
xor ecx, ecx
mov dword [ebp - 0x30], ecx
jmp 0x10049493
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 4], 0xf
test ecx, ecx
jne 0x100494a1
mov byte [ebp - 4], 0xd
jmp 0x10049441
mov eax, dword [ecx]
push 0xffffffffffffffff
push ecx
call dword [eax + 0x4c]
mov eax, dword [ebp - 0x30]
push str.Trigger1
mov dword [ebp - 0x14], eax
call edi
mov edi, eax
mov dword [ebp - 0x48], edi
test edi, edi
je 0x10049ddf
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x14]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
push edi
mov byte [ebp - 4], 0xf
call esi
cmp word [0x100a4168], 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x44], eax
jne 0x10049500
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0x100
push eax
push 0x100a4168
push 2
call dword [sym.imp.Secur32.dll_GetUserNameExW]
call fcn.10004070
mov ecx, eax
test ecx, ecx
je 0x10049de9
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20], eax
push 0x100a4168
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x11
call fcn.10007ac0
test al, al
jne 0x1004955d
mov ecx, 0x100a4168
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10049540
sub ecx, edx
sar ecx, 1
push ecx
push 0x100a4168
lea ecx, [ebp - 0x20]
call fcn.10007d40
mov byte [ebp - 4], 0x12
mov edi, dword [ebp - 0x20]
test edi, edi
jne 0x100495b1
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x4c], esi
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x44]
push ecx
push edx
mov eax, dword [edx]
call dword [eax + 0x5c]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0xf
add edi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x100495a0
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10004070
mov ecx, eax
test ecx, ecx
je 0x10049df3
jmp 0x100495c9
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [ebp - 0x4c], esi
mov ecx, esi
test esi, esi
je 0x10049dfd
jmp 0x1004956f
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 0xc]
mov ecx, 0x3c
mov byte [ebp - 4], 0x14
mov eax, dword [eax + 0x10]
cdq
idiv ecx
push edx
push eax
lea eax, [ebp - 0x4c]
push str.PT_dM_dS
push eax
call fcn.10007310
mov esi, dword [ebp - 0x4c]
add esp, 0x10
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x20], edx
test esi, esi
jne 0x10049611
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x14], edi
jmp 0x1004962a
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x14], edi
mov ecx, edi
test edi, edi
je 0x10049e07
mov edx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x15
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x54]
push edi
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x14
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edx, dword [ebp - 0x30]
test edx, edx
je 0x10049657
mov dword [ebp - 0x30], 0
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
cmp dword [ebp - 0x14], 0
jge 0x100496a4
or eax, 0xffffffff
mov byte [ebp - 4], 0xf
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10049679
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x1004968a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x100493e5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100493e5
mov dword [ebp - 0x34], 0
mov byte [ebp - 4], 0x16
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
test eax, eax
jns 0x100496d3
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x1004965d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x1004965d
mov dword [ebp - 0x50], 0
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0x34]
push edx
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov edx, dword [ebp - 0x34]
mov edi, eax
test edx, edx
je 0x10049706
mov dword [ebp - 0x34], 0
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
mov edx, dword [ebp - 0x34]
test edi, edi
jns 0x10049735
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x1004971e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x34]
mov byte [ebp - 4], 0x14
test edx, edx
je 0x1004965d
mov eax, dword [edx]
push edx
call dword [eax + 8]
jmp 0x1004965d
mov eax, dword [ebp - 0x50]
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
test eax, eax
je 0x10049763
mov ecx, dword [eax]
lea edx, [ebp - 0x3c]
push edx
push str.MbLk
push eax
call dword [ecx]
mov edx, dword [ebp - 0x34]
test eax, eax
mov eax, dword [ebp - 0x50]
jns 0x10049760
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
jmp 0x10049763
mov ecx, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x18
test ecx, ecx
jne 0x10049771
mov byte [ebp - 4], 0x16
jmp 0x10049711
call fcn.10004070
mov ecx, eax
test ecx, ecx
je 0x10049e11
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x44], eax
push 0x1009352c
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x19
call fcn.10007ac0
test al, al
jne 0x100497b1
push 1
push 0x1009352c
lea ecx, [ebp - 0x44]
call fcn.10007d40
mov eax, dword [ebx + 0xc]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x1a
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.100113c0
push 1
push 0x1009352c
lea ecx, [ebp - 0x44]
call fcn.100113c0
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x20], edx
test eax, eax
jne 0x100497eb
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x14], edi
jmp 0x10049804
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x14], edi
mov ecx, edi
test edi, edi
je 0x10049ddf
mov edx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x1b
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x2c]
push edi
mov byte [ebp - 4], 0x1a
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x20], edx
mov eax, dword [eax + 4]
test eax, eax
jne 0x10049833
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x14], edi
jmp 0x1004984c
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x14], edi
mov ecx, edi
test edi, edi
je 0x10049ddf
mov edx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x1c
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x3c]
push edi
mov byte [ebp - 4], 0x1a
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x20], edx
mov eax, dword [eax + 8]
test eax, eax
jne 0x1004987b
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x14], edi
jmp 0x10049894
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x14], edi
mov ecx, edi
test edi, edi
je 0x10049ddf
mov edx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x1d
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x34]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x54], 0
mov byte [ebp - 4], 0x1e
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 0x1c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test eax, eax
jns 0x1004993b
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x100498d3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or edi, 0xffffffff
mov byte [ebp - 4], 0x18
mov eax, edi
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100498f4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x10049905
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x10049916
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x10049927
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jmp 0x1004966f
call fcn.10004070
mov ecx, eax
test ecx, ecx
je 0x10049e1b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20], eax
push str.NAdministrators
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x1f
push str.BUILTI_s
push eax
call fcn.10007310
mov eax, dword [ebp - 0x54]
add esp, 0xc
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x48]
push eax
call fcn.1004a2f0
mov byte [ebp - 4], 0x20
mov eax, dword [eax]
test eax, eax
jne 0x100499db
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x58]
push ecx
push edx
mov eax, dword [edx]
call dword [eax + 0x20]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0x1f
or eax, 0xffffffff
mov edx, dword [ebp - 0x48]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100499c5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], edx
test eax, eax
jne 0x100499f3
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x48], edi
jmp 0x10049a0c
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x14], edi
mov ecx, edi
test edi, edi
je 0x10049e25
jmp 0x10049991
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x48], edi
mov ecx, edi
test edi, edi
je 0x10049ddf
mov edx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x22
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x40]
push edi
mov byte [ebp - 4], 0x1f
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x54]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x10049a41
mov dword [ebp - 0x3c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x40], 0
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
jns 0x10049aa9
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x10049a6e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1e
or edi, 0xffffffff
mov edx, dword [ebp - 0x20]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10049a8f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x100498d6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100498d6
mov eax, dword [ebp - 0x40]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebp - 0x40]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x40]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x40]
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push str.PT0S
mov dword [ebp - 0x48], eax
call edi
mov dword [ebp - 0x58], eax
test eax, eax
je 0x10049ddf
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x48]
push eax
push edx
mov ecx, dword [edx]
call dword [ecx + 0x70]
push dword [ebp - 0x58]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x5c], 0
mov byte [ebp - 4], 0x25
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x40]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x9c]
test eax, eax
js 0x10049b29
mov eax, dword [ebp - 0x5c]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x10049b3d
mov dword [ebp - 0x40], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x60], 0
lea eax, [ebp - 0x78]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x78], xmm0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
movups xmm0, xmmword [ebp - 0x78]
lea eax, [ebp - 0x88]
push eax
movups xmmword [ebp - 0xd8], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x88], xmm0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
movups xmm0, xmmword [ebp - 0x88]
lea eax, [ebp - 0x98]
push eax
movups xmmword [ebp - 0xc8], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x98], xmm0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, dword [ebx + 8]
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
movups xmm0, xmmword [ebp - 0x98]
movups xmmword [ebp - 0xb8], xmm0
test ecx, ecx
jne 0x10049bc4
xor edi, edi
xor edx, edx
mov dword [ebp - 0x48], edi
jmp 0x10049bd9
push ecx
call edi
mov edi, eax
mov dword [ebp - 0x48], edi
mov edx, edi
test edi, edi
je 0x10049e2f
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x2a
mov ecx, dword [eax]
lea eax, [ebp - 0x60]
movups xmm0, xmmword [ebp - 0xd8]
push eax
sub esp, 0x10
mov eax, esp
push 3
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0xc8]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0xb8]
push 6
push dword [ebp - 0x1c]
movups xmmword [eax], xmm0
push edx
push dword [ebp - 0x14]
call dword [ecx + 0x44]
push edi
mov dword [ebp - 0x48], eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x98]
push eax
call edi
lea eax, [ebp - 0x88]
push eax
call edi
lea eax, [ebp - 0x78]
push eax
call edi
mov byte [ebp - 4], 0x25
cmp dword [ebp - 0x48], 0
mov eax, dword [ebp - 0x60]
jge 0x10049c77
test eax, eax
je 0x10049c5d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x10049a5d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10049a5d
mov dword [ebp - 0x64], 1
test eax, eax
je 0x10049c88
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x10049c99
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x10049caa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1e
or edi, 0xffffffff
mov edx, dword [ebp - 0x20]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10049ccb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x10049cdc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x18
mov eax, edi
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10049cfa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x10049d0b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x10049d1c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x10049d2d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x10049d46
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x10049d57
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x10049d68
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x10049d79
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x10049d8a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x10049d9b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x10049dac
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x10049dc0
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
push 0x8007000e
call fcn.10001410
push 0x80004005
call fcn.10001410
push 0x80004005
call fcn.10001410
push 0x8007000e
call fcn.10001410
push 0x8007000e
call fcn.10001410
push 0x80004005
call fcn.10001410
push 0x80004005
call fcn.10001410
push 0x8007000e
call fcn.10001410
push 0x8007000e
call fcn.10001410
int3