Function at 0x438970
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d9f90
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x190
mov eax, dword [0x520078]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xd0], edi
xorps xmm0, xmm0
mov dword [ebp - 0x64], 0
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
call fcn.0041b2f0
mov dword [ebp - 0x74], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
call fcn.00422880
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x64], 3
call fcn.00431bc0
lea eax, [edi + 0x18]
mov dword [ebp - 4], 1
push eax
lea ecx, [ebp - 0x74]
call fcn.00475680
mov byte [ebp - 0xd1], al
test al, al
je 0x43a223
xor eax, eax
mov dword [ebp - 0x34], 7
cmp word [str.GUID], ax
mov ecx, 4
mov dword [ebp - 0x38], 0
cmove ecx, eax
mov word [ebp - 0x48], ax
push ecx
push str.GUID
lea ecx, [ebp - 0x48]
call fcn.00415460
xor eax, eax
mov byte [ebp - 4], 2
xor ecx, ecx
mov word [ebp - 0x2c], ax
cmp word [str.Common], cx
mov eax, 6
mov dword [ebp - 0x18], 7
cmove eax, ecx
mov dword [ebp - 0x1c], 0
push eax
push str.Common
lea ecx, [ebp - 0x2c]
call fcn.00415460
lea esi, [edi + 0x34]
mov byte [ebp - 4], 3
push esi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x60]
push eax
push ecx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474130
mov ecx, eax
mov dword [ebp - 0xc8], ecx
cmp esi, ecx
je 0x438b06
cmp dword [esi + 0x14], 8
jb 0x438adf
mov eax, dword [esi + 0x14]
mov ecx, esi
inc eax
push eax
push dword [esi]
call fcn.004155f0
mov ecx, dword [ebp - 0xc8]
mov dword [esi + 0x14], 7
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x438af7
mov eax, dword [esi]
jmp 0x438af9
mov eax, esi
xor edx, edx
push ecx
mov ecx, esi
mov word [eax], dx
call fcn.00414f20
mov eax, dword [ebp - 0x4c]
cmp eax, 8
jb 0x438b1b
inc eax
lea ecx, [ebp - 0x60]
push eax
push dword [ebp - 0x60]
call fcn.004155f0
xor eax, eax
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x50], 0
cmp eax, 8
jb 0x438b44
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.004155f0
xor eax, eax
mov byte [ebp - 4], 1
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
cmp eax, 8
jb 0x438b71
inc eax
lea ecx, [ebp - 0x48]
push eax
push dword [ebp - 0x48]
call fcn.004155f0
xor eax, eax
mov dword [ebp - 0x34], 7
xor ecx, ecx
mov word [ebp - 0x48], ax
cmp word [str.GuidCreated], cx
mov eax, 0xb
mov dword [ebp - 0x38], 0
cmove eax, ecx
lea ecx, [ebp - 0x48]
push eax
push str.GuidCreated
call fcn.00415460
xor eax, eax
mov byte [ebp - 4], 5
xor ecx, ecx
mov word [ebp - 0x2c], ax
cmp word [str.Common], cx
mov esi, 6
mov eax, esi
mov dword [ebp - 0x18], 7
cmove eax, ecx
mov dword [ebp - 0x1c], 0
push eax
push str.Common
lea ecx, [ebp - 0x2c]
call fcn.00415460
sub esp, 8
mov byte [ebp - 4], 6
lea eax, [ebp - 0x48]
push eax
push ecx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474040
mov dword [edi + 0x50], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 0x54], edx
cmp eax, 8
jb 0x438c1a
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.004155f0
xor eax, eax
mov byte [ebp - 4], 1
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
cmp eax, 8
jb 0x438c47
inc eax
lea ecx, [ebp - 0x48]
push eax
push dword [ebp - 0x48]
call fcn.004155f0
xor eax, eax
mov dword [ebp - 0x34], 7
xor ecx, ecx
mov word [ebp - 0x48], ax
cmp word [str.Edition], cx
mov eax, 7
mov dword [ebp - 0x38], 0
cmove eax, ecx
lea ecx, [ebp - 0x48]
push eax
push str.Edition
call fcn.00415460
xor eax, eax
mov byte [ebp - 4], 7
xor ecx, ecx
mov word [ebp - 0x2c], ax
cmp word [str.Common], cx
mov eax, esi
mov dword [ebp - 0x18], 7
cmove eax, ecx
mov dword [ebp - 0x1c], 0
push eax
push str.Common
lea ecx, [ebp - 0x2c]
call fcn.00415460
push 1
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
mov ecx, eax
call fcn.00473f60
mov dword [edi + 0x90], eax
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x438ce6
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.004155f0
xor eax, eax
mov byte [ebp - 4], 1
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
cmp eax, 8
jb 0x438d13
inc eax
lea ecx, [ebp - 0x48]
push eax
push dword [ebp - 0x48]
call fcn.004155f0
xor eax, eax
mov dword [ebp - 0x34], 7
xor ecx, ecx
mov word [ebp - 0x48], ax
cmp word [str.NewEdition], cx
mov eax, 0xa
mov dword [ebp - 0x38], 0
cmove eax, ecx
lea ecx, [ebp - 0x48]
push eax
push str.NewEdition
call fcn.00415460
xor eax, eax
mov byte [ebp - 4], 9
xor ecx, ecx
mov word [ebp - 0x2c], ax
cmp word [str.Common], cx
mov eax, esi
mov dword [ebp - 0x18], 7
cmove eax, ecx
mov dword [ebp - 0x1c], 0
push eax
push str.Common
lea ecx, [ebp - 0x2c]
call fcn.00415460
push 0xffffffffffffffff
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
mov ecx, eax
call fcn.00473f60
mov dword [edi + 0x94], eax
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x438db2
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.004155f0
xor eax, eax
mov byte [ebp - 4], 1
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
cmp eax, 8
jb 0x438ddf
inc eax
lea ecx, [ebp - 0x48]
push eax
push dword [ebp - 0x48]
call fcn.004155f0
xor eax, eax
mov dword [ebp - 0x34], 7
xor ecx, ecx
mov word [ebp - 0x48], ax
cmp word [str.SubEdition], ax
mov eax, 0xa
mov dword [ebp - 0x38], 0
cmove eax, ecx
lea ecx, [ebp - 0x48]
push eax
push str.SubEdition
call fcn.00415460
xor eax, eax
mov byte [ebp - 4], 0xb
xor ecx, ecx
mov word [ebp - 0x2c], ax
cmp word [str.Common], cx
mov eax, esi
mov dword [ebp - 0x18], 7
cmove eax, ecx
mov dword [ebp - 0x1c], 0
push eax
push str.Common
lea ecx, [ebp - 0x2c]
call fcn.00415460
xor eax, eax
mov dword [ebp - 0x78], 7
mov dword [ebp - 0x7c], 0
mov word [ebp - 0x8c], ax
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x60]
push eax
push ecx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474130
mov ecx, eax
lea esi, [edi + 0x98]
mov dword [ebp - 0xc8], ecx
cmp esi, ecx
je 0x438eda
cmp dword [esi + 0x14], 8
jb 0x438eb3
mov eax, dword [esi + 0x14]
mov ecx, esi
inc eax
push eax
push dword [esi]
call fcn.004155f0
mov ecx, dword [ebp - 0xc8]
mov dword [esi + 0x14], 7
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x438ecb
mov eax, dword [esi]
jmp 0x438ecd
mov eax, esi
xor edx, edx
push ecx
mov ecx, esi
mov word [eax], dx
call fcn.00414f20
mov eax, dword [ebp - 0x4c]
cmp eax, 8
jb 0x438eef
inc eax
lea ecx, [ebp - 0x60]
push eax
push dword [ebp - 0x60]
call fcn.004155f0
xor eax, eax
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x50], 0
cmp eax, 8
jb 0x438f1e
inc eax
lea ecx, [ebp - 0x8c]
push eax
push dword [ebp - 0x8c]
call fcn.004155f0
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x438f33
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.004155f0
xor eax, eax
mov byte [ebp - 4], 1
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
cmp eax, 8
jb 0x438f60
inc eax
lea ecx, [ebp - 0x48]
push eax
push dword [ebp - 0x48]
call fcn.004155f0
xor eax, eax
mov dword [ebp - 0x34], 7
xor ecx, ecx
mov word [ebp - 0x48], ax
cmp word [str.NewSubEdition], cx
mov eax, 0xd
mov dword [ebp - 0x38], 0
cmove eax, ecx
lea ecx, [ebp - 0x48]
push eax
push str.NewSubEdition
call fcn.00415460
xor eax, eax
mov byte [ebp - 4], 0xf
xor ecx, ecx
mov word [ebp - 0x2c], ax
cmp word [str.Common], cx
mov eax, 6
mov dword [ebp - 0x18], 7
cmove eax, ecx
mov dword [ebp - 0x1c], 0
push eax
push str.Common
lea ecx, [ebp - 0x2c]
call fcn.00415460
xor eax, eax
mov dword [ebp - 0x78], 7
mov dword [ebp - 0x7c], 0
mov word [ebp - 0x8c], ax
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x60]
push eax
push ecx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474130
mov ecx, eax
lea esi, [edi + 0xb0]
mov dword [ebp - 0xc8], ecx
cmp esi, ecx
je 0x43905e
cmp dword [esi + 0x14], 8
jb 0x439037
mov eax, dword [esi + 0x14]
mov ecx, esi
inc eax
push eax
push dword [esi]
call fcn.004155f0
mov ecx, dword [ebp - 0xc8]
mov dword [esi + 0x14], 7
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x43904f
mov eax, dword [esi]
jmp 0x439051
mov eax, esi
xor edx, edx
push ecx
mov ecx, esi
mov word [eax], dx
call fcn.00414f20
mov eax, dword [ebp - 0x4c]
cmp eax, 8
jb 0x439073
inc eax
lea ecx, [ebp - 0x60]
push eax
push dword [ebp - 0x60]
call fcn.004155f0
xor eax, eax
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x50], 0
cmp eax, 8
jb 0x4390a2
inc eax
lea ecx, [ebp - 0x8c]
push eax
push dword [ebp - 0x8c]
call fcn.004155f0
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x4390b7
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.004155f0
xor eax, eax
mov byte [ebp - 4], 1
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
cmp eax, 8
jb 0x4390e4
inc eax
lea ecx, [ebp - 0x48]
push eax
push dword [ebp - 0x48]
call fcn.004155f0
xor eax, eax
mov dword [ebp - 0x34], 7
xor ecx, ecx
mov word [ebp - 0x48], ax
cmp word [str.ProductId], cx
mov eax, 9
mov dword [ebp - 0x38], 0
cmove eax, ecx
lea ecx, [ebp - 0x48]
push eax
push str.ProductId
call fcn.00415460
xor eax, eax
mov byte [ebp - 4], 0x13
xor ecx, ecx
mov word [ebp - 0x2c], ax
cmp word [str.Common], cx
mov eax, 6
mov dword [ebp - 0x18], 7
cmove eax, ecx
mov dword [ebp - 0x1c], 0
push eax
push str.Common
lea ecx, [ebp - 0x2c]
call fcn.00415460
xor eax, eax
mov dword [ebp - 0x78], 7
mov dword [ebp - 0x7c], 0
mov word [ebp - 0x8c], ax
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x60]
push eax
push ecx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474130
mov ecx, eax
lea esi, [edi + 0x78]
mov dword [ebp - 0xc8], ecx
cmp esi, ecx
je 0x4391df
cmp dword [esi + 0x14], 8
jb 0x4391b8
mov eax, dword [esi + 0x14]
mov ecx, esi
inc eax
push eax
push dword [esi]
call fcn.004155f0
mov ecx, dword [ebp - 0xc8]
mov dword [esi + 0x14], 7
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x4391d0
mov eax, dword [esi]
jmp 0x4391d2
mov eax, esi
xor edx, edx
push ecx
mov ecx, esi
mov word [eax], dx
call fcn.00414f20
mov eax, dword [ebp - 0x4c]
cmp eax, 8
jb 0x4391f4
inc eax
lea ecx, [ebp - 0x60]
push eax
push dword [ebp - 0x60]
call fcn.004155f0
xor eax, eax
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x50], 0
cmp eax, 8
jb 0x439223
inc eax
lea ecx, [ebp - 0x8c]
push eax
push dword [ebp - 0x8c]
call fcn.004155f0
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x439238
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.004155f0
xor eax, eax
mov byte [ebp - 4], 1
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
cmp eax, 8
jb 0x439265
inc eax
lea ecx, [ebp - 0x48]
push eax
push dword [ebp - 0x48]
call fcn.004155f0
xor eax, eax
mov dword [ebp - 0x78], 7
xor ecx, ecx
mov word [ebp - 0x8c], ax
cmp word [str.BuildId], ax
mov eax, 7
mov dword [ebp - 0x7c], 0
cmove eax, ecx
lea ecx, [ebp - 0x8c]
push eax
push str.BuildId
call fcn.00415460
xor eax, eax
mov byte [ebp - 4], 0x17
xor ecx, ecx
mov word [ebp - 0x60], ax
cmp word [str.Common], ax
mov eax, 6
mov dword [ebp - 0x4c], 7
cmove eax, ecx
mov dword [ebp - 0x50], 0
push eax
push str.Common
lea ecx, [ebp - 0x60]
call fcn.00415460
xor eax, eax
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x38], 0
mov word [ebp - 0x48], ax
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x2c]
push eax
push ecx
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474130
mov ecx, eax
lea esi, [edi + 0xc8]
mov dword [ebp - 0xc8], ecx
cmp esi, ecx
je 0x439366
cmp dword [esi + 0x14], 8
jb 0x43933f
mov eax, dword [esi + 0x14]
mov ecx, esi
inc eax
push eax
push dword [esi]
call fcn.004155f0
mov ecx, dword [ebp - 0xc8]
mov dword [esi + 0x14], 7
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x439357
mov eax, dword [esi]
jmp 0x439359
mov eax, esi
xor edx, edx
push ecx
mov ecx, esi
mov word [eax], dx
call fcn.00414f20
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x43937b
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.004155f0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], 0
cmp eax, 8
jb 0x4393a4
inc eax
lea ecx, [ebp - 0x48]
push eax
push dword [ebp - 0x48]
call fcn.00415650
push 0
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], 7
call fcn.00415680
lea ecx, [ebp - 0x60]
call fcn.00415720
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 1
call fcn.00415720
push str.Cookie
lea ecx, [ebp - 0x2c]
call fcn.00415560
push str.Common
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1b
call fcn.00415560
lea ecx, [ebp - 0xf0]
call fcn.00414fe0
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x108]
push eax
push ecx
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474130
push eax
lea ecx, [edi + 0xe0]
call fcn.00419aa0
lea ecx, [ebp - 0x108]
call fcn.00415720
lea ecx, [ebp - 0xf0]
call fcn.00415720
lea ecx, [ebp - 0x48]
call fcn.00415720
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.00415720
push str.Debug
lea ecx, [ebp - 0x2c]
call fcn.00415560
push str.Common
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1e
call fcn.00415560
push 0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
mov ecx, eax
call fcn.00473f60
test eax, eax
lea ecx, [ebp - 0x48]
setne al
mov byte [edi + 0x17c], al
call fcn.00415720
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.00415720
push 0x4f8604
lea ecx, [ebp - 0x60]
call fcn.00415560
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x2c]
push str.NewDirectoryName
call fcn.00415560
push str.Common
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x21
call fcn.00415560
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x22
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x108]
push eax
push ecx
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474130
push eax
lea ecx, [edi + 0xf8]
call fcn.00419aa0
lea ecx, [ebp - 0x108]
call fcn.00415720
lea ecx, [ebp - 0x48]
call fcn.00415720
lea ecx, [ebp - 0x2c]
call fcn.00415720
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 1
call fcn.00415720
push 0x4f7f8c
lea ecx, [ebp - 0x2c]
call fcn.00415560
push str.Common
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x23
call fcn.00415560
lea ecx, [ebp - 0xf0]
call fcn.00414fe0
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x25
push eax
lea eax, [ebp - 0x108]
push eax
push ecx
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474130
push eax
mov ecx, edi
mov byte [ebp - 4], 0x26
call fcn.0043af00
lea ecx, [ebp - 0x108]
call fcn.00415720
lea ecx, [ebp - 0xf0]
call fcn.00415720
lea ecx, [ebp - 0x48]
call fcn.00415720
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.00415720
push str.Gclid
lea ecx, [ebp - 0x2c]
call fcn.00415560
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x48]
push str.Common
call fcn.00415560
lea ecx, [ebp - 0xf0]
call fcn.00414fe0
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x29
push eax
lea eax, [ebp - 0x108]
push eax
push ecx
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474130
push eax
mov ecx, edi
mov byte [ebp - 4], 0x2a
call fcn.0043af20
lea ecx, [ebp - 0x108]
call fcn.00415720
lea ecx, [ebp - 0xf0]
call fcn.00415720
lea ecx, [ebp - 0x48]
call fcn.00415720
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.00415720
push str.GaCid
lea ecx, [ebp - 0x2c]
call fcn.00415560
push str.Common
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x2b
call fcn.00415560
lea ecx, [ebp - 0xf0]
call fcn.00414fe0
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x2d
push eax
lea eax, [ebp - 0x108]
push eax
push ecx
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474130
push eax
mov ecx, edi
mov byte [ebp - 4], 0x2e
call fcn.0043af40
lea ecx, [ebp - 0x108]
call fcn.00415720
lea ecx, [ebp - 0xf0]
call fcn.00415720
lea ecx, [ebp - 0x48]
call fcn.00415720
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.00415720
push str.DelayedInstallation
lea ecx, [ebp - 0x48]
call fcn.00415560
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0x74]
call fcn.00436870
lea ecx, [ebp - 0x48]
mov byte [ebp - 0x2d], al
mov byte [ebp - 4], 1
call fcn.00415720
cmp byte [ebp - 0x2d], 0
je 0x439a22
push str.DelayedInstallation
lea ecx, [ebp - 0x48]
call fcn.00415560
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x30
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
mov esi, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
mov dword [ebp - 0xd8], esi
call fcn.00415720
push str.IsNeeded
lea ecx, [ebp - 0x2c]
call fcn.00415560
push 0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x31
push eax
mov ecx, esi
call fcn.00473f60
test eax, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
setne al
mov byte [edi + 0x158], al
call fcn.00415720
push ecx
lea ecx, [ebp - 0x80]
call fcn.004165e0
push str.CmdLine
lea ecx, [ebp - 0x2c]
call fcn.00415560
lea ecx, [ebp - 0xf0]
call fcn.00414fe0
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x33
push eax
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00474130
mov edx, eax
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x80]
call fcn.0043b330
lea ecx, [ebp - 0x108]
call fcn.00415720
lea ecx, [ebp - 0xf0]
call fcn.00415720
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x38
call fcn.00415720
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x7c]
sub eax, ecx
shr eax, 1
lea eax, [ecx + eax*2]
push eax
push ecx
lea ecx, [edi + 0x15c]
call fcn.0043b230
lea eax, [ebp - 0x54]
mov ecx, esi
push eax
call fcn.00474200
mov byte [ebp - 4], 0x39
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0xc8], esi
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xcc], eax
cmp esi, eax
je 0x439a0e
mov ecx, dword [ebp - 0xd8]
push esi
call fcn.00473dc0
mov ecx, esi
mov edi, eax
call fcn.004155c0
push eax
call fcn.004b9c27
add esp, 4
mov byte [ebp - 0x2d], al
lea ecx, [ebp - 0x24]
call fcn.00434ae0
mov byte [ebp - 4], 0x3a
cmp byte [ebp - 0x2d], 0
jbe 0x4399e7
push str.IsSilent
lea ecx, [ebp - 0xf0]
mov byte [ebp - 0x18], 1
mov dword [ebp - 0x1c], 1
call fcn.00415560
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x3b
push eax
mov ecx, edi
call fcn.004367f0
lea ecx, [ebp - 0xf0]
mov byte [ebp - 0xc1], al
mov byte [ebp - 4], 0x3a
call fcn.00415720
cmp byte [ebp - 0xc1], 0
je 0x4398cc
push str.IsSilent
lea ecx, [ebp - 0xf0]
call fcn.00415560
push 1
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x3c
push eax
mov ecx, edi
call fcn.00473f60
test eax, eax
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0xf0]
setne byte [ebp - 0x18]
call fcn.00415720
push str.UiStartType
lea ecx, [ebp - 0xf0]
call fcn.00415560
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x3d
push eax
mov ecx, edi
call fcn.004367f0
lea ecx, [ebp - 0xf0]
mov byte [ebp - 0xc1], al
mov byte [ebp - 4], 0x3a
call fcn.00415720
cmp byte [ebp - 0xc1], 0
je 0x439942
push str.UiStartType
lea ecx, [ebp - 0xf0]
call fcn.00415560
push 1
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x3e
push eax
mov ecx, edi
call fcn.00473f60
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x3a
call fcn.00415720
push str.Components
lea ecx, [ebp - 0xf0]
call fcn.00415560
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x3f
push eax
push ecx
lea eax, [ebp - 0xf0]
mov ecx, edi
push eax
call fcn.00473dc0
add esp, 4
mov ecx, eax
call fcn.00474340
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x41
call fcn.00415720
mov esi, dword [ebp - 0x98]
mov edi, dword [ebp - 0x94]
cmp esi, edi
je 0x4399ac
push esi
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x24]
call fcn.0043b360
add esi, 0x18
cmp esi, edi
jne 0x439995
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x3a
call fcn.00416cc0
mov edi, dword [ebp - 0xd0]
lea eax, [ebp - 0x24]
push eax
push ecx
lea eax, [ebp - 0x2d]
push eax
lea ecx, [edi + 0x174]
call fcn.0043b180
add esp, 4
mov ecx, eax
call fcn.0043b1a0
mov esi, dword [ebp - 0xc8]
jmp 0x4399ed
mov edi, dword [ebp - 0xd0]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x39
call fcn.00433450
add esi, 0x18
mov dword [ebp - 0xc8], esi
cmp esi, dword [ebp - 0xcc]
jne 0x439811
lea ecx, [ebp - 0x54]
call fcn.00416cc0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 1
call fcn.00416f60
lea eax, [edi + 0x180]
mov dword [ebp - 0x94], str.product.parts.current
mov dword [ebp - 0x110], eax
xor esi, esi
lea eax, [edi + 0x188]
mov dword [ebp - 0x90], str.product.parts.latest
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xc8], esi
nop word [eax + eax]
mov ecx, dword [ebp + esi - 0x110]
call fcn.00434480
push dword [ebp + esi - 0x94]
lea ecx, [ebp - 0xf0]
call fcn.00415560
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x42
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
mov esi, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xcc], esi
call fcn.00415720
lea eax, [ebp - 0x54]
mov ecx, esi
push eax
call fcn.00474340
mov byte [ebp - 4], 0x43
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x50]
cmp esi, edi
je 0x439c08
push ecx
lea ecx, [ebp - 0x80]
call fcn.004165e0
push 0x4f49c8
lea ecx, [ebp - 0x48]
call fcn.00415560
lea ecx, [ebp - 0x2c]
call fcn.00414fe0
push eax
push esi
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x45
mov ecx, dword [ebp - 0xcc]
push eax
call fcn.00474130
sub esp, 0xc
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x48]
mov edx, eax
push ecx
lea ecx, [ebp - 0x80]
call fcn.004185a0
add esp, 0x10
lea ecx, [ebp - 0x108]
call fcn.00415720
lea ecx, [ebp - 0x2c]
call fcn.00415720
lea ecx, [ebp - 0x48]
call fcn.00415720
lea ecx, [ebp - 0x80]
call fcn.00416ca0
cmp eax, 3
jne 0x439bf1
push 0
call fcn.00416c80
mov edx, 0x4f860c
mov ecx, eax
call fcn.00422a00
test al, al
jne 0x439bf1
lea ecx, [ebp - 0xc0]
call fcn.00414fe0
push 0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x4b
call fcn.00416c80
push eax
lea ecx, [ebp - 0xc0]
call fcn.004193e0
push 0xa
push 1
lea ecx, [ebp - 0x80]
call fcn.00416c80
mov ecx, eax
call fcn.0043e4b0
add esp, 4
mov dword [ebp - 0xa8], eax
lea ecx, [ebp - 0x80]
push 2
call fcn.00416c80
mov ecx, eax
call fcn.004155c0
push eax
call fcn.004b9c4c
add esp, 4
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x9c], edx
push eax
mov eax, dword [ebp - 0xc8]
push ecx
push esi
mov ecx, dword [ebp + eax - 0x110]
call fcn.0043b0e0
add esp, 4
mov ecx, eax
call fcn.004388e0
lea ecx, [ebp - 0xc0]
call fcn.00415720
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x43
call fcn.00416cc0
add esi, 0x18
cmp esi, edi
jne 0x439ac5
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 1
call fcn.00416cc0
mov esi, dword [ebp - 0xc8]
add esi, 4
mov dword [ebp - 0xc8], esi
cmp esi, 8
jl 0x439a60
mov eax, dword [ebp - 0xd0]
add eax, 0x190
mov ecx, eax
mov dword [ebp - 0xcc], eax
call fcn.00417650
push str.product.groups
lea ecx, [ebp - 0xf0]
call fcn.00415560
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0x4c
push eax
push ecx
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474340
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x4e
call fcn.00415720
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x50]
cmp esi, edi
je 0x439ce7
nop
push str.product.groups
lea ecx, [ebp - 0x48]
call fcn.00415560
push 0
push esi
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
mov ecx, eax
call fcn.00473f60
mov ecx, dword [ebp - 0xcc]
test eax, eax
push esi
setne byte [ebp - 0xc1]
call fcn.0043b0c0
mov cl, byte [ebp - 0xc1]
mov byte [ebp - 4], 0x4e
mov byte [eax], cl
lea ecx, [ebp - 0x48]
call fcn.00415720
add esi, 0x18
cmp esi, edi
jne 0x439c90
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 1
call fcn.00416cc0
mov ecx, dword [ebp - 0xd0]
lea ecx, [ecx + 0x198]
call fcn.00434010
push str.products
lea ecx, [ebp - 0xf0]
call fcn.00415560
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x50
push eax
push ecx
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474200
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x52
call fcn.00415720
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0x10c], eax
cmp esi, eax
je 0x43a21b
nop
push esi
mov edx, str.products.
lea ecx, [ebp - 0x158]
call fcn.0042be70
add esp, 4
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x53
push ecx
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.00473cb0
add esp, 4
mov ecx, eax
call fcn.00474200
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x55
call fcn.00415720
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x80]
mov dword [ebp - 0x90], eax
cmp edi, eax
je 0x43a1fa
mov edx, 0x4f860c
mov ecx, edi
call fcn.00422a00
test al, al
jne 0x43a1eb
push esi
mov edx, str.products.
lea ecx, [ebp - 0x1a0]
call fcn.0042be70
add esp, 4
push 0x4f4344
mov edx, eax
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x188]
call fcn.00414c20
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x170]
call fcn.00414ac0
add esp, 4
push str..current
mov edx, eax
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x48]
call fcn.00414c20
add esp, 4
lea ecx, [ebp - 0x170]
call fcn.00415720
lea ecx, [ebp - 0x188]
call fcn.00415720
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x5c
call fcn.00415720
push str.version
lea ecx, [ebp - 0x108]
call fcn.00415560
push edi
push ecx
mov ecx, dword [ebp - 0xd0]
push esi
mov byte [ebp - 4], 0x5d
lea ecx, [ecx + 0x198]
call fcn.0043af60
add esp, 4
mov ecx, eax
call fcn.0043b000
mov dword [ebp - 0xcc], eax
lea ecx, [ebp - 0x74]
push 0
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00473ba0
mov ecx, eax
call fcn.00473f60
mov ecx, dword [ebp - 0xcc]
mov byte [ebp - 4], 0x5c
mov dword [ecx], eax
lea ecx, [ebp - 0x108]
call fcn.00415720
push str.time
lea ecx, [ebp - 0x108]
call fcn.00415560
sub esp, 8
mov byte [ebp - 4], 0x5e
lea eax, [ebp - 0x108]
push eax
push ecx
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473ba0
add esp, 4
mov ecx, eax
call fcn.00474040
push edi
push ecx
mov ecx, dword [ebp - 0xd0]
push esi
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd8], edx
lea ecx, [ecx + 0x198]
call fcn.0043af60
add esp, 4
mov ecx, eax
call fcn.0043b000
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0xc], ecx
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x5c
call fcn.00415720
push esi
mov edx, str.products.
lea ecx, [ebp - 0xb0]
call fcn.0042be70
add esp, 4
push 0x4f4344
mov edx, eax
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x140]
call fcn.00414c20
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x128]
call fcn.00414ac0
add esp, 4
push str..latest
mov edx, eax
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x108]
call fcn.00414c20
add esp, 4
lea ecx, [ebp - 0x48]
push eax
call fcn.00419aa0
lea ecx, [ebp - 0x108]
call fcn.00415720
lea ecx, [ebp - 0x128]
call fcn.00415720
lea ecx, [ebp - 0x140]
call fcn.00415720
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x5c
call fcn.00415720
push str.version
lea ecx, [ebp - 0x108]
call fcn.00415560
push 0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x62
push eax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473ba0
mov ecx, eax
call fcn.00473f60
push edi
push ecx
mov ecx, dword [ebp - 0xd0]
push esi
mov dword [ebp - 0xcc], eax
lea ecx, [ecx + 0x198]
call fcn.0043af60
add esp, 4
mov ecx, eax
call fcn.0043b000
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x10], ecx
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x5c
call fcn.00415720
push str.time
lea ecx, [ebp - 0x108]
call fcn.00415560
sub esp, 8
mov byte [ebp - 4], 0x63
lea eax, [ebp - 0x108]
push eax
push ecx
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473ba0
add esp, 4
mov ecx, eax
call fcn.00474040
push edi
push ecx
mov ecx, dword [ebp - 0xd0]
push esi
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd8], edx
lea ecx, [ecx + 0x198]
call fcn.0043af60
add esp, 4
mov ecx, eax
call fcn.0043b000
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x1c], ecx
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x5c
call fcn.00415720
push esi
mov edx, str.products.
lea ecx, [ebp - 0x108]
call fcn.0042be70
add esp, 4
push 0x4f4344
mov edx, eax
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x128]
call fcn.00414c20
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x140]
call fcn.00414ac0
add esp, 4
push str..groups
mov edx, eax
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0xb0]
call fcn.00414c20
add esp, 4
lea ecx, [ebp - 0x48]
push eax
call fcn.00419aa0
lea ecx, [ebp - 0xb0]
call fcn.00415720
lea ecx, [ebp - 0x140]
call fcn.00415720
lea ecx, [ebp - 0x128]
call fcn.00415720
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x5c
call fcn.00415720
lea eax, [ebp - 0x54]
push eax
push ecx
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x74]
call fcn.00473ba0
add esp, 4
mov ecx, eax
call fcn.00474340
mov byte [ebp - 4], 0x67
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0xd8], eax
cmp esi, eax
je 0x43a1d1
push esi
push ecx
push edi
push ecx
mov ecx, dword [ebp - 0xd0]
push dword [ebp - 0xc8]
lea ecx, [ecx + 0x198]
call fcn.0043af60
add esp, 4
mov ecx, eax
call fcn.0043b000
add esp, 4
lea ecx, [eax + 0x20]
call fcn.0043b0a0
push 0
mov dword [ebp - 0xcc], eax
lea ecx, [ebp - 0x74]
push esi
lea eax, [ebp - 0x48]
push eax
call fcn.00473ba0
mov ecx, eax
call fcn.00473f60
mov ecx, dword [ebp - 0xcc]
add esi, 0x18
mov dword [ecx], eax
cmp esi, dword [ebp - 0xd8]
jne 0x43a172
lea ecx, [ebp - 0x54]
call fcn.00416cc0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x55
call fcn.00415720
mov esi, dword [ebp - 0xc8]
add edi, 0x18
cmp edi, dword [ebp - 0x90]
jne 0x439db3
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x52
call fcn.00416cc0
add esi, 0x18
mov dword [ebp - 0xc8], esi
cmp esi, dword [ebp - 0x10c]
jne 0x439d60
lea ecx, [ebp - 0x20]
call fcn.00416cc0
lea ecx, [ebp - 0x74]
call fcn.00431c80
mov al, byte [ebp - 0xd1]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0049384c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret