Function at 0x10007070
Capabilities:
Get session user name
Schedule task via itaskservice

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1003bc81
mov eax, dword fs:[0]
push eax
sub esp, 0x4e4
mov eax, dword [0x10051114]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
mov dword [ebp - 0x480], 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x100070ba
xor eax, eax
jmp 0x10007eed
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 - 0x440], 0
lea eax, [ebp - 0x440]
mov dword [ebp - 4], 0
push eax
push 0x1003efac
push 1
push 0
push 0x10044160
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x10007264
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x4b0]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x4b0], xmm0
call esi
movups xmm0, xmmword [ebp - 0x4b0]
lea eax, [ebp - 0x4a0]
push eax
movups xmmword [ebp - 0x4d0], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x4a0], xmm0
call esi
movups xmm0, xmmword [ebp - 0x4a0]
lea eax, [ebp - 0x490]
push eax
movups xmmword [ebp - 0x4e0], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x490], xmm0
call esi
movups xmm0, xmmword [ebp - 0x490]
lea eax, [ebp - 0x4c0]
push eax
movups xmmword [ebp - 0x4f0], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x4c0], xmm0
call esi
movups xmm0, xmmword [ebp - 0x4d0]
mov eax, dword [ebp - 0x440]
sub esp, 0x10
mov ecx, esp
mov byte [ebp - 4], 4
sub esp, 0x10
mov edx, dword [eax]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x4e0]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x4f0]
movups xmmword [ecx], xmm0
mov ecx, esp
movups xmm0, xmmword [ebp - 0x4c0]
push eax
movups xmmword [ecx], xmm0
call dword [edx + 0x28]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, eax
lea eax, [ebp - 0x4c0]
push eax
call edi
lea eax, [ebp - 0x490]
push eax
call edi
lea eax, [ebp - 0x4a0]
push eax
call edi
lea eax, [ebp - 0x4b0]
push eax
call edi
test esi, esi
js 0x10007264
mov dword [ebp - 0x450], 0
mov edi, dword [ebp - 0x440]
push 0x1003d330
mov byte [ebp - 4], 5
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
je 0x10007f08
mov eax, dword [edi]
lea ecx, [ebp - 0x450]
push ecx
push esi
push edi
mov byte [ebp - 4], 6
call dword [eax + 0x1c]
push esi
mov edi, eax
mov byte [ebp - 4], 5
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x450]
test edi, edi
jns 0x10007284
mov byte [ebp - 4], 0
test eax, eax
je 0x10007264
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x440]
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x10007ee1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10007ee1
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push str.HaloWP
mov dword [ebp - 0x468], eax
call edi
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
je 0x10007f12
mov ecx, dword [ebp - 0x468]
push 0
push esi
push ecx
mov eax, dword [ecx]
mov byte [ebp - 4], 7
call dword [eax + 0x3c]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x444], 0
mov eax, dword [ebp - 0x440]
lea edx, [ebp - 0x444]
push edx
push 0
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 8
call dword [ecx + 0x24]
test eax, eax
jns 0x10007307
mov eax, dword [ebp - 0x444]
mov byte [ebp - 4], 5
test eax, eax
je 0x100072fc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x450]
jmp 0x10007256
mov ecx, dword [ebp - 0x440]
test ecx, ecx
je 0x10007321
mov dword [ebp - 0x440], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x44c], 0
mov eax, dword [ebp - 0x444]
lea edx, [ebp - 0x44c]
push edx
push eax
mov byte [ebp - 4], 9
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
mov eax, dword [ebp - 0x44c]
jns 0x1000735c
mov byte [ebp - 4], 8
test eax, eax
je 0x100072e8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100072e8
cmp word [0x10052400], 0
mov dword [ebp - 0x43c], eax
jne 0x10007388
lea eax, [ebp - 0x468]
mov dword [ebp - 0x468], 0x100
push eax
push 0x10052400
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
push 0x10052400
call edi
mov esi, eax
mov dword [ebp - 0x46c], esi
test esi, esi
je 0x10007f1c
mov ecx, dword [ebp - 0x43c]
push esi
push ecx
mov byte [ebp - 4], 0xa
mov eax, dword [ecx]
call dword [eax + 0x28]
push esi
mov byte [ebp - 4], 9
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x44c]
push str.Starts_halowp_when_a_user_logs_on.
mov dword [ebp - 0x43c], eax
call edi
mov esi, eax
mov dword [ebp - 0x46c], esi
test esi, esi
je 0x10007f26
mov ecx, dword [ebp - 0x43c]
push esi
push ecx
mov byte [ebp - 4], 0xb
mov eax, dword [ecx]
call dword [eax + 0x20]
push esi
mov byte [ebp - 4], 9
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [ebp - 0x44c]
test ecx, ecx
je 0x10007414
mov dword [ebp - 0x44c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x448], 0
mov eax, dword [ebp - 0x444]
lea edx, [ebp - 0x448]
push edx
push eax
mov byte [ebp - 4], 0xc
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
jns 0x10007458
mov eax, dword [ebp - 0x448]
mov byte [ebp - 4], 9
test eax, eax
je 0x1000744d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x44c]
jmp 0x1000734c
mov dword [ebp - 0x464], 0
mov eax, dword [ebp - 0x448]
lea edx, [ebp - 0x464]
push edx
push 9
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0xd
call dword [ecx + 0x28]
mov edx, dword [ebp - 0x448]
mov esi, eax
test edx, edx
je 0x1000749d
mov dword [ebp - 0x448], 0
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
mov edx, dword [ebp - 0x448]
mov eax, dword [ebp - 0x464]
test esi, esi
jns 0x100074d4
mov byte [ebp - 4], 0xc
test eax, eax
je 0x100074bb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x448]
mov byte [ebp - 4], 9
test edx, edx
je 0x1000744d
mov eax, dword [edx]
push edx
call dword [eax + 8]
mov eax, dword [ebp - 0x44c]
jmp 0x1000734c
xor ecx, ecx
mov dword [ebp - 0x45c], ecx
test eax, eax
je 0x10007510
mov ecx, dword [eax]
lea edx, [ebp - 0x45c]
push edx
push 0x1003eef0
push eax
call dword [ecx]
mov ecx, dword [ebp - 0x45c]
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x464]
cmovs ecx, edx
mov edx, dword [ebp - 0x448]
mov dword [ebp - 0x45c], ecx
mov byte [ebp - 4], 0xe
test ecx, ecx
je 0x100074a7
mov eax, dword [ecx]
push 0xffffffffffffffff
push ecx
call dword [eax + 0x4c]
mov eax, dword [ebp - 0x45c]
push str.Trigger1
mov dword [ebp - 0x43c], eax
call edi
mov esi, eax
mov dword [ebp - 0x46c], esi
test esi, esi
je 0x10007f30
mov ecx, dword [ebp - 0x43c]
push esi
push ecx
mov byte [ebp - 4], 0xf
mov eax, dword [ecx]
call dword [eax + 0x24]
push esi
mov byte [ebp - 4], 0xe
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp word [0x10052600], 0
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 0x468], eax
jne 0x10007592
lea eax, [ebp - 0x43c]
mov dword [ebp - 0x43c], 0x100
push eax
push 0x10052600
push 2
call sub.Secur32.dll_GetUserNameExW
push 0x10052600
call edi
mov esi, eax
mov dword [ebp - 0x46c], esi
test esi, esi
je 0x10007f3a
mov ecx, dword [ebp - 0x468]
push esi
push ecx
mov byte [ebp - 4], 0x10
mov eax, dword [ecx]
call dword [eax + 0x5c]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x454], 0
mov eax, dword [ebp - 0x444]
lea edx, [ebp - 0x454]
push edx
push eax
mov byte [ebp - 4], 0x11
mov ecx, dword [eax]
call dword [ecx + 0x44]
test eax, eax
jns 0x1000762b
mov eax, dword [ebp - 0x454]
mov byte [ebp - 4], 0xe
test eax, eax
je 0x100075fa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x45c]
mov byte [ebp - 4], 0xd
test eax, eax
je 0x1000760e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x464]
mov byte [ebp - 4], 0xc
test eax, eax
je 0x10007439
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10007439
mov dword [ebp - 0x474], 0
mov eax, dword [ebp - 0x454]
lea edx, [ebp - 0x474]
push edx
push 0
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0x12
call dword [ecx + 0x30]
mov edx, dword [ebp - 0x454]
mov esi, eax
test edx, edx
je 0x10007670
mov dword [ebp - 0x454], 0
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
mov edx, dword [ebp - 0x454]
mov eax, dword [ebp - 0x474]
test esi, esi
jns 0x100076a5
mov byte [ebp - 4], 0x11
test eax, eax
je 0x1000768e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x454]
mov byte [ebp - 4], 0xe
test edx, edx
je 0x100075fa
mov eax, dword [edx]
push edx
call dword [eax + 8]
jmp 0x100075fa
xor ecx, ecx
mov dword [ebp - 0x458], ecx
test eax, eax
je 0x100076e1
mov ecx, dword [eax]
lea edx, [ebp - 0x458]
push edx
push str.MbLk
push eax
call dword [ecx]
mov ecx, dword [ebp - 0x458]
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x474]
cmovs ecx, edx
mov edx, dword [ebp - 0x454]
mov dword [ebp - 0x458], ecx
test ecx, ecx
je 0x1000767a
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.100214a0
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x10000000
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x218]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
call esi
lea ecx, [ebp - 0x420]
mov edx, 0x104
lea esi, [ebp - 0x218]
mov eax, ecx
sub esi, eax
nop
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x1000775e
movzx eax, word [ecx + esi]
test ax, ax
je 0x1000775e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x10007740
lea eax, [ecx - 2]
test edx, edx
push str..HaloWp.exe
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
xor eax, eax
mov dword [ebp - 0x424], 7
push 2
mov word [ebp - 0x438], ax
lea eax, [ebp - 0x438]
push 0x1003ef6c
push eax
mov dword [ebp - 0x428], 1
call fcn.10020f20
add esp, 0xc
xor eax, eax
mov word [ebp - 0x436], ax
lea ecx, [ebp - 0x420]
mov byte [ebp - 4], 0x14
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100077c6
sub ecx, edx
lea eax, [ebp - 0x420]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x438]
call fcn.10003840
push 1
push 0x1003ef6c
lea ecx, [ebp - 0x438]
call fcn.10003840
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
mov ecx, dword [ebp - 0x458]
mov dword [ebp - 0x468], ecx
jb 0x10007829
mov eax, dword [ebp - 0x438]
test eax, eax
jne 0x10007829
xor esi, esi
mov dword [ebp - 0x43c], esi
jmp 0x10007842
push eax
call edi
mov esi, eax
mov dword [ebp - 0x43c], esi
test esi, esi
je 0x10007f44
mov ecx, dword [ebp - 0x468]
mov eax, dword [ecx]
push esi
push ecx
mov byte [ebp - 4], 0x15
call dword [eax + 0x2c]
push esi
mov byte [ebp - 4], 0x14
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x43c], eax
lea eax, [ebp - 0x218]
push eax
call edi
mov esi, eax
mov dword [ebp - 0x46c], esi
test esi, esi
je 0x10007f4e
mov ecx, dword [ebp - 0x43c]
push esi
push ecx
mov byte [ebp - 4], 0x16
mov eax, dword [ecx]
call dword [eax + 0x3c]
push esi
mov byte [ebp - 4], 0x14
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x458]
push str._autorun
mov dword [ebp - 0x43c], eax
call edi
mov esi, eax
mov dword [ebp - 0x46c], esi
test esi, esi
je 0x10007f58
mov ecx, dword [ebp - 0x43c]
push esi
push ecx
mov byte [ebp - 4], 0x17
mov eax, dword [ecx]
call dword [eax + 0x34]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x470], 0
mov eax, dword [ebp - 0x444]
lea edx, [ebp - 0x470]
push edx
push eax
mov byte [ebp - 4], 0x18
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test eax, eax
mov eax, dword [ebp - 0x470]
jns 0x100079a3
mov byte [ebp - 4], 0x14
test eax, eax
je 0x10007911
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x424]
mov byte [ebp - 4], 0x13
cmp edx, 8
jb 0x10007955
mov ecx, dword [ebp - 0x438]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1000794b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10007f62
push edx
push ecx
call fcn.10017540
add esp, 8
xor eax, eax
mov dword [ebp - 0x428], 0
mov word [ebp - 0x438], ax
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x424], 7
mov byte [ebp - 4], 0x12
test eax, eax
je 0x10007986
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x474]
mov byte [ebp - 4], 0x11
test eax, eax
je 0x100075e6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100075e6
cmp word [0x10052400], 0
mov dword [ebp - 0x468], eax
jne 0x100079cf
lea eax, [ebp - 0x43c]
mov dword [ebp - 0x43c], 0x100
push eax
push 0x10052400
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
push 0x10052400
call edi
mov esi, eax
mov dword [ebp - 0x46c], esi
test esi, esi
je 0x10007f67
mov ecx, dword [ebp - 0x468]
push esi
push ecx
mov byte [ebp - 4], 0x19
mov eax, dword [ecx]
call dword [eax + 0x20]
push esi
mov byte [ebp - 4], 0x18
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x470]
push 0x1003ef70
mov dword [ebp - 0x43c], eax
call edi
mov esi, eax
mov dword [ebp - 0x46c], esi
test esi, esi
je 0x10007f71
mov ecx, dword [ebp - 0x43c]
push esi
push ecx
mov byte [ebp - 4], 0x1a
mov eax, dword [ecx]
call dword [eax + 0x40]
push esi
mov byte [ebp - 4], 0x18
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x470]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov ecx, dword [ebp - 0x458]
test ecx, ecx
je 0x10007a69
mov dword [ebp - 0x458], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x460], 0
mov eax, dword [ebp - 0x444]
lea edx, [ebp - 0x460]
push edx
push eax
mov byte [ebp - 4], 0x1b
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
mov eax, dword [ebp - 0x460]
jns 0x10007b4c
mov byte [ebp - 4], 0x18
test eax, eax
je 0x10007aa6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x470]
mov byte [ebp - 4], 0x14
test eax, eax
je 0x10007aba
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x424]
mov byte [ebp - 4], 0x13
cmp edx, 8
jb 0x10007afe
mov ecx, dword [ebp - 0x438]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10007af4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10007f7b
push edx
push ecx
call fcn.10017540
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x12
mov word [ebp - 0x438], ax
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x424], 7
mov dword [ebp - 0x428], 0
test eax, eax
je 0x10007b2f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x474]
mov byte [ebp - 4], 0x11
test eax, eax
je 0x100075e6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100075e6
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x40]
mov eax, dword [ebp - 0x460]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x460]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x460]
push str.PT0S
mov dword [ebp - 0x43c], eax
call edi
mov esi, eax
mov dword [ebp - 0x46c], esi
test esi, esi
je 0x10007f80
mov ecx, dword [ebp - 0x43c]
push esi
push ecx
mov byte [ebp - 4], 0x1c
mov eax, dword [ecx]
call dword [eax + 0x70]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x478], 0
mov eax, dword [ebp - 0x460]
lea edx, [ebp - 0x478]
push edx
push eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [eax]
call dword [ecx + 0x9c]
test eax, eax
js 0x10007be1
mov eax, dword [ebp - 0x478]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov ecx, dword [ebp - 0x460]
test ecx, ecx
je 0x10007bfb
mov dword [ebp - 0x460], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x47c], 0
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x490]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x490], xmm0
call esi
movups xmm0, xmmword [ebp - 0x490]
lea eax, [ebp - 0x4a0]
push eax
movups xmmword [ebp - 0x4f0], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x4a0], xmm0
call esi
movups xmm0, xmmword [ebp - 0x4a0]
lea eax, [ebp - 0x4b0]
push eax
movups xmmword [ebp - 0x4e0], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x4b0], xmm0
call esi
movups xmm0, xmmword [ebp - 0x4b0]
mov eax, dword [ebp - 0x450]
push str.HaloWP
mov byte [ebp - 4], 0x21
movups xmmword [ebp - 0x4d0], xmm0
mov dword [ebp - 0x43c], eax
call edi
mov esi, eax
mov dword [ebp - 0x46c], esi
test esi, esi
je 0x10007f8a
movups xmm0, xmmword [ebp - 0x4f0]
mov edx, dword [ebp - 0x43c]
lea eax, [ebp - 0x47c]
push eax
sub esp, 0x10
mov byte [ebp - 4], 0x22
mov eax, esp
mov ecx, dword [edx]
push 3
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x4e0]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x4d0]
push 6
push dword [ebp - 0x444]
movups xmmword [eax], xmm0
push esi
push edx
call dword [ecx + 0x44]
push esi
mov edi, eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x4b0]
push eax
call esi
lea eax, [ebp - 0x4a0]
push eax
call esi
lea eax, [ebp - 0x490]
push eax
call esi
mov eax, dword [ebp - 0x47c]
mov byte [ebp - 4], 0x1d
test edi, edi
jns 0x10007d65
test eax, eax
je 0x10007d26
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x478]
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x10007d3a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x460]
mov byte [ebp - 4], 0x18
test eax, eax
je 0x10007d4e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x470]
mov byte [ebp - 4], 0x14
test eax, eax
je 0x10007aba
jmp 0x10007ab4
mov dword [ebp - 0x480], 1
test eax, eax
je 0x10007d79
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x478]
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x10007d8d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x460]
mov byte [ebp - 4], 0x18
test eax, eax
je 0x10007da1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x470]
mov byte [ebp - 4], 0x14
test eax, eax
je 0x10007db5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x424]
mov byte [ebp - 4], 0x13
cmp edx, 8
jb 0x10007df9
mov ecx, dword [ebp - 0x438]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10007def
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10007f7b
push edx
push ecx
call fcn.10017540
add esp, 8
xor eax, eax
mov dword [ebp - 0x428], 0
mov word [ebp - 0x438], ax
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x424], 7
mov byte [ebp - 4], 0x12
test eax, eax
je 0x10007e2a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x474]
mov byte [ebp - 4], 0x11
test eax, eax
je 0x10007e3e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x454]
mov byte [ebp - 4], 0xe
test eax, eax
je 0x10007e52
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x45c]
mov byte [ebp - 4], 0xd
test eax, eax
je 0x10007e66
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x464]
mov byte [ebp - 4], 0xc
test eax, eax
je 0x10007e7a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x448]
mov byte [ebp - 4], 9
test eax, eax
je 0x10007e8e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x44c]
mov byte [ebp - 4], 8
test eax, eax
je 0x10007ea2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x444]
mov byte [ebp - 4], 5
test eax, eax
je 0x10007eb6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x450]
mov byte [ebp - 4], 0
test eax, eax
je 0x10007eca
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0x440]
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x10007ee1
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x480]
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.100178b1
mov esp, ebp
pop ebp
ret
push 0x8007000e
call fcn.10002690
push 0x8007000e
call fcn.10002690
push 0x8007000e
call fcn.10002690
push 0x8007000e
call fcn.10002690
push 0x8007000e
call fcn.10002690
push 0x8007000e
call fcn.10002690
push 0x8007000e
call fcn.10002690
push 0x8007000e
call fcn.10002690
push 0x8007000e
call fcn.10002690
call fcn.100230fc
push 0x8007000e
call fcn.10002690
push 0x8007000e
call fcn.10002690
call fcn.100230fc
push 0x8007000e
call fcn.10002690
push 0x8007000e
call fcn.10002690
int3