Function at 0x1000642f
Capabilities:
Get hostname
Inspect section memory permissions

Disassembly:
push ebp
lea ebp, [esp - 0x454]
sub esp, 0x4d4
mov eax, dword [0x1001e248]
xor eax, ebp
mov dword [ebp + 0x450], eax
mov eax, dword [ebp + 0x460]
push ebx
push esi
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0x464]
push edi
mov edi, dword [ebp + 0x45c]
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x30], eax
call dword [0x1001e040]
mov dword [ebp - 4], eax
lea eax, [ebp + 0x10]
push eax
xor esi, esi
push edi
push esi
mov dword [ebp + 0x34], esi
mov dword [ebp + 0x10], esi
mov dword [ebp + 8], esi
call sub.urlmon.dll_CreateURLMoniker
mov edi, eax
cmp edi, esi
jge 0x100064cd
push edi
call fcn.100023b5
push esi
mov ebx, eax
mov eax, 0x1001be90
push eax
push esi
push esi
push ebx
push eax
call fcn.10002591
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp + 8]
cmp eax, esi
je 0x100064b9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x100064c6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, edi
jmp 0x100087f6
lea eax, [ebp + 4]
push eax
push esi
mov dword [ebp + 4], esi
call dword [sym.imp.ole32.dll_CreateBindCtx]
mov ebx, eax
cmp ebx, esi
jl 0x100064fd
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 8]
push edx
push 0x1001a420
push esi
push dword [ebp + 4]
push eax
call dword [ecx + 0x24]
mov ebx, eax
cmp ebx, esi
jge 0x10006521
push ebx
call fcn.100023b5
push esi
mov edi, eax
mov eax, 0x1001be90
push eax
push esi
push esi
push edi
push eax
call fcn.10002591
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x100065b9
lea eax, [ebp]
push eax
push 0x1001a470
push 0x17
push esi
push 0x1001bea0
mov dword [ebp], esi
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
cmp ebx, esi
jge 0x10006562
push ebx
call fcn.100023b5
push esi
mov edi, eax
mov eax, 0x1001be90
push eax
push esi
push esi
push edi
push eax
call fcn.10002591
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x100065ac
lea eax, [ebp]
push eax
lea ecx, [ebp - 0xc]
call fcn.10002028
mov eax, dword [ebp - 0xc]
push dword [ebp + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov ebx, eax
cmp ebx, esi
jge 0x100065e7
push ebx
call fcn.100023b5
push esi
mov edi, eax
mov eax, 0x1001be90
push eax
push esi
push esi
push edi
push eax
call fcn.10002591
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0xc]
cmp eax, esi
je 0x100065ac
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp]
cmp eax, esi
je 0x100065b9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 4]
cmp eax, esi
je 0x100065c6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
cmp eax, esi
je 0x100065d3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x100065e0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, ebx
jmp 0x100087f6
push 0x78
call fcn.10017e87
cmp eax, esi
pop ecx
je 0x100065fc
mov ecx, eax
call fcn.10003bbf
jmp 0x100065fe
xor eax, eax
push eax
lea ecx, [ebp - 0x14]
call fcn.10009c32
mov ecx, dword [ebp - 0x5c]
call fcn.1000f5a9
mov edi, dword [ebp - 0x14]
mov dword [edi + 8], eax
mov eax, dword [ebp]
lea edx, [ebp + 0x24]
push edx
mov dword [ebp + 0x24], esi
mov dword [ebp + 0x2c], esi
mov dword [ebp - 8], esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
cmp eax, esi
mov dword [ebp + 0x30], eax
jge 0x100066bc
push eax
call fcn.100023b5
push esi
mov ebx, eax
mov eax, 0x1001be90
push eax
push esi
push esi
push ebx
push eax
call fcn.10002591
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp + 0x2c]
cmp eax, esi
je 0x1000666b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
cmp eax, esi
je 0x10006678
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp - 0xc]
cmp eax, esi
je 0x1000668b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp]
cmp eax, esi
je 0x10006698
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 4]
cmp eax, esi
je 0x100066a5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
cmp eax, esi
je 0x100066b2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
cmp eax, esi
jmp 0x100082ff
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax]
lea edx, [ebp - 8]
push edx
push eax
call dword [ecx + 0x1c]
push str.APPLICENSE
lea ecx, [ebp - 8]
call fcn.10001693
movzx eax, al
shl eax, 0x1d
xor eax, dword [edi + 0x50]
push str.MACHINELICENSE
and eax, 0x20000000
xor dword [edi + 0x50], eax
lea ecx, [ebp - 8]
call fcn.10001693
movzx eax, al
shl eax, 0x1b
xor eax, dword [edi + 0x50]
and eax, 0x8000000
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ebx, dword [ebp + 0x24]
push str.PUBLISHER
lea ecx, [ebp + 0x30]
call fcn.1000153a
mov ecx, dword [ebx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push ebx
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call ebx
cmp word [ebp + 0x14], 8
je 0x100067aa
lea eax, [ebp + 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
cmp eax, esi
je 0x10006759
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
cmp eax, esi
je 0x10006766
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp - 0xc]
cmp eax, esi
je 0x10006779
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp]
cmp eax, esi
je 0x10006786
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 4]
cmp eax, esi
je 0x10006793
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
cmp eax, esi
je 0x100067a0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
cmp eax, esi
jmp 0x10008695
push dword [ebp + 0x1c]
lea ecx, [edi + 0x1c]
call fcn.100015c0
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x24]
push str.COMMERCIAL
lea ecx, [ebp + 0x30]
mov dword [ebp + 0x28], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x28]
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
cmp word [ebp + 0x14], 0
je 0x100068b2
push 0xb
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0x28], eax
jge 0x100068a0
push dword [ebp + 0x28]
call fcn.100023b5
xor ecx, ecx
push ecx
mov dword [ebp - 4], eax
mov eax, 0x1001be90
push eax
push ecx
push ecx
push dword [ebp - 4]
push eax
call fcn.10002591
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea eax, [ebp + 0x14]
push eax
call esi
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x1000684f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x1000685c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x1000686f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp]
test eax, eax
je 0x1000687c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 4]
test eax, eax
je 0x10006889
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
test eax, eax
je 0x10006896
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
test eax, eax
jmp 0x1000764e
movsx eax, word [ebp + 0x1c]
shl eax, 0x1e
xor eax, dword [edi + 0x50]
and eax, 0x40000000
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x24]
push 0x1001acf4
lea ecx, [ebp + 0x30]
mov dword [ebp + 0x28], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x28]
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
cmp word [ebp + 0x14], 8
jne 0x100068f3
push dword [ebp + 0x1c]
lea ecx, [edi + 0x20]
call fcn.100015c0
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x24]
push str.OEMKEY
lea ecx, [ebp + 0x30]
mov dword [ebp + 0x28], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x28]
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
cmp word [ebp + 0x14], 8
jne 0x10006967
push dword [ebp + 0x1c]
lea ecx, [edi + 0x70]
call fcn.100015c0
mov ecx, dword [ebp - 0x5c]
push eax
add ecx, 0xa0
call fcn.10001d2b
mov eax, dword [edi + 0x70]
test eax, eax
je 0x10006951
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
neg eax
shl eax, 0x1a
xor eax, dword [edi + 0x50]
and eax, 0x4000000
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x24]
push str.GUID
lea ecx, [ebp + 0x30]
mov dword [ebp + 0x28], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x28]
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
cmp word [ebp + 0x14], 8
jne 0x10006c08
lea eax, [edi + 0xc]
push eax
push dword [ebp + 0x1c]
call dword [sym.imp.ole32.dll_CLSIDFromString]
test eax, eax
mov dword [ebp + 0x28], eax
jl 0x1000680f
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x24]
push str.FROM
lea ecx, [ebp + 0x30]
mov dword [ebp + 0x28], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x28]
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
cmp word [ebp + 0x14], 8
jne 0x10006c08
lea eax, [edi + 0x30]
push eax
push 2
push 0x409
push dword [ebp + 0x1c]
call dword [sym.imp.OLEAUT32.dll_VarDateFromDisp]
test eax, eax
mov dword [ebp + 0x28], eax
jl 0x1000680f
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x24]
push str.FIXEDFROM
lea ecx, [ebp + 0x30]
mov dword [ebp + 0x28], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x28]
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
cmp word [ebp + 0x14], 0
je 0x10006a6e
test byte [edi + 0x53], 0x20
je 0x10006a6e
push 0xb
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0x28], eax
jl 0x1000680f
mov eax, dword [ebp + 0x1c]
mov dword [ebp + 0x34], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x24]
push 0x1001acb0
lea ecx, [ebp + 0x30]
mov dword [ebp + 0x28], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x28]
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
cmp word [ebp + 0x14], 8
jne 0x10006c08
lea eax, [edi + 0x38]
push eax
push 2
push 0x409
push dword [ebp + 0x1c]
call dword [sym.imp.OLEAUT32.dll_VarDateFromDisp]
test eax, eax
mov dword [ebp + 0x28], eax
jl 0x1000680f
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x24]
push str.REVISION
lea ecx, [ebp + 0x30]
mov dword [ebp + 0x28], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x28]
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
cmp word [ebp + 0x14], 0
je 0x10006b1d
push 0x13
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0x28], eax
jl 0x1000680f
mov eax, dword [ebp + 0x1c]
mov dword [edi + 0x4c], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x24]
push str.AUTO
lea ecx, [ebp + 0x30]
mov dword [ebp + 0x28], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x28]
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
cmp word [ebp + 0x14], 0
je 0x10006b82
push 0xb
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0x28], eax
jl 0x1000680f
movsx eax, word [ebp + 0x1c]
mov ecx, dword [edi + 0x50]
shl eax, 0x1f
and ecx, 0x7fffffff
or eax, ecx
mov dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x24]
push str.AUTOUPGRADE
lea ecx, [ebp + 0x30]
mov dword [ebp + 0x28], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x28]
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
cmp word [ebp + 0x14], 0
je 0x10006be4
push 0xb
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0x28], eax
jl 0x1000680f
movsx eax, word [ebp + 0x1c]
shl eax, 0x11
xor eax, dword [edi + 0x50]
and eax, 0x20000
xor dword [edi + 0x50], eax
cmp dword [ebp + 0x468], 0
je 0x10006bf1
or byte [edi + 0x53], 0x80
mov eax, dword [ebp + 0x24]
and dword [ebp - 0x10], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x10]
push edx
push eax
call dword [ecx + 0x34]
cmp dword [ebp - 0x10], 0
jne 0x10006c38
lea eax, [ebp + 0x14]
push eax
call esi
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x10006c20
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x10006c2d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [edi]
push edi
call dword [eax + 8]
jmp 0x1000865c
xor eax, eax
mov word [ebp - 0x44], 3
mov dword [ebp - 0x3c], eax
lea esi, [ebp - 0x44]
lea edi, [ebp - 0x6c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push str.TITLE
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x20], eax
movsd dword es:[edi], dword [esi]
mov word [ebp - 0x54], ax
call fcn.10001dc9
lea edx, [ebp - 0x20]
push edx
sub esp, 0x10
mov edi, esp
mov eax, dword [ebp - 0x10]
lea esi, [ebp - 0x6c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x28]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x54]
push eax
call esi
lea eax, [ebp - 0x44]
push eax
call esi
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp + 0x2c]
call fcn.10002049
test eax, eax
je 0x10006e13
lea eax, [ebp + 0x14]
push eax
mov edi, esi
call edi
mov esi, dword [ebp + 0x2c]
push str.INFO
lea ecx, [ebp + 0x30]
call fcn.1000153a
mov ecx, dword [esi]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push esi
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
cmp word [ebp + 0x14], 8
jne 0x10006dc7
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 0x1c]
xor esi, esi
push dword [ebp + 0x10]
mov dword [ebp - 0x18], esi
call sub.urlmon.dll_CreateURLMoniker
cmp eax, esi
mov dword [ebp + 0x28], eax
jge 0x10006d21
push eax
call fcn.100023b5
push esi
mov dword [ebp - 4], eax
mov eax, 0x1001be90
push eax
push esi
push esi
push dword [ebp - 4]
push eax
call fcn.10002591
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x10006d6c
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x1c]
push edx
push esi
push esi
mov dword [ebp - 0x1c], esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x50]
cmp eax, esi
mov dword [ebp + 0x28], eax
jge 0x10006d9e
push eax
call fcn.100023b5
push esi
mov dword [ebp - 4], eax
mov eax, 0x1001be90
push eax
push esi
push esi
push dword [ebp - 4]
push eax
call fcn.10002591
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x1c], esi
je 0x10006d6c
push dword [ebp - 0x1c]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x10006d79
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
cmp eax, esi
je 0x10006d86
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
cmp eax, esi
je 0x10006d93
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call edi
jmp 0x100075ed
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x1c]
add ecx, 0x6c
call fcn.100015c0
cmp dword [ebp - 0x1c], esi
je 0x10006dba
push dword [ebp - 0x1c]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x10006dc7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call edi
mov esi, dword [ebp + 0x2c]
push 0x1001acf4
lea ecx, [ebp + 0x30]
call fcn.1000153a
mov ecx, dword [esi]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push esi
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
cmp word [ebp + 0x14], 8
jne 0x10006e03
mov ecx, dword [ebp - 0x14]
push dword [ebp + 0x1c]
add ecx, 0x28
call fcn.100015c0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0x2c]
mov ecx, dword [eax]
add edx, 0x24
push edx
push eax
call dword [ecx + 0x3c]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10006e20
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
mov word [ebp - 0x44], 3
mov dword [ebp - 0x3c], eax
lea esi, [ebp - 0x44]
lea edi, [ebp - 0x6c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push str.DOMAINS
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x2c], eax
movsd dword es:[edi], dword [esi]
mov word [ebp - 0x54], ax
call fcn.10001dc9
lea edx, [ebp - 0x2c]
push edx
sub esp, 0x10
mov edi, esp
mov eax, dword [ebp - 0x10]
lea esi, [ebp - 0x6c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x28]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x54]
push eax
call esi
lea eax, [ebp - 0x44]
push eax
call esi
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x28]
call fcn.10002076
cmp dword [ebp - 0x28], 0
je 0x100072f2
lea eax, [ebp + 0x14]
push eax
mov edi, esi
mov dword [ebp - 0x74], 0xfffffffe
call edi
mov esi, dword [ebp - 0x28]
push str.ZONES
lea ecx, [ebp + 0x30]
call fcn.1000153a
mov ecx, dword [esi]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push esi
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
xor esi, esi
cmp word [ebp + 0x14], si
je 0x10006f3f
push 0x13
push esi
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
cmp eax, esi
mov dword [ebp + 0x30], eax
jge 0x10006f39
push eax
call fcn.100023b5
push esi
mov dword [ebp - 4], eax
mov eax, 0x1001be90
push eax
push esi
push esi
push dword [ebp - 4]
push eax
call fcn.10002591
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x28]
cmp eax, esi
je 0x10006f14
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
cmp eax, esi
je 0x10006f21
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
cmp eax, esi
je 0x10006f2e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call edi
jmp 0x10007509
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x74], eax
lea eax, [ebp + 0x14]
push eax
mov dword [ebp - 0x70], 1
call edi
mov edi, dword [ebp - 0x28]
push str.SUBDIRS
lea ecx, [ebp + 0x30]
call fcn.1000153a
mov ecx, dword [edi]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push edi
call dword [ecx + 0x2c]
push dword [ebp + 0x30]
call ebx
cmp word [ebp + 0x14], si
je 0x10006fb3
push 0xb
push esi
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
cmp eax, esi
mov dword [ebp + 0x30], eax
jge 0x10006fac
push eax
call fcn.100023b5
push esi
mov edi, eax
mov eax, 0x1001be90
push eax
push esi
push esi
push edi
push eax
call fcn.10002591
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x100074d8
movsx eax, word [ebp + 0x1c]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x18]
push edx
mov dword [ebp - 0x18], esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34]
cmp dword [ebp - 0x18], esi
je 0x100072f4
push str.DOMAIN
lea ecx, [ebp - 0x54]
mov word [ebp - 0x54], si
call fcn.10001dc9
mov eax, dword [ebp - 0x18]
lea edx, [ebp + 0x28]
push edx
mov dword [ebp + 0x28], esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
cmp dword [ebp + 0x28], esi
mov word [ebp - 0x44], 3
mov dword [ebp - 0x3c], esi
jle 0x100071c3
lea edx, [ebp - 0x20]
push edx
sub esp, 0x10
mov edi, esp
mov eax, dword [ebp - 0x18]
and dword [ebp - 0x20], 0
lea esi, [ebp - 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x28]
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x24]
call fcn.10002076
cmp dword [ebp - 0x24], 0
je 0x100071ed
mov eax, dword [ebp - 0x74]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov edi, dword [ebp - 0x24]
push str.ZONES
lea ecx, [ebp - 0x78]
call fcn.1000153a
mov ecx, dword [edi]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push edi
call dword [ecx + 0x2c]
push dword [ebp - 0x78]
call ebx
cmp word [ebp + 0x14], 0
je 0x10007098
push 0x13
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x100071fc
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov edi, dword [ebp - 0x24]
push str.SUBDIRS
lea ecx, [ebp - 0x80]
call fcn.1000153a
mov ecx, dword [edi]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push edi
call dword [ecx + 0x2c]
push dword [ebp - 0x80]
call ebx
cmp word [ebp + 0x14], 0
je 0x100070ed
push 0xb
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x100071fc
movsx eax, word [ebp + 0x1c]
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov edi, dword [ebp - 0x24]
push str.NAME
lea ecx, [ebp - 0x34]
call fcn.1000153a
mov ecx, dword [edi]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push edi
call dword [ecx + 0x2c]
push dword [ebp - 0x34]
call ebx
cmp word [ebp + 0x14], 8
jne 0x100072aa
mov esi, dword [ebp - 0x14]
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x5c]
push dword [eax + 0x94]
lea eax, [esi + 0xc]
push dword [ebp - 0x1c]
push eax
call fcn.100034d2
test eax, eax
jl 0x1000719a
push 0x10000
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp + 0x248]
push eax
lea eax, [ebp + 0x48]
push eax
mov dword [ebp - 0x58], 0x208
call dword [sym.imp.SHLWAPI.dll_UrlCanonicalizeA]
test eax, eax
jl 0x1000719a
lea eax, [ebp + 0x248]
push eax
lea ecx, [ebp + 0xc]
call fcn.10001d63
push dword [ebp + 0x30]
mov eax, dword [eax]
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x68]
push eax
call fcn.100017de
push eax
lea ecx, [esi + 0x54]
call fcn.10003b91
push dword [ebp - 0x68]
call ebx
push dword [ebp + 0xc]
call ebx
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x100071a7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x100071b4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp + 0x28]
jl 0x10006fff
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x44]
push eax
call esi
lea eax, [ebp - 0x54]
push eax
call esi
mov eax, dword [ebp - 0x18]
xor esi, esi
cmp eax, esi
je 0x100072f4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100072f4
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x100071c3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100071c3
push eax
call fcn.100023b5
xor ecx, ecx
push ecx
mov edi, eax
mov eax, 0x1001be90
push eax
push ecx
push ecx
push edi
push eax
call fcn.10002591
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x1000722a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10007237
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x44]
push eax
call esi
lea eax, [ebp - 0x54]
push eax
call esi
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10007250
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x1000725d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x1000726a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x10007277
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call esi
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x1000728f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x1000729c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100082c6
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x100072b7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x100072c4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x44]
push eax
call esi
lea eax, [ebp - 0x54]
push eax
call esi
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x100072dd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x100072ea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
jmp 0x10008617
xor esi, esi
mov edi, dword [ebp - 0x14]
cmp dword [edi + 0x58], esi
jne 0x10007a64
test byte [edi + 0x53], 0x20
je 0x10007a64
cmp dword [ebp + 0x46c], esi
jne 0x100073c7
mov ecx, edi
call fcn.10001836
test eax, eax
jne 0x100073c7
push 0x3e8
call fcn.100035ec
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x28]
cmp eax, esi
pop ecx
je 0x10007340
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
cmp eax, esi
je 0x1000734d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
cmp eax, esi
je 0x1000735a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
cmp eax, esi
je 0x10007376
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
cmp eax, esi
je 0x10007383
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp - 0xc]
cmp eax, esi
je 0x10007396
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp]
cmp eax, esi
je 0x100073a3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 4]
cmp eax, esi
je 0x100073b0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
cmp eax, esi
je 0x100073bd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
cmp eax, esi
jmp 0x10007be8
cmp dword [ebp - 0x30], esi
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x58], 0x208
jne 0x100073dd
xor eax, eax
jmp 0x10007405
push dword [ebp - 0x30]
call edi
lea eax, [eax + eax + 2]
mov dword [ebp + 0xc], eax
add eax, 3
and eax, 0xfffffffc
call fcn.10018600
mov eax, esp
push dword [ebp - 4]
push dword [ebp + 0xc]
push dword [ebp - 0x30]
push eax
call fcn.10001313
push 8
push 0x1001ac0c
push 8
push eax
push 1
push 0x400
call dword [sym.imp.KERNEL32.dll_CompareStringA]
cmp eax, 2
jne 0x100076d0
lea eax, [ebp - 0x1c]
push eax
push 0x1001a480
push 0x17
push esi
push 0x1001a32c
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], esi
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, esi
mov dword [ebp + 0x30], eax
jl 0x1000748b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x24]
push edx
push 0x1001a490
push 0x1001abfc
push eax
call dword [ecx + 0xc]
cmp eax, esi
mov dword [ebp + 0x30], eax
jl 0x1000748b
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
push 0x1001a450
push esi
push eax
call dword [ecx + 0xc]
cmp eax, esi
mov dword [ebp + 0x30], eax
jge 0x10007536
push dword [ebp + 0x30]
call fcn.100023b5
push esi
mov edi, eax
mov eax, 0x1001be90
push eax
push esi
push esi
push edi
push eax
call fcn.10002591
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x18]
call ebx
mov eax, dword [ebp - 0x20]
cmp eax, esi
je 0x100074be
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
cmp eax, esi
je 0x100074cb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x100074d8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
cmp eax, esi
je 0x100074e5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
cmp eax, esi
je 0x100074f2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
cmp eax, esi
je 0x100074ff
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
cmp eax, esi
je 0x1000751b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
cmp eax, esi
je 0x10007528
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x1000667e
mov eax, dword [ebp - 0x20]
push dword [ebp - 0x30]
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x30], eax
call fcn.1000153a
mov eax, dword [eax]
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx]
lea edx, [ebp - 0x18]
push edx
push eax
push 0x1001a35c
push dword [ebp + 0x30]
call dword [ecx + 0x10]
push dword [ebp + 0xc]
mov dword [ebp + 0x28], eax
call ebx
cmp dword [ebp + 0x28], esi
jge 0x1000765e
push dword [ebp + 0x28]
call fcn.100023b5
push esi
mov edi, eax
mov eax, 0x1001be90
push eax
push esi
push esi
push edi
push eax
call fcn.10002591
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x18]
call ebx
mov eax, dword [ebp - 0x20]
cmp eax, esi
je 0x100075a2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
cmp eax, esi
je 0x100075af
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x100075bc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
cmp eax, esi
je 0x100075c9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
cmp eax, esi
je 0x100075d6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
cmp eax, esi
je 0x100075e3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
cmp eax, esi
je 0x100075ff
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
cmp eax, esi
je 0x1000760c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
cmp eax, esi
je 0x10007622
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp]
cmp eax, esi
je 0x1000762f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 4]
cmp eax, esi
je 0x1000763c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
cmp eax, esi
je 0x10007649
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x10007656
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x28]
jmp 0x100087f6
mov eax, dword [ebp - 0x18]
cmp eax, esi
mov dword [ebp + 0xc], eax
jne 0x1000766c
xor eax, eax
jmp 0x1000768f
push eax
call edi
lea edi, [eax + eax + 2]
mov eax, edi
add eax, 3
and eax, 0xfffffffc
call fcn.10018600
mov eax, esp
push dword [ebp - 4]
push edi
push dword [ebp + 0xc]
push eax
call fcn.10001313
push 0x104
push eax
lea eax, [ebp + 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push dword [ebp - 0x18]
call ebx
mov eax, dword [ebp - 0x20]
cmp eax, esi
je 0x100076b4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
cmp eax, esi
je 0x100076c1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
cmp eax, esi
je 0x1000771d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x1000771d
cmp dword [ebp - 0x30], esi
jne 0x100076d9
xor eax, eax
jmp 0x100076fe
push dword [ebp - 0x30]
call edi
lea edi, [eax + eax + 2]
mov eax, edi
add eax, 3
and eax, 0xfffffffc
call fcn.10018600
mov eax, esp
push dword [ebp - 4]
push edi
push dword [ebp - 0x30]
push eax
call fcn.10001313
push 0x10000
lea ecx, [ebp - 0x58]
push ecx
lea ecx, [ebp + 0x248]
push ecx
push eax
call dword [sym.imp.SHLWAPI.dll_UrlCanonicalizeA]
cmp eax, esi
jl 0x10007a64
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x148]
push eax
mov byte [ebp + 0x148], 0
mov dword [ebp + 0xc], 0x100
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
lea eax, [ebp + 0x148]
push eax
lea ecx, [ebp - 0x34]
call fcn.10001d63
mov eax, dword [eax]
mov edi, dword [ebp - 0x14]
push esi
push 1
push eax
lea ecx, [ebp - 0x68]
add edi, 0x54
call fcn.100017de
push eax
mov ecx, edi
call fcn.10003b91
push dword [ebp - 0x68]
call ebx
push dword [ebp - 0x34]
call ebx
lea eax, [ebp + 0x248]
push eax
lea ecx, [ebp - 0x34]
call fcn.10001d63
mov eax, dword [eax]
push esi
push 1
push eax
lea ecx, [ebp - 0x68]
call fcn.100017de
push eax
mov ecx, edi
call fcn.10003b91
push dword [ebp - 0x68]
call ebx
push dword [ebp - 0x34]
call ebx
push 0x5c
push esi
lea eax, [ebp + 0x248]
push eax
call dword [sym.imp.SHLWAPI.dll_StrRChrA]
cmp eax, esi
je 0x100078db
lea ecx, [ebp + 0x450]
sub ecx, eax
cmp ecx, 0x7fffffff
jbe 0x100077d1
mov dword [ebp - 4], 0x80070057
jmp 0x100077e9
push 0x1001abf8
push ecx
inc eax
push eax
call fcn.10001a09
cmp eax, esi
mov dword [ebp - 4], eax
jge 0x100078ac
push dword [ebp - 4]
call fcn.100023b5
push esi
mov edi, eax
mov eax, 0x1001be90
push eax
push esi
push esi
push edi
push eax
call fcn.10002591
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x28]
cmp eax, esi
je 0x10007817
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
cmp eax, esi
je 0x10007824
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
cmp eax, esi
je 0x10007831
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
cmp eax, esi
je 0x1000784d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
cmp eax, esi
je 0x1000785a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
cmp eax, esi
je 0x10007870
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp]
cmp eax, esi
je 0x1000787d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 4]
cmp eax, esi
je 0x1000788a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
cmp eax, esi
je 0x10007897
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x100078a4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 4]
jmp 0x100087f6
lea eax, [ebp + 0x248]
push eax
lea ecx, [ebp - 0x34]
call fcn.10001d63
mov eax, dword [eax]
push esi
push 1
push eax
lea ecx, [ebp - 0x68]
call fcn.100017de
push eax
mov ecx, edi
call fcn.10003b91
push dword [ebp - 0x68]
call ebx
push dword [ebp - 0x34]
call ebx
mov eax, dword [ebp - 0x14]
or byte [eax + 0x53], 0x80
lea eax, [ebp + 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edi, dword [ebp + 0x24]
push str.CLIENTPERIOD
lea ecx, [ebp - 0x34]
call fcn.1000153a
mov ecx, dword [edi]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push edi
call dword [ecx + 0x2c]
push dword [ebp - 0x34]
call ebx
cmp word [ebp + 0x14], 8
jne 0x10007a64
push dword [ebp + 0x1c]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jbe 0x10007a64
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
fldz
lea eax, [ebp - 0x44]
fstp qword [ebp - 0x54]
push eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x4c], esi
call fcn.100018d5
push 0x13
push esi
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
cmp eax, esi
mov dword [ebp - 0x34], eax
jge 0x10007a21
push eax
call fcn.100023b5
push esi
mov edi, eax
mov eax, 0x1001be90
push eax
push esi
push esi
push edi
push eax
call fcn.10002591
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x28]
cmp eax, esi
je 0x1000798c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
cmp eax, esi
je 0x10007999
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
cmp eax, esi
je 0x100079a6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
cmp eax, esi
je 0x100079c2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
cmp eax, esi
je 0x100079cf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
cmp eax, esi
je 0x100079e5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp]
cmp eax, esi
je 0x100079f2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 4]
cmp eax, esi
je 0x100079ff
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
cmp eax, esi
je 0x10007a0c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x10007a19
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x34]
jmp 0x100087f6
mov eax, dword [ebp + 0x1c]
cmp eax, esi
jne 0x10007a2d
mov eax, 0x591c8
push esi
push esi
push esi
push eax
lea ecx, [ebp - 0x6c]
call fcn.100018a1
cmp word [ebp + 0x34], si
jne 0x10007a4a
mov eax, dword [ebp - 0x14]
fld qword [ebp - 0x54]
add eax, 0x30
fstp qword [eax]
mov eax, dword [ebp - 0x14]
lea esi, [ebp - 0x6c]
lea edi, [ebp + 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld qword [ebp + 0x38]
fadd qword [ebp - 0x54]
add eax, 0x38
xor esi, esi
fstp qword [eax]
mov eax, dword [ebp - 0x28]
cmp eax, esi
je 0x10007a71
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
cmp eax, esi
je 0x10007a7e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
mov word [ebp - 0x44], 3
mov dword [ebp - 0x3c], eax
lea esi, [ebp - 0x44]
lea edi, [ebp + 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push str.PERMISSION
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], eax
movsd dword es:[edi], dword [esi]
mov word [ebp - 0x54], ax
call fcn.10001dc9
lea edx, [ebp - 4]
push edx
sub esp, 0x10
mov edi, esp
mov eax, dword [ebp - 0x10]
lea esi, [ebp + 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x28]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x54]
push eax
call esi
lea eax, [ebp - 0x44]
push eax
call esi
lea eax, [ebp - 4]
push eax
lea ecx, [ebp + 0x2c]
call fcn.10002049
mov eax, dword [ebp - 4]
test eax, eax
je 0x10007af7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp + 0x2c], 0
je 0x10008451
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp + 0x14]
push eax
call esi
mov edi, dword [ebp + 0x2c]
push str.XACCESS
lea ecx, [ebp + 0xc]
call fcn.1000153a
mov ecx, dword [edi]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push edi
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10007c09
push 0xb
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0xc], eax
jge 0x10007bf8
push eax
call fcn.100023b5
xor ecx, ecx
push ecx
mov edi, eax
mov eax, 0x1001be90
push eax
push ecx
push ecx
push edi
push eax
call fcn.10002591
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x10007b81
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call esi
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x10007b99
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x10007ba6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x10007bbc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp]
test eax, eax
je 0x10007bc9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 4]
test eax, eax
je 0x10007bd6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
test eax, eax
je 0x10007be3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x10007bf0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0xc]
jmp 0x100087f6
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x14]
xor eax, dword [edi + 0x50]
and eax, 1
xor dword [edi + 0x50], eax
jmp 0x10007c0c
mov edi, dword [ebp - 0x14]
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push 0x1001abac
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10007c67
push 0xb
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10007e26
cmp word [ebp + 0x1c], 0
je 0x10007c67
or byte [edi + 0x51], 1
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push 0x1001aba4
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10007cc2
push 0xb
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10007e26
cmp word [ebp + 0x1c], 0
je 0x10007cc2
or byte [edi + 0x51], 1
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push str.FRAMEBROWSER
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10007d1f
push 0xb
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10007e26
cmp word [ebp + 0x1c], 0
je 0x10007d1f
or word [edi + 0x50], 0x202
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push str.BROWSER
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10007d7e
push 0xb
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10007e26
movsx eax, word [ebp + 0x1c]
shl eax, 1
xor eax, dword [edi + 0x50]
and eax, 2
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push str.SHELLEXEC
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10007dda
push 0xb
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10007e26
movsx eax, word [ebp + 0x1c]
shl eax, 4
xor eax, dword [edi + 0x50]
and eax, 0x10
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push str.PRINTING
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10007e5a
push 0xb
push 0
lea eax, [ebp + 0x14]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
mov dword [ebp + 0x30], eax
jge 0x10007e4a
push dword [ebp + 0x30]
call fcn.100023b5
xor ecx, ecx
push ecx
mov dword [ebp + 0x34], eax
mov eax, 0x1001be90
push eax
push ecx
push ecx
push dword [ebp + 0x34]
push eax
call fcn.10002591
jmp 0x10008285
movsx eax, word [ebp + 0x1c]
shl eax, 3
xor eax, dword [edi + 0x50]
and eax, 8
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push str.PRINTTEMPLATE
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10007eb9
push 0
push 0xb
lea ecx, [ebp + 0x14]
call fcn.100016e2
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10008269
movsx eax, word [ebp + 0x1c]
shl eax, 0xa
xor eax, dword [edi + 0x50]
and eax, 0x400
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push 0x1001ab2c
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10007f16
push 0
push 0xb
lea ecx, [ebp + 0x14]
call fcn.100016e2
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10008269
movsx eax, word [ebp + 0x1c]
shl eax, 2
xor eax, dword [edi + 0x50]
and eax, 4
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push 0x1001ab24
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10007f73
push 0
push 0xb
lea ecx, [ebp + 0x14]
call fcn.100016e2
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10008269
movsx eax, word [ebp + 0x1c]
shl eax, 2
xor eax, dword [edi + 0x50]
and eax, 4
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push 0x1001ab1c
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10007fd2
push 0
push 0xb
lea ecx, [ebp + 0x14]
call fcn.100016e2
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10008269
movsx eax, word [ebp + 0x1c]
shl eax, 0xb
xor eax, dword [edi + 0x50]
and eax, 0x800
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push 0x1001ab14
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10008039
push 0
push 0xb
lea ecx, [ebp + 0x14]
call fcn.100016e2
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10008269
movsx eax, word [ebp + 0x1c]
shl eax, 5
xor eax, dword [edi + 0x50]
and eax, 0x20
xor dword [edi + 0x50], eax
test byte [edi + 0x50], 0x20
je 0x10008039
or dword [edi + 0x50], 0x27
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push 0x1001ab0c
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x100080a0
push 0
push 0xb
lea ecx, [ebp + 0x14]
call fcn.100016e2
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10008269
movsx eax, word [ebp + 0x1c]
shl eax, 5
xor eax, dword [edi + 0x50]
and eax, 0x20
xor dword [edi + 0x50], eax
test byte [edi + 0x50], 0x20
je 0x100080a0
or dword [edi + 0x50], 0x27
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push str.SETUP
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x100080ff
push 0
push 0xb
lea ecx, [ebp + 0x14]
call fcn.100016e2
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10008269
movsx eax, word [ebp + 0x1c]
shl eax, 0xc
xor eax, dword [edi + 0x50]
and eax, 0x1000
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push 0x1001aaf8
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x1000815e
push 0
push 0xb
lea ecx, [ebp + 0x14]
call fcn.100016e2
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10008269
movsx eax, word [ebp + 0x1c]
shl eax, 0xd
xor eax, dword [edi + 0x50]
and eax, 0x2000
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push 0x1001aaf0
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x100081bd
push 0
push 0xb
lea ecx, [ebp + 0x14]
call fcn.100016e2
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10008269
movsx eax, word [ebp + 0x1c]
shl eax, 0xe
xor eax, dword [edi + 0x50]
and eax, 0x4000
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push str.MAXIPTCORE
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10008218
push 0
push 0xb
lea ecx, [ebp + 0x14]
call fcn.100016e2
test eax, eax
mov dword [ebp + 0x30], eax
jl 0x10008269
movsx eax, word [ebp + 0x1c]
shl eax, 0xf
xor eax, dword [edi + 0x50]
and eax, 0x8000
xor dword [edi + 0x50], eax
lea eax, [ebp + 0x14]
push eax
call esi
mov eax, dword [ebp + 0x2c]
push str.MAXIPTEXTENDED
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 0
je 0x10008321
push 0
push 0xb
lea ecx, [ebp + 0x14]
call fcn.100016e2
test eax, eax
mov dword [ebp + 0x30], eax
jge 0x1000830f
push dword [ebp + 0x30]
call fcn.100023b5
mov dword [ebp + 0x34], eax
push 0
mov eax, 0x1001be90
push eax
push dword [ebp + 0x34]
push eax
call fcn.10002689
push dword [ebp + 0x34]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x1000829b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call esi
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x100082b3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x100082c0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x100082d3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp]
test eax, eax
je 0x100082e0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 4]
test eax, eax
je 0x100082ed
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
test eax, eax
je 0x100082fa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x10008307
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x30]
jmp 0x100087f6
movsx eax, word [ebp + 0x1c]
shl eax, 0x10
xor eax, dword [edi + 0x50]
and eax, 0x10000
xor dword [edi + 0x50], eax
mov eax, dword [ebp + 0x2c]
lea edx, [ebp - 0x30]
xor esi, esi
push edx
mov dword [ebp - 0x30], esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34]
cmp dword [ebp - 0x30], esi
je 0x10008451
push str.OBJECT
lea ecx, [ebp - 0x54]
call fcn.1000216e
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 4]
push edx
mov dword [ebp - 4], esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
cmp dword [ebp - 4], esi
mov word [ebp - 0x44], 3
mov dword [ebp - 0x3c], esi
jle 0x10008432
lea edx, [ebp - 0x1c]
push edx
sub esp, 0x10
mov edi, esp
mov eax, dword [ebp - 0x30]
and dword [ebp - 0x1c], 0
lea esi, [ebp - 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x28]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
call fcn.10002076
cmp dword [ebp - 0x18], 0
je 0x100085d8
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp + 0x14]
push eax
call esi
mov edi, dword [ebp - 0x18]
push str.CLASSID
lea ecx, [ebp + 0xc]
call fcn.1000153a
mov ecx, dword [edi]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push edi
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 8
jne 0x100085ee
lea eax, [ebp + 0x38]
push eax
push dword [ebp + 0x1c]
call dword [sym.imp.ole32.dll_CLSIDFromString]
test eax, eax
mov dword [ebp - 0x58], eax
jl 0x100086a7
mov ecx, dword [ebp - 0x14]
lea eax, [ebp + 0x38]
push eax
add ecx, 0x60
call fcn.10002370
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10008416
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x10008423
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 4]
jl 0x1000836b
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x44]
push eax
call esi
lea eax, [ebp - 0x54]
push eax
call esi
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x10008451
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp - 0x4c], 0
and dword [ebp - 4], 0
mov word [ebp - 0x54], 3
lea esi, [ebp - 0x54]
lea edi, [ebp + 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push str.PINGBACK
lea ecx, [ebp - 0x44]
movsd dword es:[edi], dword [esi]
call fcn.1000216e
lea esi, [ebp - 4]
push esi
sub esp, 0x10
mov edi, esp
mov ecx, dword [ebp - 0x10]
lea esi, [ebp + 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edx, dword [ecx]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
call dword [edx + 0x28]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x44]
push eax
call esi
lea eax, [ebp - 0x54]
push eax
call esi
lea eax, [ebp - 4]
push eax
lea ecx, [ebp + 0x2c]
call fcn.10002049
mov eax, dword [ebp - 4]
test eax, eax
je 0x100084c5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp + 0x2c], 0
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
je 0x10008779
lea eax, [ebp + 0x14]
push eax
call edi
mov esi, dword [ebp + 0x2c]
push 0x1001acf4
lea ecx, [ebp + 0xc]
call fcn.1000153a
mov ecx, dword [esi]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push esi
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 8
mov esi, dword [ebp - 0x14]
jne 0x10008511
push dword [ebp + 0x1c]
lea ecx, [esi + 0x40]
call fcn.100015c0
lea eax, [ebp + 0x14]
push eax
call edi
mov eax, dword [ebp + 0x2c]
push str.TYPE
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 8
jne 0x1000858e
push dword [ebp + 0x1c]
lea ecx, [esi + 0x44]
call fcn.100015c0
mov ecx, esi
call fcn.10001801
test eax, eax
jne 0x1000858e
and dword [ebp + 0x34], eax
or byte [esi + 0x53], 0x10
lea eax, [ebp + 0x34]
push eax
lea eax, [esi + 0xc]
push eax
call fcn.10005d50
test eax, eax
mov eax, dword [ebp + 0x34]
jne 0x10008584
fld qword [eax + 0x30]
fstp qword [esi + 0x30]
fld qword [eax + 0x38]
fstp qword [esi + 0x38]
test eax, eax
je 0x1000858e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call edi
mov eax, dword [ebp + 0x2c]
push str.OPTIONS
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x34], eax
call fcn.1000153a
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx]
lea edx, [ebp + 0x14]
push edx
push dword [eax]
push dword [ebp + 0x34]
call dword [ecx + 0x2c]
push dword [ebp + 0xc]
call ebx
cmp word [ebp + 0x14], 8
jne 0x1000877c
push dword [ebp + 0x1c]
lea ecx, [esi + 0x48]
call fcn.100015c0
jmp 0x1000877c
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x10008432
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10008432
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x100085fb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x10008608
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x44]
push eax
call esi
lea eax, [ebp - 0x54]
push eax
call esi
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x10008621
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x1000862e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call esi
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x10008646
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x10008653
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x10008669
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp]
test eax, eax
je 0x10008676
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 4]
test eax, eax
je 0x10008683
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
test eax, eax
je 0x10008690
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1000869d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004005
jmp 0x100087f6
push eax
call fcn.100023b5
mov edi, eax
push 0
mov eax, 0x1001be90
push eax
push edi
push eax
call fcn.10002689
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x100086d2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x100086df
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x44]
push eax
call esi
lea eax, [ebp - 0x54]
push eax
call esi
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x100086f8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x10008705
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call esi
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x1000871d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x1000872a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x10008740
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp]
test eax, eax
je 0x1000874d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 4]
test eax, eax
je 0x1000875a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
test eax, eax
je 0x10008767
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x10008774
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x58]
jmp 0x100087f6
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7c]
mov dword [eax], esi
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x1000878e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp + 0x14]
push eax
call edi
push dword [ebp - 8]
call ebx
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x100087a6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x100087b3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x100087c0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp]
test eax, eax
je 0x100087cd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 4]
test eax, eax
je 0x100087da
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
test eax, eax
je 0x100087e7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x100087f4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
lea esp, [ebp - 0x8c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x450]
xor ecx, ebp
call fcn.10018081
add ebp, 0x454
leave
ret 0x14