Function at 0x432321
Capabilities:
Check if file exists
Copy file
Delete file
Link many functions at runtime
Read .ini file

Disassembly:
push ebp
lea ebp, [esp - 0x194]
sub esp, 0x244
mov eax, dword [0x48e610]
xor eax, ebp
mov dword [ebp + 0x190], eax
push ebx
push esi
push edi
mov esi, ecx
xor ebx, ebx
mov dword [ebp + 0x58], ebx
mov eax, dword [esi + 0x80]
push str._config
push eax
call fcn.0045ea50
mov dword [ebp + 0x58], eax
mov eax, dword [esi + 0x80]
push str._inst_config
push eax
call fcn.0045ea50
mov dword [ebp + 0x24], eax
mov eax, dword [esi + 0x80]
push str._step_list
push eax
call fcn.0045ea50
mov dword [ebp + 0x38], eax
mov eax, dword [esi + 0x80]
push str._package_list
push eax
call fcn.0045ea50
mov edi, eax
mov eax, dword [esi + 0x80]
push str._distcodes
push eax
call fcn.0045ea50
mov dword [ebp + 0x28], eax
mov eax, dword [esi + 0x80]
push str._systemReq
push eax
call fcn.0045ea50
add esp, 0x30
mov dword [ebp + 0x68], eax
cmp dword [ebp + 0x58], ebx
je 0x433a9f
cmp dword [ebp + 0x24], ebx
je 0x433a9f
cmp dword [ebp + 0x38], ebx
je 0x433a9f
cmp edi, ebx
je 0x433a9f
cmp dword [ebp + 0x28], ebx
je 0x433a9f
cmp eax, ebx
je 0x433a9f
push 0x481c20
lea ecx, [ebp + 0x78]
call fcn.0043f7b0
push dword [ebp + 0x58]
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
lea eax, [esi + 0x88]
push eax
lea eax, [ebp + 0x78]
push eax
lea edi, [ebp + 0x80]
call fcn.0041c41d
pop ecx
pop ecx
mov ecx, edi
call fcn.0043f790
lea ecx, [ebp + 0x78]
call fcn.0043f790
push 0x4824a8
lea ecx, [ebp + 0x78]
call fcn.0043f7b0
push dword [ebp + 0x68]
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
lea eax, [esi + 0xc8]
push eax
lea eax, [ebp + 0x78]
push eax
lea edi, [ebp + 0x80]
call fcn.0041c41d
neg eax
pop ecx
sbb al, al
pop ecx
inc al
mov ecx, edi
mov byte [ebp + 0x77], al
call fcn.0043f790
lea ecx, [ebp + 0x78]
call fcn.0043f790
cmp byte [ebp + 0x77], bl
je 0x432490
push str.actionerrorvaluexml_sysreqs_invalid
jmp 0x433aa4
push 0x47e7fe
lea ecx, [ebp - 8]
call fcn.0043f7b0
push 0x483f74
lea ecx, [ebp + 0x78]
call fcn.0043f7b0
push dword [ebp + 0x58]
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 0x78]
push eax
lea edi, [ebp + 0x80]
call fcn.0041c41d
pop ecx
pop ecx
mov ecx, edi
call fcn.0043f790
lea ecx, [ebp + 0x78]
call fcn.0043f790
cmp byte [ebp - 1], 0xff
lea eax, [ebp - 8]
jne 0x4324e8
mov eax, dword [ebp - 8]
push eax
call fcn.00466343
fstp dword [ebp + 0x28]
fldz
pop ecx
fcomp dword [ebp + 0x28]
fnstsw ax
test ah, 1
je 0x4334da
fld dword [0x483f70]
fcomp dword [ebp + 0x28]
fnstsw ax
test ah, 5
jnp 0x4334da
push str.Attempts
push ebx
call fcn.00402a29
pop ecx
pop ecx
lea ecx, [ebp + 0x44]
call fcn.0043f500
lea ecx, [ebp + 0x3c]
call fcn.0043f500
push str.width
lea ecx, [ebp + 0x5c]
call fcn.0043f7b0
push dword [ebp + 0x38]
lea ecx, [ebp + 0x6c]
call fcn.0043f7b0
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x5c]
push eax
lea edi, [ebp + 0x6c]
mov dword [ebp + 0x58], 3
call fcn.0041c41d
pop ecx
pop ecx
test eax, eax
je 0x4325a7
push str.height
lea ecx, [ebp + 0x78]
call fcn.0043f7b0
push dword [ebp + 0x38]
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x78]
push eax
lea edi, [ebp + 0x80]
mov dword [ebp + 0x58], 0xf
call fcn.0041c41d
pop ecx
pop ecx
mov byte [ebp + 0x77], 1
test eax, eax
jne 0x4325aa
mov byte [ebp + 0x77], bl
test byte [ebp + 0x58], 8
je 0x4325bf
and dword [ebp + 0x58], 0xfffffff7
lea ecx, [ebp + 0x80]
call fcn.0043f790
test byte [ebp + 0x58], 4
je 0x4325d1
and dword [ebp + 0x58], 0xfffffffb
lea ecx, [ebp + 0x78]
call fcn.0043f790
test byte [ebp + 0x58], 2
je 0x4325e3
and dword [ebp + 0x58], 0xfffffffd
lea ecx, [ebp + 0x6c]
call fcn.0043f790
test byte [ebp + 0x58], 1
je 0x4325f1
lea ecx, [ebp + 0x5c]
call fcn.0043f790
cmp byte [ebp + 0x77], bl
je 0x432628
cmp byte [ebp + 0x4b], 0xff
lea eax, [ebp + 0x44]
jne 0x432602
mov eax, dword [ebp + 0x44]
push eax
call fcn.004640e9
cmp byte [ebp + 0x43], 0xff
mov dword [esi + 0x47c], eax
pop ecx
lea eax, [ebp + 0x3c]
jne 0x43261b
mov eax, dword [ebp + 0x3c]
push eax
call fcn.004640e9
pop ecx
mov dword [esi + 0x480], eax
mov ecx, esi
call fcn.00420af9
mov edi, eax
cmp edi, ebx
jge 0x432676
push str.actionerrorvaluexml_pageflows_invalid
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp + 0x3c]
call fcn.0043f790
lea ecx, [ebp + 0x44]
call fcn.0043f790
mov ebx, edi
jmp 0x433a93
mov ecx, esi
call fcn.004257d3
mov edi, eax
cmp edi, ebx
jl 0x43265f
cmp dword [ebp + 0x19c], ebx
je 0x43269b
lea ecx, [ebp + 0x3c]
call fcn.0043f790
lea ecx, [ebp + 0x44]
jmp 0x433a8e
lea ecx, [esi + 0x198]
call fcn.0043f510
test eax, eax
jne 0x4326ee
push str.actionerrorvaluexml_ui_url_invalid
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp + 0x3c]
call fcn.0043f790
lea ecx, [ebp + 0x44]
call fcn.0043f790
mov ebx, 0x8000aaa0
jmp 0x433a93
cmp dword [esi + 0x8f8], ebx
jne 0x4327be
cmp dword [esi + 0x8ec], ebx
je 0x4327be
push str.running_internal_detection_XML_test
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
lea eax, [ebp + 0x80]
push eax
call fcn.0040d9ba
pop ecx
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp + 0x5c]
call fcn.0043f500
mov edi, 0x47e7fe
push edi
lea ecx, [ebp + 0x6c]
call fcn.0043f7b0
push edi
lea ecx, [ebp + 0x78]
call fcn.0043f7b0
push str.UpgradeHelper
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
push ecx
push ecx
lea eax, [ebp + 0x5c]
mov ecx, esp
push eax
call fcn.0043f6f0
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.0042f11e
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp + 0x78]
call fcn.0043f790
lea ecx, [ebp + 0x6c]
call fcn.0043f790
cmp dword [ebp + 0x68], ebx
je 0x4327ae
push ebx
call fcn.0046508a
mov ecx, esi
call fcn.00420127
mov ecx, esi
call fcn.00430650
jmp 0x4327a8
lea ecx, [ebp]
call fcn.0043f500
lea eax, [ebp]
push eax
lea eax, [ebp + 0x68]
push eax
push ecx
push ecx
mov ecx, esp
push str.main
call fcn.0043f7b0
mov ecx, esi
call fcn.004237b3
cmp eax, ebx
jl 0x4328e8
cmp dword [esi + 0x904], ebx
jne 0x4328e8
cmp dword [ebp + 0x68], ebx
jne 0x4328e8
lea eax, [ebp]
push 0x480e2c
push eax
call fcn.00401046
pop ecx
pop ecx
test al, al
je 0x432853
mov edi, 0x44d
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x38], edi
call fcn.0043f500
lea eax, [ebp + 0x78]
push eax
push edi
mov ecx, esi
call fcn.0040e236
push 0x483ed8
lea ecx, [ebp + 0x78]
call fcn.0043f620
cmp eax, 0xffffffff
je 0x432849
mov dword [ebp + 0x38], 0x465
lea ecx, [ebp + 0x78]
call fcn.0043f790
jmp 0x43286e
lea eax, [ebp]
push 0x48116c
push eax
call fcn.00401046
pop ecx
pop ecx
test al, al
je 0x43286e
mov dword [ebp + 0x38], 0x466
push dword [ebp + 0x38]
lea ecx, [esi + 8]
mov eax, dword [ecx]
call dword [eax]
mov edi, eax
lea eax, [ebp]
push 0x48116c
push eax
call fcn.00401046
pop ecx
pop ecx
test al, al
jne 0x432896
cmp edi, 0x98
je 0x4328e8
push str.actioncancelvaluealready_inst
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
xor edi, edi
inc edi
push edi
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp]
mov dword [esi + 0x34], edi
call fcn.0043f790
lea ecx, [ebp + 0x3c]
call fcn.0043f790
lea ecx, [ebp + 0x44]
call fcn.0043f790
mov ebx, 0x80004004
jmp 0x433a93
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00407bf4
cmp byte [eax + 7], 0xff
jne 0x4328fe
mov eax, dword [eax]
push eax
call fcn.00401f08
pop ecx
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00407bf4
cmp byte [eax + 7], 0xff
jne 0x432926
mov eax, dword [eax]
push eax
call fcn.00401e6c
pop ecx
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp - 0xac]
call fcn.0040b5d3
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00407bf4
push eax
lea ecx, [ebp - 0x30]
call fcn.0040c448
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea eax, [esi + 0x198]
push eax
lea eax, [ebp + 8]
push eax
mov ecx, esi
call fcn.0040dfd9
cmp byte [ebp + 0xf], 0xff
lea eax, [ebp + 8]
jne 0x432984
mov eax, dword [ebp + 8]
push ebx
push ebx
push dword [esi + 0x8ac]
lea ecx, [ebp - 0xac]
push ebx
push eax
lea eax, [ebp - 0x30]
push eax
push esi
push esi
call fcn.0040bb18
mov edi, eax
cmp edi, ebx
jge 0x432aef
push str.UI_Cab_download_failed__trying_alternative_web_download
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
lea eax, [ebp + 0x80]
push eax
call fcn.0040d9ba
pop ecx
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0x80]
push str.web_addr_
push eax
call fcn.004400e0
push eax
call fcn.0040d9ba
add esp, 0x10
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea eax, [esi + 0x1a0]
push eax
lea eax, [ebp + 0x5c]
push eax
mov ecx, esi
call fcn.0040dfd9
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x80]
push str.web_backup_addr_
push eax
call fcn.004400e0
push eax
call fcn.0040d9ba
add esp, 0x10
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0040ce04
pop ecx
pop ecx
test al, al
je 0x432a71
cmp byte [ebp + 0x63], 0xff
lea eax, [ebp + 0x5c]
jne 0x432a54
mov eax, dword [ebp + 0x5c]
push ebx
push ebx
push dword [esi + 0x8ac]
lea ecx, [ebp - 0xac]
push ebx
push eax
lea eax, [ebp - 0x30]
push eax
push esi
push esi
call fcn.0040bb18
mov edi, eax
lea ecx, [ebp + 0x5c]
call fcn.0043f790
cmp edi, ebx
jge 0x432aef
lea ecx, [esi + 0x150]
call fcn.00401005
test al, al
jne 0x432a93
push str.actionerrorvaluelocal_ui_missing
jmp 0x432aa7
cmp edi, 0x800705b4
jne 0x432aa2
push str.actionerrorvalueui_timeout
jmp 0x432aa7
push str.actionerrorvalueui_missing
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp + 8]
call fcn.0043f790
lea ecx, [ebp - 0x30]
call fcn.0040c47b
lea ecx, [ebp - 0xac]
call fcn.0040baf5
lea ecx, [ebp]
jmp 0x43265a
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00407bf4
cmp byte [eax + 7], 0xff
mov edi, eax
jne 0x432b07
mov edi, dword [eax]
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp + 0x6c]
call fcn.0043f6f0
cmp byte [ebp + 0x73], 0xff
lea eax, [ebp + 0x6c]
jne 0x432b1f
mov eax, dword [ebp + 0x6c]
push edi
push eax
lea eax, [esi + 4]
push eax
call fcn.0040cbd5
add esp, 0xc
lea ecx, [ebp + 0x6c]
mov edi, eax
call fcn.0043f790
lea ecx, [ebp + 0x80]
call fcn.0043f790
cmp edi, ebx
jge 0x432c23
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp + 0x6c]
call fcn.0043f6f0
cmp byte [ebp + 0x73], 0xff
lea eax, [ebp + 0x6c]
jne 0x432b62
mov eax, dword [ebp + 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp + 0x6c]
call fcn.0043f790
cmp edi, 0x8000aaa5
je 0x432c02
cmp edi, 0x8000aaa6
je 0x432be1
cmp edi, 0x8000aaa7
je 0x432bc0
cmp edi, 0x8000aaa8
je 0x432b9f
push str.actionerrorvalueui_invalid
jmp 0x432aa7
push str.actionerrorvaluecab_invalid
lea ecx, [ebp + 0x78]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x78]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x78]
jmp 0x432ac7
push str.actionerrorvaluecab_cert_invalid
lea ecx, [ebp + 0x6c]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x6c]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x6c]
jmp 0x432ac7
push str.actionerrorvaluerup_invalid
lea ecx, [ebp + 0x5c]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x5c]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x5c]
jmp 0x432ac7
push str.actionerrorvaluerup_cert_invalid
lea ecx, [ebp + 0x2c]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x2c]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x2c]
jmp 0x432ac7
push str.version.ini
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00407bf4
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.00440090
add esp, 0xc
lea ecx, [ebp + 0x80]
call fcn.0043f790
cmp byte [ebp + 0x17], 0xff
lea eax, [ebp + 0x10]
jne 0x432c5a
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x432cc2
push 0xff
lea eax, [ebp + 0x8d]
push ebx
push eax
mov byte [ebp + 0x8c], bl
call fcn.0045f090
add esp, 0xc
cmp byte [ebp + 0x17], 0xff
lea eax, [ebp + 0x10]
jne 0x432c8c
mov eax, dword [ebp + 0x10]
push eax
push 0x100
lea eax, [ebp + 0x8c]
push eax
push ebx
push 0x47f504
push str.Version
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x432cec
lea eax, [ebp + 0x8c]
push eax
lea ecx, [esi + 0x90]
call fcn.0043f8e0
jmp 0x432cec
push str.actionwarningvaluepkg_id_missing
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x80]
call fcn.0043f790
push str.inst_configlowproc.exe
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00407bf4
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00440090
add esp, 0xc
lea ecx, [ebp + 0x80]
call fcn.0043f790
push ebx
push str._TEMP_lowproc.exe
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
push eax
lea eax, [ebp + 0x2c]
push eax
call fcn.004030b0
add esp, 0xc
lea ecx, [ebp + 0x80]
call fcn.0043f790
push str.inst_configlowball.exe
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00407bf4
push eax
lea eax, [ebp + 0x5c]
push eax
call fcn.00440090
add esp, 0xc
lea ecx, [ebp + 0x80]
call fcn.0043f790
push ebx
push str._TEMP_lowball.exe
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.004030b0
add esp, 0xc
lea ecx, [ebp + 0x80]
call fcn.0043f790
cmp byte [ebp + 0x33], 0xff
lea ecx, [ebp + 0x2c]
jne 0x432da0
mov ecx, dword [ebp + 0x2c]
cmp byte [ebp + 0x1f], 0xff
lea eax, [ebp + 0x18]
jne 0x432dac
mov eax, dword [ebp + 0x18]
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileA]
push ebx
push ecx
push eax
call edi
cmp byte [ebp + 0x73], 0xff
lea ecx, [ebp + 0x6c]
jne 0x432dc3
mov ecx, dword [ebp + 0x6c]
cmp byte [ebp + 0x63], 0xff
lea eax, [ebp + 0x5c]
jne 0x432dcf
mov eax, dword [ebp + 0x5c]
push ebx
push ecx
push eax
call edi
lea ecx, [ebp + 0x6c]
call fcn.0043f790
lea ecx, [ebp + 0x5c]
call fcn.0043f790
lea ecx, [ebp + 0x2c]
call fcn.0043f790
lea ecx, [ebp + 0x18]
call fcn.0043f790
cmp dword [esi + 0x2c], ebx
jne 0x432e89
push 0x47e7fe
lea ecx, [ebp + 0x78]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x78]
push eax
push str.Pause
push 3
call fcn.004054e1
add esp, 0x10
test eax, eax
je 0x432e7f
lea eax, [ebp + 0x78]
push 0x47e830
push eax
call fcn.00401046
pop ecx
pop ecx
test al, al
je 0x432e7f
lea eax, [ebp + 0x6c]
push eax
mov ecx, esi
call fcn.00407bf4
push eax
lea eax, [ebp + 0x80]
push str.Loading_Skin:_r_n
push eax
call fcn.004400e0
add esp, 0xc
cmp byte [eax + 7], 0xff
jne 0x432e5e
mov eax, dword [eax]
push ebx
push 0x47ef24
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp + 0x6c]
call fcn.0043f790
lea ecx, [ebp + 0x78]
call fcn.0043f790
jmp 0x432ef4
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp + 0x80]
call fcn.0043f6f0
lea eax, [ebp + 0x80]
push eax
lea ecx, [ebp - 0x80]
call fcn.00448800
lea ecx, [ebp + 0x80]
call fcn.0043f790
push ebx
lea eax, [ebp + 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.00448850
push eax
push 0x483cbc
push ebx
call fcn.004055ee
add esp, 0x10
lea ecx, [ebp + 0x78]
call fcn.0043f790
push ebx
lea eax, [esi + 0x198]
push eax
push str.UIURL
push ebx
call fcn.004055ee
add esp, 0x10
lea ecx, [ebp - 0x80]
call fcn.00448840
lea ecx, [ebp + 0x10]
call fcn.0043f790
lea ecx, [ebp + 8]
call fcn.0043f790
lea ecx, [ebp - 0x30]
call fcn.0040c47b
lea ecx, [ebp - 0xac]
call fcn.0040baf5
lea ecx, [ebp]
call fcn.0043f790
cmp dword [esi + 0x2c], 1
je 0x43339a
lea ecx, [ebp + 0x2c]
call fcn.0043f500
lea ecx, [ebp + 0x18]
call fcn.0043f500
lea ecx, [ebp + 0x54]
call fcn.0043f500
push str.controlUri
lea ecx, [ebp + 0x78]
call fcn.0043f7b0
push dword [ebp + 0x24]
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x78]
push eax
lea edi, [ebp + 0x80]
call fcn.0041c41d
pop ecx
pop ecx
mov ecx, edi
call fcn.0043f790
lea ecx, [ebp + 0x78]
call fcn.0043f790
push str.compatFunction
lea ecx, [ebp + 0x6c]
call fcn.0043f7b0
push dword [ebp + 0x24]
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x6c]
push eax
lea edi, [ebp + 0x80]
call fcn.0041c41d
pop ecx
pop ecx
mov ecx, edi
call fcn.0043f790
lea ecx, [ebp + 0x6c]
call fcn.0043f790
push str.installFunction
lea ecx, [ebp + 0x5c]
call fcn.0043f7b0
push dword [ebp + 0x24]
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x5c]
push eax
lea edi, [ebp + 0x80]
call fcn.0041c41d
pop ecx
pop ecx
mov ecx, edi
call fcn.0043f790
lea ecx, [ebp + 0x5c]
call fcn.0043f790
push 0x104
lea eax, [ebp + 0x88]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp + 0x88]
push eax
lea ecx, [ebp + 0x64]
call fcn.0043f7b0
push 0x5c
lea ecx, [ebp + 0x64]
call fcn.0043f5f0
lea ecx, [ebp + 0x64]
cmp eax, 0xffffffff
jne 0x433039
call fcn.0043f760
jmp 0x43305b
inc eax
push eax
lea eax, [ebp + 0x80]
push eax
call fcn.0043ff80
push eax
lea ecx, [ebp + 0x64]
call fcn.0043f840
lea ecx, [ebp + 0x80]
call fcn.0043f790
mov edi, str.stubhelper.dll
push edi
lea ecx, [ebp + 0x64]
call fcn.0043fc10
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00407bf4
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.00440040
add esp, 0xc
lea ecx, [ebp + 0x80]
call fcn.0043f790
push 0x5c
lea ecx, [ebp + 0x4c]
call fcn.0043f5f0
lea ecx, [ebp + 0x4c]
cmp eax, 0xffffffff
jne 0x4330ac
call fcn.0043f760
jmp 0x4330ce
inc eax
push eax
lea eax, [ebp + 0x80]
push eax
call fcn.0043ff80
push eax
lea ecx, [ebp + 0x4c]
call fcn.0043f840
lea ecx, [ebp + 0x80]
call fcn.0043f790
push edi
lea ecx, [ebp + 0x4c]
call fcn.0043fc10
cmp byte [ebp + 0x6b], 0xff
lea ecx, [ebp + 0x64]
jne 0x4330e3
mov ecx, dword [ebp + 0x64]
cmp byte [ebp + 0x53], 0xff
lea eax, [ebp + 0x4c]
jne 0x4330ef
mov eax, dword [ebp + 0x4c]
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp + 0x4c]
call fcn.0043f790
lea ecx, [ebp + 0x64]
call fcn.0043f790
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x78]
push eax
mov ecx, esi
call fcn.00407bf4
push eax
lea eax, [ebp + 0x80]
push eax
call fcn.00440040
add esp, 0xc
cmp byte [eax + 7], 0xff
jne 0x43312f
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea ecx, [ebp + 0x80]
mov dword [esi + 0x6c], eax
call fcn.0043f790
lea ecx, [ebp + 0x78]
call fcn.0043f790
mov eax, dword [esi + 0x6c]
cmp eax, ebx
je 0x4332dd
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SetLanguage
push eax
call edi
mov dword [ebp + 0x68], eax
cmp eax, ebx
je 0x433181
push ecx
push ecx
lea eax, [esi + 0x218]
mov ecx, esp
push eax
call fcn.0043f6f0
call dword [ebp + 0x68]
pop ecx
pop ecx
push str.SetCommandLine
push dword [esi + 0x6c]
call edi
mov dword [ebp + 0x68], eax
cmp eax, ebx
je 0x4331a4
push ecx
push ecx
lea eax, [esi + 0xc]
mov ecx, esp
push eax
call fcn.0043f6f0
call dword [ebp + 0x68]
pop ecx
pop ecx
push str.GetCookie
push dword [esi + 0x6c]
call edi
cmp byte [ebp + 0x1f], 0xff
mov dword [esi + 0x70], eax
lea eax, [ebp + 0x18]
jne 0x4331bd
mov eax, dword [ebp + 0x18]
push eax
push dword [esi + 0x6c]
call edi
cmp byte [ebp + 0x5b], 0xff
mov dword [esi + 0x74], eax
lea eax, [ebp + 0x54]
jne 0x4331d2
mov eax, dword [ebp + 0x54]
push eax
push dword [esi + 0x6c]
call edi
mov dword [esi + 0x78], eax
cmp dword [esi + 0x2c], ebx
jne 0x4332dd
push 0xff
lea eax, [ebp + 0x8d]
push ebx
push eax
mov byte [ebp + 0x8c], bl
call fcn.0045f090
mov eax, dword [esi + 0x74]
add esp, 0xc
cmp eax, ebx
je 0x4332dd
lea edx, [ebp + 0x8c]
lea ecx, [esi + 8]
push edx
push ecx
call eax
pop ecx
pop ecx
test eax, eax
jne 0x4332dd
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], ebx
cmp eax, ebx
je 0x43323b
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi + 0x6c], ebx
lea ecx, [ebp + 0x78]
mov dword [esi + 0x34], 1
call fcn.0043f500
lea eax, [ebp + 0x8c]
push str.rp_inst
push eax
call fcn.0045eae0
pop ecx
pop ecx
lea ecx, [ebp + 0x78]
test eax, eax
jne 0x43326b
push str.actioncancelvalue
jmp 0x433270
push str.actionerrorvalue
call fcn.0043f8e0
push ebx
lea eax, [ebp + 0x8c]
push eax
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x80]
push eax
call fcn.00440090
add esp, 0xc
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp + 0x78]
call fcn.0043f790
lea ecx, [ebp + 0x54]
call fcn.0043f790
lea ecx, [ebp + 0x18]
call fcn.0043f790
lea ecx, [ebp + 0x2c]
call fcn.0043f790
lea ecx, [ebp + 0x3c]
call fcn.0043f790
lea ecx, [ebp + 0x44]
call fcn.0043f790
mov ebx, 0x8000aaa3
jmp 0x433a93
call fcn.00407823
mov edi, eax
cmp edi, ebx
jge 0x43332a
push str.actionerrorvaluegdiplus
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp + 0x54]
call fcn.0043f790
lea ecx, [ebp + 0x18]
call fcn.0043f790
lea ecx, [ebp + 0x2c]
jmp 0x43265a
mov ecx, esi
call fcn.0040e9e8
mov edi, eax
cmp edi, ebx
jge 0x43333e
push str.actionerrorvalueskin_missing
jmp 0x4332ed
push ebx
push ebx
lea eax, [esi + 0x4c0]
push eax
lea eax, [esi + 0x4b0]
push eax
lea eax, [esi + 0x484]
push eax
push dword [esi + 0x480]
mov ecx, esi
push dword [esi + 0x47c]
call fcn.0040efef
mov edi, eax
cmp edi, ebx
jge 0x433378
push str.actionerrorvalueskin_invalid
jmp 0x4332ed
lea ecx, [ebp + 0x54]
mov dword [esi + 0x478], 1
call fcn.0043f790
lea ecx, [ebp + 0x18]
call fcn.0043f790
lea ecx, [ebp + 0x2c]
call fcn.0043f790
mov ecx, esi
call fcn.00430650
mov edi, eax
cmp edi, ebx
jge 0x4333b1
push str.actionerrorvaluexml_controls_invalid
jmp 0x43263a
lea ecx, [ebp - 0x10]
call fcn.0043f500
lea eax, [ebp - 0x10]
push eax
mov ecx, esi
call fcn.00431af2
mov edi, eax
cmp edi, ebx
jge 0x433485
lea ecx, [ebp + 0x80]
call fcn.0043f500
push ebx
lea eax, [ebp + 0x80]
push eax
push 0x483cbc
push ebx
call fcn.004054e1
add esp, 0x10
test eax, eax
je 0x433431
lea eax, [ebp + 0x80]
push eax
lea eax, [ebp + 0x6c]
push eax
mov ecx, esi
call fcn.00407bf4
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00440040
add esp, 0xc
cmp byte [eax + 7], 0xff
jne 0x43341a
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp + 0x78]
call fcn.0043f790
lea ecx, [ebp + 0x6c]
call fcn.0043f790
cmp edi, 0x8000aaa0
jne 0x43344c
push str.actionerrorvaluexml_steps_invalid
lea ecx, [ebp + 0x78]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x78]
jmp 0x433462
push ebx
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x78]
push str.actionerrorvaluexml_ui_mismatchstep
push eax
call fcn.004400e0
add esp, 0xc
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x78]
call fcn.0043f790
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp - 0x10]
jmp 0x43265a
mov ecx, esi
call fcn.00423b9b
mov edi, eax
cmp edi, ebx
jge 0x4334b3
push str.actionerrorvaluexml_packages_invalid
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00410896
jmp 0x433472
lea ecx, [ebp - 0x10]
call fcn.0043f790
lea ecx, [ebp + 0x3c]
call fcn.0043f790
lea ecx, [ebp + 0x44]
call fcn.0043f790
lea ecx, [ebp - 8]
call fcn.0043f790
xor eax, eax
jmp 0x433ace
lea ecx, [esi + 0xc]
push str._forceinstall
call fcn.0043f620
test eax, eax
js 0x433525
mov edi, str.config_xml_outside_version_boundaries
push edi
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
lea eax, [ebp + 0x80]
push eax
call fcn.0040d9ba
pop ecx
lea ecx, [ebp + 0x80]
call fcn.0043f790
push ebx
push ebx
push edi
mov ecx, esi
call fcn.0041cbe4
push 1
jmp 0x4327a9
lea ecx, [ebp + 0x6c]
call fcn.0043f500
push str.cmdstring
lea ecx, [ebp + 0x78]
call fcn.0043f7b0
push dword [ebp + 0x58]
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x78]
push eax
lea edi, [ebp + 0x80]
call fcn.0041c41d
pop ecx
pop ecx
mov ecx, edi
call fcn.0043f790
lea ecx, [ebp + 0x78]
call fcn.0043f790
push str._nocandy
lea ecx, [esi + 0xc]
call fcn.0043f620
test eax, eax
js 0x43358a
push str.__nocandy
lea ecx, [ebp + 0x6c]
call fcn.0043fc10
lea edi, [esi + 0x130]
mov ecx, edi
call fcn.00401005
test al, al
jne 0x4335de
push 0x47e920
push edi
lea eax, [ebp + 0x78]
push str.__add_log:_
push eax
call fcn.004400e0
add esp, 0xc
push eax
lea eax, [ebp + 0x80]
push eax
call fcn.00440090
add esp, 0xc
push eax
lea ecx, [ebp + 0x6c]
call fcn.0043fcf0
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp + 0x78]
call fcn.0043f790
lea eax, [esi + 0x208]
push eax
lea eax, [ebp + 0x80]
push str.__StubSelfUpdate
push eax
call fcn.004400e0
add esp, 0xc
push eax
lea ecx, [ebp + 0x6c]
call fcn.0043fcf0
lea ecx, [ebp + 0x80]
call fcn.0043f790
push 0x47e7fe
lea ecx, [ebp + 0x4c]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x4c]
push eax
mov edi, str.Attempts
push edi
push ebx
call fcn.004054e1
add esp, 0x10
cmp byte [ebp + 0x53], 0xff
lea eax, [ebp + 0x4c]
jne 0x43363a
mov eax, dword [ebp + 0x4c]
push eax
call fcn.004640e9
pop ecx
cmp eax, 3
jge 0x433a4b
cmp byte [ebp + 0x53], 0xff
lea eax, [ebp + 0x4c]
jne 0x433656
mov eax, dword [ebp + 0x4c]
push eax
call fcn.004640e9
inc eax
push eax
lea eax, [ebp + 0x4c]
push 0x47eab0
push eax
call fcn.00440350
push ebx
lea eax, [ebp + 0x4c]
push eax
push edi
push ebx
call fcn.004055ee
add esp, 0x20
lea ecx, [ebp + 0x20]
call fcn.0043f500
push 0x4824a8
lea ecx, [ebp + 0x78]
call fcn.0043f7b0
push dword [ebp + 0x58]
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x78]
push eax
lea edi, [ebp + 0x80]
call fcn.0041c41d
pop ecx
pop ecx
mov ecx, edi
call fcn.0043f790
lea ecx, [ebp + 0x78]
call fcn.0043f790
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x64]
push eax
mov ecx, esi
call fcn.0040dfd9
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00448ab0
pop ecx
mov ecx, eax
call fcn.00448940
lea ecx, [ebp - 0xb0]
call fcn.00448840
cmp byte [ebp + 0x63], 0xff
lea eax, [ebp + 0x5c]
jne 0x433700
mov eax, dword [ebp + 0x5c]
push eax
call fcn.00401e6c
pop ecx
lea ecx, [ebp - 0x7c]
call fcn.0040b5d3
push str.rnupdate_d.exe
lea eax, [ebp + 0x5c]
push eax
lea ecx, [ebp - 0x50]
call fcn.0040c448
cmp byte [ebp + 0x6b], 0xff
lea eax, [ebp + 0x64]
jne 0x43372c
mov eax, dword [ebp + 0x64]
push ebx
push ebx
push dword [esi + 0x8ac]
lea ecx, [ebp - 0x7c]
push ebx
push eax
lea eax, [ebp - 0x50]
push eax
push esi
push esi
call fcn.0040bb18
test eax, eax
jns 0x433937
push 0x47e7fe
lea ecx, [ebp + 0x34]
call fcn.0043f7b0
push 0x47f84c
lea ecx, [ebp + 0x34]
call fcn.0043fc10
lea eax, [esi + 0x220]
push eax
lea eax, [ebp + 0x80]
push 0x47f844
push eax
call fcn.004400e0
add esp, 0xc
push eax
lea ecx, [ebp + 0x34]
call fcn.0043fcf0
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea eax, [esi + 0x228]
push eax
lea eax, [ebp + 0x80]
push 0x47f83c
push eax
call fcn.004400e0
add esp, 0xc
push eax
lea ecx, [ebp + 0x34]
call fcn.0043fcf0
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea eax, [esi + 0x218]
push eax
lea eax, [ebp + 0x80]
push str.li
push eax
call fcn.004400e0
add esp, 0xc
push eax
lea ecx, [ebp + 0x34]
call fcn.0043fcf0
lea ecx, [ebp + 0x80]
call fcn.0043f790
push 0x47f82c
lea ecx, [ebp + 0x34]
call fcn.0043fc10
lea eax, [esi + 0x1d8]
push eax
lea eax, [ebp + 0x80]
push 0x47f824
push eax
call fcn.004400e0
add esp, 0xc
push eax
lea ecx, [ebp + 0x34]
call fcn.0043fcf0
lea ecx, [ebp + 0x80]
call fcn.0043f790
cmp byte [ebp + 0x27], 0xff
lea eax, [ebp + 0x20]
jne 0x43383b
mov eax, dword [ebp + 0x20]
mov edi, 0x47f3c4
push edi
push eax
call fcn.0045ea50
pop ecx
test eax, eax
lea eax, [ebp + 0x34]
pop ecx
push eax
lea eax, [ebp + 0x20]
je 0x43385b
push 0x47ee40
jmp 0x43385c
push edi
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00440090
add esp, 0xc
push eax
lea eax, [ebp + 0x80]
push eax
call fcn.00440040
add esp, 0xc
push eax
lea ecx, [ebp + 0x64]
call fcn.0043f840
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp + 0x78]
call fcn.0043f790
cmp byte [ebp + 0x6b], 0xff
lea eax, [ebp + 0x64]
jne 0x4338a1
mov eax, dword [ebp + 0x64]
push ebx
push ebx
push dword [esi + 0x8ac]
lea ecx, [ebp - 0x7c]
push ebx
push eax
lea eax, [ebp - 0x50]
push eax
push esi
push esi
call fcn.0040bb18
mov edi, eax
cmp edi, ebx
jge 0x43392f
lea ecx, [ebp + 0x80]
cmp edi, 0x800705b4
jne 0x4338d4
push str.actionerrorvalueupdate_timeout
jmp 0x4338d9
push str.actionerrorvalueupdate_missing
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp + 0x34]
call fcn.0043f790
lea ecx, [ebp - 0x50]
call fcn.0040c47b
lea ecx, [ebp - 0x7c]
call fcn.0040baf5
lea ecx, [ebp + 0x5c]
call fcn.0043f790
lea ecx, [ebp + 0x64]
call fcn.0043f790
lea ecx, [ebp + 0x20]
call fcn.0043f790
mov ebx, edi
jmp 0x433a83
lea ecx, [ebp + 0x34]
call fcn.0043f790
mov eax, dword [esi + 0x32c]
cmp eax, ebx
je 0x43394e
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x32c], ebx
xor edi, edi
lea eax, [ebp - 0x40]
inc edi
push eax
lea ecx, [ebp + 0x80]
mov dword [esi + 0x34], edi
mov dword [esi + 0x48], ebx
mov dword [ebp + 0x28], ebx
call fcn.0043f6f0
lea eax, [ebp + 0x28]
push eax
push edi
lea eax, [ebp + 0x6c]
push eax
push 0x47ea68
lea eax, [ebp + 0x80]
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.00440090
add esp, 0xc
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00440040
add esp, 0xc
push eax
call fcn.004018ef
add esp, 0xc
lea ecx, [ebp + 0x78]
mov edi, eax
call fcn.0043f790
lea ecx, [ebp + 0x10]
call fcn.0043f790
lea ecx, [ebp + 0x80]
call fcn.0043f790
cmp edi, ebx
je 0x4339fc
push dword [ebp + 0x28]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x50]
call fcn.0040c47b
lea ecx, [ebp - 0x7c]
call fcn.0040baf5
lea ecx, [ebp + 0x5c]
call fcn.0043f790
lea ecx, [ebp + 0x64]
call fcn.0043f790
lea ecx, [ebp + 0x20]
call fcn.0043f790
mov ebx, 0x8000aaa3
jmp 0x433a83
push str.actionerrorvalueupdate_invalid
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x80]
call fcn.0043f790
lea ecx, [ebp - 0x50]
call fcn.0040c47b
lea ecx, [ebp - 0x7c]
call fcn.0040baf5
lea ecx, [ebp + 0x5c]
call fcn.0043f790
lea ecx, [ebp + 0x64]
call fcn.0043f790
lea ecx, [ebp + 0x20]
jmp 0x433a79
push edi
push ebx
call fcn.00402a29
pop ecx
pop ecx
push str.actionerrorvaluestub_update_failure
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x80]
call fcn.0043f790
mov ebx, 0x80004005
lea ecx, [ebp + 0x4c]
call fcn.0043f790
lea ecx, [ebp + 0x6c]
call fcn.0043f790
lea ecx, [ebp - 8]
call fcn.0043f790
mov eax, ebx
jmp 0x433ace
push str.actionerrorvaluexml_tags_missing
lea ecx, [ebp + 0x80]
call fcn.0043f7b0
push ebx
lea eax, [ebp + 0x80]
push eax
mov ecx, esi
call fcn.00410896
lea ecx, [ebp + 0x80]
call fcn.0043f790
mov eax, 0x8000aaa0
mov ecx, dword [ebp + 0x190]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045f4ee
add ebp, 0x194
leave
ret 4