Function at 0x437630
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 0x4801bc
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xc8
push esi
push edi
mov eax, dword [0x4a5018]
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 0x437688
xor eax, eax
jmp 0x438372
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 0x497480
push 1
push 0
push 0x4844a4
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x43780e
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 0x43780e
mov dword [ebp - 0x28], 0
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0x18]
push 0x494444
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [ebp - 0x4c], esi
test esi, esi
je 0x438388
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
mov eax, dword [edi]
push ecx
push esi
push edi
call dword [eax + 0x1c]
push esi
mov edi, eax
mov byte [ebp - 4], 5
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test edi, edi
jns 0x43782b
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x43780e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x438369
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x438369
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x28]
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x14], ecx
test eax, eax
jne 0x437845
xor esi, esi
mov dword [ebp - 0x44], esi
jmp 0x437858
push eax
call edi
mov esi, eax
mov dword [ebp - 0x44], esi
test esi, esi
je 0x438388
mov ecx, dword [ebp - 0x14]
push 0
mov byte [ebp - 4], 7
mov eax, dword [ecx]
push esi
push ecx
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 0x4378a4
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4377fd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4377fd
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x4378b8
mov dword [ebp - 0x18], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 9
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
jns 0x4378e7
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x43788a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x43788a
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x34]
push eax
call fcn.00438b80
mov byte [ebp - 4], 0xa
mov eax, dword [eax]
test eax, eax
jne 0x437950
xor esi, esi
mov dword [ebp - 0x44], esi
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x14]
push esi
push ecx
mov eax, dword [ecx]
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 - 0x34]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437939
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x14], ecx
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x437962
xor esi, esi
mov dword [ebp - 0x44], esi
jmp 0x437975
push eax
call edi
mov esi, eax
mov dword [ebp - 0x44], esi
test esi, esi
je 0x438388
jmp 0x437905
push eax
call edi
mov esi, eax
mov dword [ebp - 0x44], esi
test esi, esi
je 0x438388
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xc
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x20]
push esi
mov byte [ebp - 4], 9
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x43799f
mov dword [ebp - 0x24], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x20], 0
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
jns 0x4379d5
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4378d4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4378d4
mov dword [ebp - 0x40], 0
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 0x20]
push edx
push 9
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov edx, dword [ebp - 0x20]
mov esi, eax
test edx, edx
je 0x437a08
mov dword [ebp - 0x20], 0
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
mov edx, dword [ebp - 0x20]
test esi, esi
jns 0x437a37
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x437a20
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x20]
mov byte [ebp - 4], 9
test edx, edx
je 0x4378d4
mov eax, dword [edx]
push edx
call dword [eax + 8]
jmp 0x4378d4
mov eax, dword [ebp - 0x40]
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
test eax, eax
je 0x437a64
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
push 0x497490
push eax
call dword [ecx]
mov ecx, dword [ebp - 0x2c]
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x40]
cmovs ecx, edx
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 4], 0xf
test ecx, ecx
jne 0x437a72
mov byte [ebp - 4], 0xd
jmp 0x437a13
mov eax, dword [ecx]
push 0xffffffffffffffff
push ecx
call dword [eax + 0x4c]
mov eax, dword [ebp - 0x2c]
push str.Trigger1
mov dword [ebp - 0x44], eax
call edi
mov esi, eax
mov dword [ebp - 0x4c], esi
test esi, esi
je 0x438388
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x44]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x24]
push esi
mov byte [ebp - 4], 0xf
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp word [0x4aaab0], 0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
jne 0x437ad5
lea eax, [ebp - 0x44]
mov dword [ebp - 0x44], 0x100
push eax
push 0x4aaab0
push 2
call dword [sym.imp.Secur32.dll_GetUserNameExW]
call fcn.00402880
mov ecx, eax
test ecx, ecx
je 0x438392
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x14], eax
push 0x4aaab0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x11
call fcn.004067d0
test al, al
jne 0x437b2d
mov ecx, 0x4aaab0
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x437b10
sub ecx, edx
sar ecx, 1
push ecx
push 0x4aaab0
lea ecx, [ebp - 0x14]
call fcn.004069d0
mov byte [ebp - 4], 0x12
mov edi, dword [ebp - 0x14]
test edi, edi
jne 0x437b7f
xor esi, esi
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x38]
push esi
push ecx
mov eax, dword [ecx]
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 0x437b6e
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00402880
mov ecx, eax
test ecx, ecx
je 0x43839c
jmp 0x437b95
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [ebp - 0x34], esi
test esi, esi
je 0x4383a6
jmp 0x437b3d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x44], 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 - 0x44]
push str.PT_dM_dS
push eax
call fcn.00407700
mov esi, dword [ebp - 0x44]
add esp, 0x10
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
test esi, esi
jne 0x437bdb
xor edi, edi
mov dword [ebp - 0x38], edi
jmp 0x437bf2
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x38], edi
test edi, edi
je 0x4383b0
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x15
mov eax, dword [ecx]
push edi
push ecx
call dword [eax + 0x54]
push edi
mov dword [ebp - 0x38], eax
mov byte [ebp - 4], 0x14
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edx, dword [ebp - 0x2c]
test edx, edx
je 0x437c1f
mov dword [ebp - 0x2c], 0
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
cmp dword [ebp - 0x38], 0
jge 0x437c6c
or eax, 0xffffffff
mov byte [ebp - 4], 0xf
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x437c41
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x437c52
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x4379bb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4379bb
mov dword [ebp - 0x30], 0
mov byte [ebp - 4], 0x16
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
test eax, eax
jns 0x437c9b
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x437c25
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x437c25
mov dword [ebp - 0x54], 0
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 0x30]
push edx
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov edx, dword [ebp - 0x30]
mov edi, eax
test edx, edx
je 0x437cce
mov dword [ebp - 0x30], 0
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
mov edx, dword [ebp - 0x30]
test edi, edi
jns 0x437cfd
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x437ce6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 0x14
test edx, edx
je 0x437c25
mov eax, dword [edx]
push edx
call dword [eax + 8]
jmp 0x437c25
mov eax, dword [ebp - 0x54]
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
test eax, eax
je 0x437d2a
mov ecx, dword [eax]
lea edx, [ebp - 0x3c]
push edx
push str.MbLk
push eax
call dword [ecx]
mov ecx, dword [ebp - 0x3c]
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x54]
cmovs ecx, edx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
mov byte [ebp - 4], 0x18
test ecx, ecx
jne 0x437d38
mov byte [ebp - 4], 0x16
jmp 0x437cd9
call fcn.00402880
mov ecx, eax
test ecx, ecx
je 0x4383ba
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x34], eax
push 0x494458
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x19
call fcn.004067d0
test al, al
jne 0x437d78
push 1
push 0x494458
lea ecx, [ebp - 0x34]
call fcn.004069d0
mov eax, dword [ebx + 0xc]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x1a
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.00414240
push 1
push 0x494458
lea ecx, [ebp - 0x34]
call fcn.00414240
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], ecx
test eax, eax
jne 0x437db0
xor edi, edi
mov dword [ebp - 0x38], edi
jmp 0x437dc7
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x38], edi
test edi, edi
je 0x438388
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1b
mov eax, dword [ecx]
push edi
push ecx
call dword [eax + 0x2c]
push edi
mov byte [ebp - 4], 0x1a
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], ecx
mov eax, dword [eax + 4]
test eax, eax
jne 0x437df4
xor edi, edi
mov dword [ebp - 0x38], edi
jmp 0x437e0b
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x38], edi
test edi, edi
je 0x438388
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1c
mov eax, dword [ecx]
push edi
push ecx
call dword [eax + 0x3c]
push edi
mov byte [ebp - 4], 0x1a
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x437e38
xor edi, edi
mov dword [ebp - 0x38], edi
jmp 0x437e4f
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x38], edi
test edi, edi
je 0x438388
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1d
mov eax, dword [ecx]
push edi
push ecx
call dword [eax + 0x34]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x50], 0
mov byte [ebp - 4], 0x1e
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test eax, eax
jns 0x437ef6
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x437e8e
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 - 0x34]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437eaf
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 0x437ec0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x437ed1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x437ee2
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 0x437c37
call fcn.00402880
mov ecx, eax
test ecx, ecx
je 0x4383c4
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x14], eax
push str.NAdministrators
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x1f
push str.BUILTI_s
push eax
call fcn.00407700
mov eax, dword [ebp - 0x50]
add esp, 0xc
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00438b80
mov byte [ebp - 4], 0x20
mov eax, dword [eax]
test eax, eax
jne 0x437f92
xor edi, edi
mov dword [ebp - 0x38], edi
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x58]
push edi
push ecx
mov eax, dword [ecx]
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 - 0x4c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437f7e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x58], ecx
test eax, eax
jne 0x437fa8
xor edi, edi
mov dword [ebp - 0x4c], edi
jmp 0x437fbf
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x38], edi
test edi, edi
je 0x4383ce
jmp 0x437f4a
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x4c], edi
test edi, edi
je 0x438388
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x22
mov eax, dword [ecx]
push edi
push ecx
call dword [eax + 0x40]
push edi
mov byte [ebp - 4], 0x1f
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x50]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x437ff4
mov dword [ebp - 0x3c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x48], 0
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
jns 0x43805c
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x438021
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1e
or edi, 0xffffffff
mov edx, dword [ebp - 0x14]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438042
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x437e91
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x437e91
mov eax, dword [ebp - 0x48]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebp - 0x48]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x48]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x48]
push str.PT0S
mov dword [ebp - 0x4c], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x58], edi
test edi, edi
je 0x438388
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x4c]
push edi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x70]
push edi
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 - 0x48]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x9c]
test eax, eax
js 0x4380da
mov eax, dword [ebp - 0x5c]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x4380ee
mov dword [ebp - 0x48], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x60], 0
mov edi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x78]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x78], xmm0
call edi
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 edi
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 edi
mov eax, dword [ebx + 8]
mov byte [ebp - 4], 0x29
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x58], edx
movups xmm0, xmmword [ebp - 0x98]
movups xmmword [ebp - 0xb8], xmm0
test eax, eax
jne 0x43816d
xor edi, edi
mov dword [ebp - 0x4c], edi
jmp 0x438184
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x4c], edi
test edi, edi
je 0x4383d8
mov edx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x60]
movups xmm0, xmmword [ebp - 0xd8]
push eax
mov ecx, dword [edx]
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 edi
push edx
call dword [ecx + 0x44]
push edi
mov dword [ebp - 0x4c], 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 - 0x4c], 0
mov eax, dword [ebp - 0x60]
jge 0x438220
test eax, eax
je 0x438206
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x438010
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x438010
mov dword [ebp - 0x64], 1
test eax, eax
je 0x438231
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x438242
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x438253
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1e
or edi, 0xffffffff
mov edx, dword [ebp - 0x14]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438274
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x438285
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x18
mov eax, edi
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4382a3
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 0x4382b4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x4382c5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4382d6
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 0x4382ef
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x438300
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x438311
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x438322
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x438333
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x438344
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x438355
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x438369
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.00402980
push 0x80004005
call fcn.00402980
push 0x80004005
call fcn.00402980
push 0x8007000e
call fcn.00402980
push 0x8007000e
call fcn.00402980
push 0x80004005
call fcn.00402980
push 0x80004005
call fcn.00402980
push 0x8007000e
call fcn.00402980
push 0x8007000e
call fcn.00402980
int3