Function at 0x10022ffd
Capabilities:
Parse pe header

Disassembly:
push 0x40
mov eax, 0x1007ed39
call fcn.10063ebe
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 4], edi
push dword [ebp + 0x14]
lea esi, [ebx + 0xe8]
call fcn.10027362
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
lea esi, [ebx + 0xd0]
push eax
mov dword [ebp - 0x14], esi
call fcn.10027362
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
push edi
lea edi, [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.1000d8a9
test al, al
je 0x10024502
mov eax, dword [0x100aa3bc]
mov ecx, 0x100aa3bc
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0xc], eax
push ecx
mov byte [ebp - 4], 2
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
mov edi, str.LocalSessionId
call fcn.100022a8
push ecx
mov eax, esp
mov dword [ebp - 0x24], esp
push eax
mov edi, str.Offer
mov byte [ebp - 4], 3
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.1000d910
lea edi, [ebp + 0xc]
mov byte [ebp - 4], 4
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0xc], 0
je 0x100244f0
call fcn.10016053
mov esi, eax
call fcn.100165de
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
mov edi, 0x10098118
call fcn.100022a8
push ecx
mov eax, esp
mov dword [ebp - 0x24], esp
push eax
mov edi, str.Offer
mov byte [ebp - 4], 5
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.1000d910
lea edi, [ebp + 0xc]
mov byte [ebp - 4], 6
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
mov esi, edi
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 7
push dword [eax]
add esi, 0xd8
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x1002315d
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
mov edi, str.PassSelected
call fcn.100022a8
push ecx
mov eax, esp
mov dword [ebp - 0x24], esp
push eax
mov edi, str.Offer
mov byte [ebp - 4], 8
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 9
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0xa
push dword [eax]
add esi, 0x58
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x100231ed
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
mov edi, str.OfferedBy
call fcn.100022a8
push ecx
mov eax, esp
mov dword [ebp - 0x24], esp
push eax
mov edi, str.Offer
mov byte [ebp - 4], 0xb
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0xc
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov byte [ebp - 4], 0xd
push dword [eax]
mov esi, dword [ebp - 0x14]
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x1002327a
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
mov edi, str.Session
call fcn.100022a8
push ecx
mov eax, esp
mov dword [ebp - 0x24], esp
push eax
mov edi, str.Offer
mov byte [ebp - 4], 0xe
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0xf
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x10
push dword [eax]
add esi, 0x120
mov dword [ebp - 0x18], esi
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x10023310
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
mov eax, dword [ebp + 0xc]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov esi, esp
call fcn.1000296d
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x11
call fcn.10016053
pop ecx
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.1001a3c8
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
mov edi, str.OfferCMDLine
call fcn.100022a8
push ecx
mov eax, esp
mov dword [ebp - 0x24], esp
push eax
mov edi, str.Offer
mov byte [ebp - 4], 0x12
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
lea edi, [ebp + 0xc]
mov byte [ebp - 4], 0x13
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
mov esi, edi
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x14
push dword [eax]
add esi, 0xc0
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x100233d2
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
mov edi, 0x100981a4
call fcn.100022a8
push ecx
mov eax, esp
mov dword [ebp - 0x24], esp
push eax
mov edi, str.Offer
mov byte [ebp - 4], 0x15
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0x16
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x17
push dword [eax]
add esi, 0x128
mov dword [ebp - 0x1c], esi
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x10023468
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
mov edi, 0x100981ac
call fcn.100022a8
push ecx
mov eax, esp
mov dword [ebp - 0x24], esp
push eax
mov edi, str.Offer
mov byte [ebp - 4], 0x18
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0x19
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x1a
push dword [eax]
add esi, 0x140
mov dword [ebp - 0x20], esi
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x100234fe
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
mov edi, str.Test
call fcn.100022a8
push ecx
mov eax, esp
mov dword [ebp - 0x24], esp
push eax
mov edi, str.Offer
mov byte [ebp - 4], 0x1b
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0x1c
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x1d
push dword [eax]
add esi, 0x148
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x10023591
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
mov edi, str.Size
call fcn.100022a8
push ecx
mov eax, esp
mov dword [ebp - 0x24], esp
push eax
mov edi, str.Offer
mov byte [ebp - 4], 0x1e
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0x1f
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov edi, dword [ebp + 8]
mov byte [ebp - 4], 0x20
push dword [eax]
lea esi, [edi + 0x100]
mov dword [ebp - 0x24], esi
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x10023627
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
push dword [ebp + 0xc]
call fcn.10059e05
pop ecx
lea esi, [ebp + 0xc]
mov dword [edi + 0x13c], eax
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
mov edi, 0x100981cc
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x21
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, str.Offer
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0x22
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x23
push dword [eax]
add esi, 0xf8
mov dword [ebp - 0x28], esi
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x100236cc
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, str.Name
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x24
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.Offer
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0x25
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x26
push dword [eax]
add esi, 0xf0
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x1002375f
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, 0x100981e0
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x27
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, str.Offer
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0x28
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x29
push dword [eax]
add esi, 0xe0
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x100237f2
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.Icon
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x2a
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, str.Offer
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0x2b
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x2c
push dword [eax]
add esi, 0x108
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x10023885
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.InstallMode
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x2d
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, str.Offer
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0x2e
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x2f
push dword [eax]
add esi, 0xc8
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x10023918
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.InstallerCmdLine
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x30
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, str.Offer
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0x31
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x32
push dword [eax]
add esi, 0xb8
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x100239ab
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.TmpStorage
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x33
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, str.Offer
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0x34
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x35
push dword [eax]
add esi, 0x130
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x10023a3e
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.Session
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x36
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, str.Offer
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0x37
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
push dword [eax - 0xc]
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov byte [ebp - 4], 0x38
push dword [eax]
mov esi, dword [ebp - 0x18]
call fcn.10027362
xor ebx, ebx
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], ebx
je 0x10023acc
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.ProductSettings
mov byte [0x100a996a], bl
mov byte [0x100a996b], bl
mov byte [0x100aba2d], bl
mov byte [0x100aba2e], bl
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x39
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, str.Offer
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
mov edi, esi
mov byte [ebp - 4], 0x3a
call fcn.100022f6
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
xor ebx, ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
push ecx
mov byte [ebp - 4], 0x3b
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, 0x10096c7c
call fcn.100022a8
mov byte [ebp - 4], 0x3c
mov eax, dword [ebp + 0xc]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov esi, esp
call fcn.1000296d
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 4], 0x3b
call fcn.1000782d
add esp, 0xc
xor esi, esi
cmp dword [ebp - 0x48], ebx
jbe 0x10023d78
cmp esi, dword [ebp - 0x48]
jae 0x10023e0b
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + esi*4]
sub eax, 0x10
call fcn.1000296d
lea edi, [eax + 0x10]
mov dword [ebp - 0x14], edi
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TODS
mov byte [ebp - 4], 0x3d
call fcn.10002446
test eax, eax
jne 0x10023bcf
mov byte [0x100aba20], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TODLC
call fcn.10002446
test eax, eax
jne 0x10023bed
mov byte [0x100aba24], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TOIC
call fcn.10002446
test eax, eax
jne 0x10023c0b
mov byte [0x100aba21], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TOIS
call fcn.10002446
test eax, eax
jne 0x10023c29
mov byte [0x100aba22], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TEODS
call fcn.10002446
test eax, eax
jne 0x10023c47
mov byte [0x100aba25], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TEOIS
call fcn.10002446
test eax, eax
jne 0x10023c65
mov byte [0x100aba26], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TEOIC
call fcn.10002446
test eax, eax
jne 0x10023c83
mov byte [0x100aba27], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TSORC
call fcn.10002446
test eax, eax
jne 0x10023ca1
mov byte [0x100aba29], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TSODF
call fcn.10002446
test eax, eax
jne 0x10023cbf
mov byte [0x100aba2a], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TSSL
call fcn.10002446
test eax, eax
jne 0x10023cdd
mov byte [0x100aba2b], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TSGE
call fcn.10002446
test eax, eax
jne 0x10023cf8
mov byte [0x100aba2c], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TSDEB
call fcn.10002446
test eax, eax
jne 0x10023d13
mov byte [0x100a996a], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TSDEBE
call fcn.10002446
test eax, eax
jne 0x10023d2e
mov byte [0x100a996b], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TOCAPPE
call fcn.10002446
test eax, eax
jne 0x10023d49
mov byte [0x100aba2d], 1
jmp 0x10023d62
lea eax, [ebp - 0x14]
push eax
mov ecx, str.TOCAPPEX
call fcn.10002446
test eax, eax
jne 0x10023d62
mov byte [0x100aba2e], 1
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x3b
call fcn.100029ea
inc esi
cmp esi, dword [ebp - 0x48]
jb 0x10023b99
cmp byte [0x100aba2d], bl
jne 0x10023d92
cmp byte [0x100aba2e], bl
jne 0x10023d92
call fcn.10016053
call fcn.1001af3b
lea esi, [ebp - 0x4c]
mov byte [ebp - 4], 2
call fcn.100025d5
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.DLM2_FLAG
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x3e
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, str.Offer
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000d910
lea edi, [ebp + 0xc]
mov byte [ebp - 4], 0x3f
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, edi
push eax
mov ecx, 0x10098268
call fcn.10002446
test eax, eax
mov eax, dword [ebp + 8]
jne 0x10023e15
mov byte [eax + 0x27], 1
push 1
jmp 0x10023e1b
push 0x80070057
call fcn.10002a17
mov byte [eax + 0x27], 0
push 0
push ecx
call fcn.10016053
pop ecx
mov esi, eax
call fcn.100165fc
mov eax, dword [ebp - 0x18]
call fcn.10027071
test al, al
jne 0x100244f0
mov eax, dword [ebp - 0x1c]
call fcn.10027071
test al, al
jne 0x100244f0
mov eax, dword [ebp - 0x20]
call fcn.10027071
test al, al
jne 0x100244f0
mov eax, dword [ebp - 0x24]
call fcn.10027071
test al, al
jne 0x100244f0
mov eax, dword [ebp - 0x28]
call fcn.10027071
test al, al
jne 0x100244f0
mov ecx, dword [ebp + 8]
call fcn.10024533
cmp byte [ebp + 0x10], 0
je 0x100244a2
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_startMinimized
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x40
mov eax, esp
mov dword [ebp - 0x2c], esp
mov esi, str.Offer
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
push eax
mov ecx, 0x10098268
mov byte [ebp - 4], 0x41
call fcn.10002446
mov ebx, eax
neg ebx
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
sbb bl, bl
add eax, 0xfffffff0
inc bl
call fcn.100029ea
test bl, bl
je 0x10023ef4
mov eax, dword [ebp + 8]
mov byte [eax + 0x2c], 1
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_autoStart
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x42
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
push eax
mov ecx, 0x10098268
mov byte [ebp - 4], 0x43
call fcn.10002446
mov ebx, eax
neg ebx
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
sbb bl, bl
add eax, 0xfffffff0
inc bl
call fcn.100029ea
test bl, bl
je 0x10023f58
mov eax, dword [ebp + 8]
mov byte [eax + 0x2f], 1
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_silent
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x44
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
push eax
mov ecx, 0x10098268
mov byte [ebp - 4], 0x45
call fcn.10002446
mov ebx, eax
neg ebx
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
sbb bl, bl
add eax, 0xfffffff0
inc bl
call fcn.100029ea
test bl, bl
je 0x10023fbc
mov eax, dword [ebp + 8]
mov byte [eax + 0x30], 1
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_taskbarmin
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x46
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
push eax
mov ecx, 0x10098268
mov byte [ebp - 4], 0x47
call fcn.10002446
mov ebx, eax
neg ebx
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
sbb bl, bl
add eax, 0xfffffff0
inc bl
call fcn.100029ea
test bl, bl
je 0x10024020
mov eax, dword [ebp + 8]
mov byte [eax + 0x31], 1
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_hidesystemtray
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x48
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
push eax
mov ecx, 0x10098268
mov byte [ebp - 4], 0x49
call fcn.10002446
mov ebx, eax
neg ebx
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
sbb bl, bl
add eax, 0xfffffff0
inc bl
call fcn.100029ea
test bl, bl
je 0x10024084
mov eax, dword [ebp + 8]
mov byte [eax + 0x32], 1
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_passive_install
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x4a
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
push eax
mov ecx, 0x10098268
mov byte [ebp - 4], 0x4b
call fcn.10002446
mov ebx, eax
neg ebx
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
sbb bl, bl
add eax, 0xfffffff0
inc bl
call fcn.100029ea
test bl, bl
je 0x100240e8
mov eax, dword [ebp + 8]
mov byte [eax + 0x60], 1
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_bPostInstallLaunch
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x4c
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
push eax
mov ecx, 0x10098268
mov byte [ebp - 4], 0x4d
call fcn.10002446
mov ebx, eax
neg ebx
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
sbb bl, bl
add eax, 0xfffffff0
inc bl
call fcn.100029ea
test bl, bl
je 0x1002414c
mov eax, dword [ebp + 8]
mov byte [eax + 0x70], 1
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_bShowRebootMsgAfterInstall
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x4e
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
push eax
mov ecx, 0x10098268
mov byte [ebp - 4], 0x4f
call fcn.10002446
mov ebx, eax
neg ebx
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
sbb bl, bl
add eax, 0xfffffff0
inc bl
call fcn.100029ea
test bl, bl
je 0x100241b0
mov eax, dword [ebp + 8]
mov byte [eax + 0x7c], 1
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_bDisableCloseOnDownload
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x50
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
push eax
mov ecx, 0x10098268
mov byte [ebp - 4], 0x51
call fcn.10002446
mov ebx, eax
neg ebx
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
sbb bl, bl
add eax, 0xfffffff0
inc bl
call fcn.100029ea
test bl, bl
je 0x10024214
mov eax, dword [ebp + 8]
mov byte [eax + 0x7d], 1
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_bCloseDialogOnInstallSuccess
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x52
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
push eax
mov ecx, 0x10098268
mov byte [ebp - 4], 0x53
call fcn.10002446
mov ebx, eax
neg ebx
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
sbb bl, bl
add eax, 0xfffffff0
inc bl
call fcn.100029ea
test bl, bl
je 0x10024278
mov eax, dword [ebp + 8]
mov byte [eax + 0x7e], 1
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_strLaunchBrowserPath
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x54
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
lea edi, [ebp + 0xc]
mov byte [ebp - 4], 0x55
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0xc], 0
je 0x100242dd
mov edi, dword [ebp + 8]
add edi, 0x64
lea eax, [ebp + 0xc]
call fcn.100022f6
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_strRegLaunchPath
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x56
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
lea edi, [ebp + 0xc]
mov byte [ebp - 4], 0x57
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0xc], 0
je 0x10024342
mov edi, dword [ebp + 8]
add edi, 0x68
lea eax, [ebp + 0xc]
call fcn.100022f6
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_strRegLaunchSubKeyPath
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x58
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
lea edi, [ebp + 0xc]
mov byte [ebp - 4], 0x59
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0xc], 0
je 0x100243a7
mov edi, dword [ebp + 8]
add edi, 0x6c
lea eax, [ebp + 0xc]
call fcn.100022f6
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_strRegLocation
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x5a
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
lea edi, [ebp + 0xc]
mov byte [ebp - 4], 0x5b
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0xc], 0
je 0x1002440c
mov edi, dword [ebp + 8]
sub edi, 0xffffff80
lea eax, [ebp + 0xc]
call fcn.100022f6
push ecx
mov eax, esp
mov dword [ebp - 0x30], esp
push eax
mov edi, str.m_ocstrLaunchExeFullPath
call fcn.100022a8
push ecx
mov byte [ebp - 4], 0x5c
mov eax, esp
mov dword [ebp - 0x2c], esp
push eax
mov edi, esi
call fcn.100022a8
lea eax, [ebp - 0x3c]
push eax
lea ebx, [ebp + 0x10]
mov byte [ebp - 4], 2
call fcn.1000d910
lea edi, [ebp + 0xc]
mov byte [ebp - 4], 0x5d
call fcn.100022f6
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0xc], 0
je 0x100244a2
push dword [eax - 0xc]
mov esi, edi
call fcn.100028e3
push eax
lea esi, [ebp - 0x34]
call fcn.1002700b
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x5e
push dword [eax]
add esi, 0x74
call fcn.10027362
mov byte [ebp - 4], 2
cmp dword [ebp - 0x34], 0
je 0x1002449a
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
lea esi, [ebp + 0xc]
call fcn.1000292d
call fcn.10016053
mov ecx, eax
call fcn.1001a83a
call fcn.10016053
push 1
push 8
push dword [ebp + 8]
mov byte [eax + 0x155], 1
call fcn.10020c3d
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.100029ea
lea edi, [ebp - 0x3c]
call fcn.1000d7af
or dword [ebp - 4], 0xffffffff
cmp dword [ebp + 0x14], 0
je 0x100244ec
push dword [ebp + 0x14]
call fcn.1005a1d0
pop ecx
mov al, 1
jmp 0x1002452b
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.100029ea
mov ebx, dword [ebp + 8]
push 0xe
or ecx, 0xffffffff
mov eax, ebx
call fcn.10020c26
lea edi, [ebp - 0x3c]
call fcn.1000d7af
or dword [ebp - 4], 0xffffffff
cmp dword [ebp + 0x14], 0
je 0x10024529
push dword [ebp + 0x14]
call fcn.1005a1d0
pop ecx
xor al, al
call fcn.10063f96
ret 0x14