Function at 0x4159cc
Capabilities:
Check http status code

Disassembly:
push 0x2c
mov eax, 0x44f09d
call fcn.00436706
push str.InstallProduct7...
lea ecx, [ebp - 0x14]
call fcn.00402148
xor ebx, ebx
push ebx
lea eax, [ebp - 0x14]
xor esi, esi
push eax
inc esi
push esi
mov dword [ebp - 4], ebx
call fcn.0040e1e3
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004025ca
push str.___file__
lea ecx, [ebp - 0x14]
call fcn.00402148
push ebx
mov dword [ebp - 4], esi
push dword [ebp + 8]
lea eax, [ebp - 0x14]
push eax
push esi
call fcn.0040dd5d
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025ca
push str.___args__
lea ecx, [ebp - 0x14]
call fcn.00402148
push ebx
mov dword [ebp - 4], 2
push dword [ebp + 0xc]
lea eax, [ebp - 0x14]
push eax
push esi
call fcn.0040dd5d
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025ca
mov edi, dword [0x480a94]
cmp edi, ebx
je 0x415ae3
call fcn.004234c0
push eax
lea ecx, [ebp - 0x14]
call fcn.0040f910
mov dword [ebp - 4], 3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x178]
push str.IDS_ACTION_EXTRACTING
lea ecx, [ebp - 0x18]
call fcn.00402148
lea esi, [ebp - 0x14]
lea ecx, [ebp - 0x18]
mov ebx, 0x480438
mov byte [ebp - 4], 4
call fcn.00407ed6
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004025ca
push dword [ebp - 0x14]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x190]
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.004025ca
mov ebx, str.WebMsiPath
push ebx
mov edi, 0x459b78
push edi
mov esi, 0x80000001
push esi
call fcn.0041ea8e
add esp, 0xc
push str._ARM
lea ecx, [ebp - 0x18]
call fcn.00402148
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 4], 5
push dword [ebp + 8]
call fcn.004157ed
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
mov dword [ebp - 0x14], eax
call fcn.004025ca
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x415cf5
add eax, 0xfffdb5ac
cmp eax, 0x190
ja 0x415cea
and dword [ebp + 0xc], 0
lea eax, [ebp + 8]
push eax
push 0x20019
push 0
mov ebx, str.SOFTWAREAdobeSetupReader
push ebx
lea edi, [esi + 1]
push edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x415b80
lea eax, [ebp + 0xc]
push eax
push str.ExitCode
lea esi, [ebp + 8]
call fcn.0041e9e4
pop ecx
pop ecx
mov eax, dword [ebp - 0x14]
cmp dword [ebp + 0xc], eax
jne 0x415c71
call fcn.004234c0
push eax
lea ecx, [ebp + 8]
call fcn.0040f910
lea eax, [ebp + 8]
push eax
push str.ErrorText
push ebx
push edi
mov dword [ebp - 4], 6
call fcn.0041e932
add esp, 0x10
test eax, eax
jne 0x415bde
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc], 0
je 0x415bde
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp + 8]
push ecx
push 0x249f0
mov ecx, eax
mov edx, 0x480a54
call fcn.0040c5be
jmp 0x415c0a
push str.Error_text_not_registered
lea ecx, [ebp - 0x18]
call fcn.00402148
push 0
lea eax, [ebp - 0x18]
push eax
push 1
mov byte [ebp - 4], 7
call fcn.0040e1e3
mov ecx, dword [ebp - 0x18]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004025ca
and dword [ebp - 0x1c], 0
mov esi, dword [0x480424]
lea eax, [ebp - 0x18]
push eax
push 0x20019
push 0
push dword [0x480420]
push edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x415c3f
lea eax, [ebp - 0x1c]
push eax
push esi
lea esi, [ebp - 0x18]
call fcn.0041e9e4
pop ecx
pop ecx
cmp dword [ebp - 0x1c], 0
jne 0x415c95
push str.ExitCode
push ebx
push edi
call fcn.0041ea8e
add esp, 0xc
push str.ErrorText
push ebx
push edi
call fcn.0041ea8e
add esp, 0xc
push str.LogTime
push ebx
push edi
call fcn.0041ea8e
jmp 0x415c92
push str.Exit_code_not_registered_or_does_not_match
lea ecx, [ebp + 8]
call fcn.00402148
push 0
lea eax, [ebp + 8]
push eax
push 1
mov dword [ebp - 4], 8
call fcn.0040e1e3
add esp, 0xc
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004025ca
cmp dword [0x480a58], 0x249f0
je 0x415cea
push str.Extract_installer_failed
lea ecx, [ebp + 8]
call fcn.00402148
mov dword [ebp - 4], 9
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp + 8]
push ecx
push 0x1fbd0
mov ecx, eax
mov edx, 0x480a54
call fcn.0040c5be
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004025ca
mov eax, dword [ebp - 0x14]
call fcn.004367de
ret 8
call fcn.004234c0
push eax
lea ecx, [ebp + 8]
call fcn.0040f910
lea eax, [ebp + 8]
push eax
push ebx
push edi
push esi
mov dword [ebp - 4], 0xa
call fcn.0041e932
add esp, 0x10
push str.Registered_extracted_web_installer_path:
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x14], eax
call fcn.00402148
push 0
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x1c]
push eax
push 2
mov byte [ebp - 4], 0xb
call fcn.0040dd5d
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x1c]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025ca
push ebx
push edi
push esi
call fcn.0041ea8e
xor edi, edi
add esp, 0xc
cmp dword [ebp - 0x14], edi
je 0x415da0
push str.Failed_to_read_registered_extracted_web_installer_path
lea ecx, [ebp + 0xc]
call fcn.00402148
push edi
lea eax, [ebp + 0xc]
push eax
push 2
mov byte [ebp - 4], 0xc
call fcn.0040e1e3
mov ecx, dword [ebp + 0xc]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004025ca
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004025ca
push 0xd
pop eax
jmp 0x415ced
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
cmp dword [eax - 0xc], edi
jne 0x415f8c
call fcn.004234c0
push eax
lea ecx, [ebp - 0x14]
call fcn.0040f910
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xd
call fcn.0042f990
push 0x469f2c
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0xc]
push eax
mov byte [ebp - 4], 0xe
call fcn.004085d4
add esp, 0xc
mov byte [ebp - 4], 0xf
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x38]
call fcn.0042fa28
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
mov esi, eax
call fcn.004025ca
cmp esi, edi
je 0x415ed8
lea ecx, [ebp - 0x38]
call fcn.0042f690
lea ecx, [ebp - 0x38]
mov ebx, eax
call fcn.0042f951
test eax, eax
jne 0x415ed0
mov eax, dword [ebp - 0x38]
push 0x10
lea ecx, [ebp - 0x38]
call dword [eax + 0x38]
test eax, eax
jne 0x415ed0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x38]
call fcn.0042fc55
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x10
call fcn.0042fce6
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x11
call fcn.0040218c
mov byte [ebp - 4], 0x12
mov eax, dword [ebp + 0xc]
mov esi, dword [eax - 0xc]
push esi
lea ecx, [ebp + 0xc]
call fcn.00402455
lea ecx, [esi + 1]
push ecx
push eax
call fcn.00435e77
pop ecx
pop ecx
push esi
lea ecx, [ebp + 0xc]
call fcn.0040249e
push str..msi
xor ecx, ecx
lea esi, [ebp + 0xc]
call fcn.00408543
cmp eax, 0xffffffff
je 0x415eab
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x14]
call fcn.00408894
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.004025ca
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.004025ca
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004025ca
cmp ebx, edi
jne 0x415e0a
lea ecx, [ebp - 0x38]
call fcn.0042f5aa
mov esi, dword [ebp - 0x14]
mov edi, 0x1fc98
cmp dword [0x480a5c], edi
je 0x415f10
or ebx, 0xffffffff
call fcn.00416714
test eax, eax
je 0x415f10
call fcn.0041614b
push str.DISABLE_CACHE_1_
push esi
call sub.msi.dll_MsiOpenDatabaseW
mov edi, eax
jmp 0x415f66
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x20]
push str.Validate_file_failed:
push eax
call fcn.00401e84
add esp, 0xc
mov ebx, eax
mov byte [ebp - 4], 0x13
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push edi
mov ecx, eax
mov edx, 0x480a54
call fcn.0040c5be
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.004025ca
push ecx
lea eax, [ebp + 8]
mov dword [ebp + 0xc], esp
mov ecx, esp
push eax
call fcn.0040218c
call fcn.00421db9
pop ecx
push 0xd
pop edi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xd
call fcn.0042f9b9
lea ecx, [esi - 0x10]
call fcn.004025ca
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004025ca
mov eax, edi
jmp 0x415ced
push 0xd
pop edi
jmp 0x415f7a