Function at 0x449df9
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push 0xf1c
mov eax, 0x4abecb
call fcn.00472921
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
xor ebx, ebx
push ebx
mov dword [ebp - 0xedc], edi
mov dword [ebp - 0xed8], esi
mov dword [ebp - 0xed0], ebx
call dword [0x4b3540]
mov dword [ebp - 4], ebx
call fcn.0045b4c8
cmp eax, 6
jb 0x449e3b
call fcn.00448902
push edi
lea ecx, [ebp - 0xe9c]
mov dword [0x4eef10], edi
call fcn.00448088
mov byte [ebp - 4], 1
push ebx
lea eax, [ebp - 0xe9d]
push eax
lea ecx, [ebp - 0xaf4]
mov dword [ebp - 0xaf4], 0x4c95d8
mov dword [ebp - 0xacc], 0x4c9578
call fcn.00403e30
mov byte [ebp - 4], 3
push 0x104
lea eax, [ebp - 0xeac]
push eax
lea ecx, [ebp - 0xaf4]
call fcn.00415e37
mov byte [ebp - 4], 4
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00415ddc
push 0x104
push dword [eax]
push ebx
call dword [0x4b32b4]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xeac]
call fcn.00411a7c
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xef4], esp
push 1
lea eax, [ebp - 0xe9d]
push eax
push 0x4c93b0
call fcn.00411496
mov byte [ebp - 4], 5
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xec0], esp
push 1
lea eax, [ebp - 0xaf4]
push eax
call fcn.004112ff
mov byte [ebp - 4], 6
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xe9c]
call fcn.00448c3a
push 0x800
lea eax, [ebp - 0xe9c]
push ebx
push 0x4eef18
mov dword [0x4eef14], eax
call fcn.004738d0
add esp, 0xc
lea eax, [ebp - 0xed4]
push eax
mov dword [0x4ef73c], ebx
mov dword [ebp - 0xed4], ebx
call dword [0x4b3194]
push eax
call dword [0x4b33e0]
mov ebx, eax
push esi
lea ecx, [ebp - 0xef0]
mov dword [ebp - 0xef4], ebx
call fcn.00418cb1
mov byte [ebp - 4], 7
push 0
lea eax, [ebp - 0xe9d]
mov dword [ebp - 0x970], 0x4c9588
mov dword [ebp - 0x948], 0x4c9a8c
push eax
lea ecx, [ebp - 0x970]
call fcn.00403b80
mov byte [ebp - 4], 9
lea eax, [ebp - 0xecc]
push eax
lea ecx, [ebp - 0x970]
call fcn.0043ae12
mov byte [ebp - 4], 0xa
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00403d20
push 0
push 0
push eax
push str.debuglog
lea ecx, [ebp - 0xef0]
call fcn.00419aa5
mov byte [ebp - 0xe9e], al
mov byte [ebp - 4], 9
cmp byte [ebp - 0xec8], 0
je 0x449fec
mov ecx, dword [ebp - 0xecc]
push dword [ecx + 0x24]
call fcn.00404ee0
mov al, byte [ebp - 0xe9e]
test al, al
je 0x44a076
call fcn.004029a0
push 0
call fcn.00402a90
cmp dword [ebp - 0x95c], 0
lea eax, [ebp - 0x940]
push eax
je 0x44a052
lea ecx, [ebp - 0x970]
call fcn.00449c2f
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x940]
call fcn.00401ac0
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xec0], esp
push 1
lea eax, [ebp - 0x970]
push eax
call fcn.00403f40
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 9
call fcn.004029b0
jmp 0x44a076
call fcn.00402aa0
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x970]
call fcn.00402b50
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x940]
call fcn.00401ac0
push 1
lea eax, [ebp - 0xe9d]
push eax
push esi
lea ecx, [ebp - 0x940]
call fcn.00402ca0
mov byte [ebp - 4], 0x10
add eax, 4
cmp dword [eax + 0x14], 8
jb 0x44a09a
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xeb4]
push str.InstallShield_setup.exe__Unicode__started__cmdline:__s
push eax
mov dword [ebp - 0xeb4], str.Setup.cpp
mov dword [ebp - 0xeb0], 0xa0
call fcn.004191b5
add esp, 0xc
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x940]
call fcn.00401ac0
push 1
push 1
push 0
push str.runfromtemp
lea ecx, [ebp - 0xef0]
call fcn.00419aa5
mov byte [ebp - 0xebc], al
xor eax, eax
push eax
push eax
push eax
push str.reboot
lea ecx, [ebp - 0xef0]
call fcn.00419aa5
test al, al
je 0x44a261
cmp byte [0x4eb41c], 0
jne 0x44a11d
cmp byte [0x4f0b10], 0
je 0x44a18d
push 1
lea eax, [ebp - 0xe9d]
push eax
push str.Setup.cpp
lea ecx, [ebp - 0xa00]
call fcn.00402ca0
mov byte [ebp - 4], 0x12
push 1
lea eax, [ebp - 0xe9d]
push eax
push str.Running_after_reboot
lea ecx, [ebp - 0x940]
call fcn.00402ca0
mov byte [ebp - 4], 0x13
push 0xac
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x940]
push eax
call fcn.00402940
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x940]
call fcn.00401ac0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa00]
call fcn.00401ac0
lea eax, [ebp - 0x940]
push eax
call fcn.00424526
pop ecx
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0xa94]
call fcn.004239ac
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x940]
call fcn.00401b80
lea ecx, [ebp - 0xa94]
call fcn.00424c0c
test eax, eax
jne 0x44a200
mov esi, dword [0x4ef73c]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa94]
call fcn.00423d9d
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x970]
call fcn.00401ac0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xef0]
call fcn.00418e14
jmp 0x44b6ea
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xedc], esp
push 1
lea eax, [ebp - 0xe9d]
push eax
push esi
call fcn.00402ca0
mov byte [ebp - 4], 0x1c
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xa94]
call fcn.0042532e
mov esi, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa94]
call fcn.00423d9d
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x970]
call fcn.00401ac0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xef0]
call fcn.00418e14
jmp 0x44b6ea
cmp byte [ebp - 0xebc], 0
je 0x44a287
xor eax, eax
push eax
push eax
push eax
push 0x4b8f84
lea ecx, [ebp - 0xef0]
call fcn.00419aa5
test al, al
je 0x44a40c
push 0
lea eax, [ebp - 0xe9d]
push eax
lea ecx, [ebp - 0xac4]
mov dword [ebp - 0xac4], 0x4c9588
mov dword [ebp - 0xa9c], 0x4c9a8c
call fcn.00403b80
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0xecc]
push eax
lea ecx, [ebp - 0xac4]
call fcn.0043ae12
mov byte [ebp - 4], 0x21
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00403d20
push 1
push 0
push eax
push str.removeasmajorupgrade
lea ecx, [ebp - 0xef0]
call fcn.00419aa5
mov byte [ebp - 0xe9d], al
mov byte [ebp - 4], 0x20
cmp byte [ebp - 0xec8], 0
je 0x44a310
mov ecx, dword [ebp - 0xecc]
push dword [ecx + 0x24]
call fcn.00404ee0
mov al, byte [ebp - 0xe9d]
test al, al
je 0x44a3fd
cmp byte [0x4eb41c], 0
jne 0x44a32a
cmp byte [0x4f0b10], 0
je 0x44a39a
push 1
lea eax, [ebp - 0xe9d]
push eax
push str.Setup.cpp
lea ecx, [ebp - 0xa00]
call fcn.00402ca0
mov byte [ebp - 4], 0x23
push 1
lea eax, [ebp - 0xe9d]
push eax
push 0x4b8f88
lea ecx, [ebp - 0x940]
call fcn.00402ca0
mov byte [ebp - 4], 0x24
push 0xbb
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x940]
push eax
call fcn.00402940
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x940]
call fcn.00401ac0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xa00]
call fcn.00401ac0
push dword [ebp - 0xebc]
lea eax, [ebp - 0xac4]
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xedc], esp
push 1
push eax
call fcn.00403f40
mov byte [ebp - 4], 0x27
mov byte [ebp - 4], 0x20
call fcn.00448574
add esp, 0x34
mov esi, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xac4]
call fcn.00401ac0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x970]
call fcn.00401ac0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xef0]
call fcn.00418e14
jmp 0x44b6ea
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xac4]
call fcn.00401ac0
cmp dword [ebp - 0xed4], 1
push 0x2d
pop edx
push 0x2f
pop ecx
jbe 0x44a689
movzx eax, word [esi]
cmp ax, dx
je 0x44a430
cmp ax, cx
jne 0x44a4d7
cmp word [esi + 2], 0x25
jne 0x44a4d7
add esi, 4
mov ax, word [esi]
lea esi, [esi + 2]
cmp ax, cx
jne 0x44a43e
xor eax, eax
mov word [esi - 4], ax
cmp dword [0x4eee98], 8
lea eax, [esi - 2]
push eax
mov ecx, 0x4eee84
cmovae ecx, dword [0x4eee84]
push ecx
lea eax, [ebp - 0x850]
push str._s__s
push eax
call dword [0x4b34c8]
add esp, 0x10
lea eax, [ebp - 0x850]
push 1
push eax
call fcn.00450150
lea ecx, [ebp - 0xeb8]
call fcn.00411784
mov byte [ebp - 4], 0x2c
push edi
lea ecx, [ebp - 0xeb8]
call fcn.0041208e
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xeb8]
call fcn.00411a75
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x970]
call fcn.00401ac0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xef0]
call fcn.00418e14
jmp 0x44b646
cmp ax, dx
je 0x44a4e1
cmp ax, cx
jne 0x44a4fd
movzx ecx, word [esi + 2]
push 0x6b
pop edi
cmp cx, di
je 0x44a622
cmp ecx, 0x4b
je 0x44a622
push 0x2f
pop ecx
cmp ax, dx
je 0x44a50b
cmp ax, cx
jne 0x44a689
movzx eax, word [esi + 2]
cmp eax, 0x67
je 0x44a51d
cmp eax, 0x47
jne 0x44a689
lea edi, [esi + 4]
mov ax, word [edi]
lea edi, [edi + 2]
cmp ax, cx
jne 0x44a520
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x238], ax
lea eax, [ebp - 0x236]
push eax
call fcn.004738d0
add esp, 0xc
lea eax, [edi + 4]
push eax
lea eax, [ebp - 0x238]
push eax
call dword [0x4b32d8]
lea eax, [ebp - 0x238]
push eax
call dword [0x4b31bc]
movzx ecx, word [ebp + eax*2 - 0x23c]
push 0x2d
pop edx
xor ebx, ebx
cmp cx, dx
je 0x44a581
push 0x2f
pop edx
cmp cx, dx
jne 0x44a5ae
movzx ecx, word [ebp + eax*2 - 0x23a]
cmp ecx, 0x73
je 0x44a593
cmp ecx, 0x53
jne 0x44a5ae
xor ebx, ebx
lea eax, [eax*2 - 4]
inc ebx
cmp eax, 0x208
jae 0x44a61d
xor ecx, ecx
mov word [ebp + eax - 0x238], cx
xor eax, eax
push 0x206
push eax
mov word [edi - 4], ax
mov word [ebp - 0x440], ax
lea eax, [ebp - 0x43e]
push eax
call fcn.004738d0
add esp, 0xc
lea eax, [esi + 6]
push eax
lea eax, [ebp - 0x440]
push eax
call dword [0x4b32d8]
push ebx
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x440]
push eax
call fcn.0044f30c
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x970]
call fcn.00401ac0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xef0]
call fcn.00418e14
jmp 0x44b6ea
call fcn.00474a4b
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x648], ax
lea eax, [ebp - 0x646]
push eax
add esi, 4
call fcn.004738d0
push esi
push dword [ebx]
lea eax, [ebp - 0x648]
push 0x4b4138
push eax
call dword [0x4b34c8]
add esp, 0x1c
lea eax, [ebp - 0x648]
push 1
push eax
call fcn.0045001c
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x970]
call fcn.00401ac0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xef0]
call fcn.00418e14
jmp 0x44b646
xor edi, edi
cmp dword [ebp - 0xed4], 1
mov dword [ebp - 0xef8], edi
jbe 0x44a6c7
movzx eax, word [esi]
cmp ax, dx
je 0x44a6a7
cmp ax, cx
jne 0x44a6c7
movzx eax, word [esi + 2]
push 0x71
pop ecx
cmp ax, cx
je 0x44a6bb
push 0x51
pop ecx
cmp ax, cx
jne 0x44a6c7
mov edi, dword [ebx + 4]
add edi, 4
mov dword [ebp - 0xef8], edi
push 0
lea eax, [ebp - 0xe9d]
push eax
lea ecx, [ebp - 0x8e0]
mov dword [ebp - 0x8e0], 0x4c95d8
mov dword [ebp - 0x8b8], 0x4c9578
call fcn.00403e30
mov byte [ebp - 4], 0x34
push 1
lea ecx, [ebp - 0xf24]
call fcn.00447fd6
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0xeb4]
push eax
lea ecx, [ebp - 0xf24]
call fcn.00448551
mov eax, dword [eax]
push 0
push 0
add eax, 0x10
push eax
push str.tempdisk1folder
lea ecx, [ebp - 0xef0]
call fcn.00419aa5
test al, al
je 0x44a765
lea ecx, [ebp - 0xf24]
call fcn.00449d31
cmp dword [ebp - 0xf14], 0
mov eax, 0x4c93b0
mov ecx, eax
cmovne ecx, dword [ebp - 0xf14]
test ecx, ecx
cmovne eax, ecx
push eax
lea ecx, [ebp - 0x8dc]
call fcn.00406360
cmp dword [ebp - 0x8cc], 0
jne 0x44a84d
push 0x104
lea eax, [ebp - 0xeac]
push eax
lea ecx, [ebp - 0x8e0]
call fcn.00415e37
mov byte [ebp - 4], 0x36
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00415ddc
push dword [eax]
push 0x104
call dword [0x4b32e4]
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0xeac]
call fcn.00411a7c
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xec0], esp
push 1
lea eax, [ebp - 0xe9d]
push eax
push 0x4c93b0
call fcn.00411496
mov byte [ebp - 4], 0x37
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xeb0], esp
push 1
lea eax, [ebp - 0xe9d]
push eax
push 0x4c93b0
call fcn.00411496
mov byte [ebp - 4], 0x38
push 0
lea eax, [ebp - 0x940]
push eax
mov byte [ebp - 4], 0x35
call fcn.0045ad77
add esp, 0x68
mov byte [ebp - 4], 0x39
push eax
lea ecx, [ebp - 0x8e0]
call fcn.00411b2a
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x940]
call fcn.00401b80
lea eax, [ebp - 0x940]
push eax
lea ecx, [ebp - 0x8e0]
call fcn.00416653
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x940]
call fcn.00401b80
lea eax, [ebp - 0x940]
push eax
lea ecx, [ebp - 0x8e0]
call fcn.0041d408
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x940]
call fcn.00401b80
cmp dword [ebp - 0x8c8], 8
lea eax, [ebp - 0x8dc]
cmovae eax, dword [ebp - 0x8dc]
push eax
push 0x4eef18
call dword [0x4b32d8]
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xeb0], esp
push 1
lea eax, [ebp - 0x8e0]
push eax
call fcn.004112ff
mov byte [ebp - 4], 0x3d
mov byte [ebp - 4], 0x35
mov ecx, dword [0x4eef14]
call fcn.00449110
test edi, edi
je 0x44a8cd
push edi
call dword [0x4b31bc]
test eax, eax
jne 0x44b421
cmp byte [ebp - 0xebc], 0
jne 0x44a8f4
push dword [ebx]
call fcn.0044f544
test eax, eax
je 0x44b421
push esi
call fcn.00449143
pop ecx
test al, al
je 0x44b421
push 1
lea eax, [ebp - 0xe9d]
push eax
push dword [ebx]
lea ecx, [ebp - 0x880]
call fcn.00411496
mov byte [ebp - 4], 0x3e
push 0
lea ecx, [ebp - 0xa00]
push ecx
mov ecx, eax
call fcn.0041654f
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x880]
call fcn.00401b80
push 0
lea eax, [ebp - 0x940]
push eax
lea ecx, [ebp - 0xa00]
call fcn.0041654f
mov byte [ebp - 4], 0x42
push 1
lea eax, [ebp - 0xe9d]
push eax
push dword [ebx]
lea ecx, [ebp - 0x880]
call fcn.00411496
mov byte [ebp - 4], 0x43
xor ebx, ebx
push ebx
push ebx
lea ecx, [ebp - 0x9d0]
push ecx
mov ecx, eax
call fcn.00416103
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x880]
call fcn.00401b80
cmp dword [ebp - 0x9bc], ebx
jne 0x44aa3c
push ebx
lea eax, [ebp - 0xe9d]
push eax
lea ecx, [ebp - 0x880]
mov dword [ebp - 0x880], 0x4c95d8
mov dword [ebp - 0x858], 0x4c9578
call fcn.00403e30
mov byte [ebp - 4], 0x48
push 0x104
lea eax, [ebp - 0xeac]
push eax
lea ecx, [ebp - 0x880]
call fcn.00415e37
mov byte [ebp - 4], 0x49
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00415ddc
push 0x104
push dword [eax]
push ebx
call dword [0x4b32b4]
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0xeac]
call fcn.00411a7c
push ebx
push ebx
lea eax, [ebp - 0x9a0]
push eax
lea ecx, [ebp - 0x880]
call fcn.00416103
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [ebp - 0x9d0]
call fcn.00411b2a
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x9a0]
call fcn.00401b80
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x880]
call fcn.00401b80
lea ecx, [ebp - 0xecc]
call fcn.00411784
mov byte [ebp - 4], 0x4d
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x910]
push eax
lea ecx, [ebp - 0x9d0]
call fcn.0042006d
mov byte [ebp - 4], 0x4e
lea eax, [ebp - 0x940]
push eax
lea eax, [ebp - 0x8b0]
push eax
lea ecx, [ebp - 0x8e0]
call fcn.0042006d
mov byte [ebp - 4], 0x4f
cmp dword [ebp - 0x898], 8
lea ecx, [ebp - 0x8ac]
cmovae ecx, dword [ebp - 0x8ac]
cmp dword [ebp - 0x8f8], 8
push ebx
mov ebx, dword [0x4b30f0]
lea eax, [ebp - 0x90c]
cmovae eax, dword [ebp - 0x90c]
push ecx
push eax
call ebx
push 0x104
lea eax, [ebp - 0xeac]
push eax
lea ecx, [ebp - 0x8b0]
call fcn.00415e37
mov byte [ebp - 4], 0x50
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00415ddc
push dword [eax]
lea ecx, [ebp - 0xecc]
call fcn.00413ada
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0xeac]
call fcn.00411a7c
push 1
lea eax, [ebp - 0xe9d]
push eax
push dword [0x4e976c]
lea ecx, [ebp - 0x880]
call fcn.00411496
push 0x51
pop eax
mov byte [ebp - 4], al
lea eax, [ebp - 0x880]
push eax
lea eax, [ebp - 0x9a0]
push eax
lea ecx, [ebp - 0x9d0]
call fcn.0042006d
mov byte [ebp - 4], 0x52
push eax
lea ecx, [ebp - 0x910]
call fcn.00411b2a
push 0x51
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x9a0]
call fcn.00401b80
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x880]
call fcn.00401b80
push 1
lea eax, [ebp - 0xe9d]
push eax
push dword [0x4e976c]
lea ecx, [ebp - 0x880]
call fcn.00411496
mov byte [ebp - 4], 0x55
lea eax, [ebp - 0x880]
push eax
lea eax, [ebp - 0x9a0]
push eax
lea ecx, [ebp - 0x8e0]
call fcn.0042006d
mov byte [ebp - 4], 0x56
push eax
lea ecx, [ebp - 0x8b0]
call fcn.00411b2a
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x9a0]
call fcn.00401b80
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x880]
call fcn.00401b80
cmp dword [ebp - 0x898], 8
lea ecx, [ebp - 0x8ac]
cmovae ecx, dword [ebp - 0x8ac]
cmp dword [ebp - 0x8f8], 8
push 0
lea eax, [ebp - 0x90c]
cmovae eax, dword [ebp - 0x90c]
push ecx
push eax
call ebx
push 0x104
lea eax, [ebp - 0xeac]
push eax
lea ecx, [ebp - 0x8b0]
call fcn.00415e37
mov byte [ebp - 4], 0x59
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00415ddc
push dword [eax]
lea ecx, [ebp - 0xecc]
call fcn.00413ada
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0xeac]
call fcn.00411a7c
push 1
lea eax, [ebp - 0xe9d]
push eax
push str.ISSetup.dll
lea ecx, [ebp - 0x880]
call fcn.00411380
mov byte [ebp - 4], 0x5a
lea eax, [ebp - 0x880]
push eax
lea eax, [ebp - 0x9a0]
push eax
lea ecx, [ebp - 0x9d0]
call fcn.0042006d
mov byte [ebp - 4], 0x5b
push eax
lea ecx, [ebp - 0x910]
call fcn.00411b2a
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x9a0]
call fcn.00401b80
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x880]
call fcn.00401b80
push 1
lea eax, [ebp - 0xe9d]
push eax
push 0x4b4654
lea ecx, [ebp - 0x880]
call fcn.00411496
mov byte [ebp - 4], 0x5e
lea eax, [ebp - 0x880]
push eax
lea eax, [ebp - 0x9a0]
push eax
lea ecx, [ebp - 0x8e0]
call fcn.0042006d
mov byte [ebp - 4], 0x5f
push eax
lea ecx, [ebp - 0x8b0]
call fcn.00411b2a
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x9a0]
call fcn.00401b80
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x880]
call fcn.00401b80
cmp dword [ebp - 0x898], 8
lea ecx, [ebp - 0x8ac]
cmovae ecx, dword [ebp - 0x8ac]
cmp dword [ebp - 0x8f8], 8
push 0
lea eax, [ebp - 0x90c]
cmovae eax, dword [ebp - 0x90c]
push ecx
push eax
call ebx
push 0x104
lea eax, [ebp - 0xeac]
push eax
lea ecx, [ebp - 0x8b0]
call fcn.00415e37
mov byte [ebp - 4], 0x62
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00415ddc
push dword [eax]
lea ecx, [ebp - 0xecc]
call fcn.00413ada
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0xeac]
call fcn.00411a7c
push 0
lea eax, [ebp - 0xe9d]
push eax
lea ecx, [ebp - 0xa30]
mov dword [ebp - 0xa30], 0x4c95d8
mov dword [ebp - 0xa08], 0x4c9578
call fcn.00403e30
mov byte [ebp - 4], 0x64
push 0x104
lea eax, [ebp - 0xeac]
push eax
lea ecx, [ebp - 0xa30]
call fcn.00415e37
mov byte [ebp - 4], 0x65
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00415ddc
push 0x104
push dword [eax]
push str.Skin
push str.Startup
call fcn.0044e7a7
add esp, 0x10
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xeac]
call fcn.00411a7c
cmp dword [ebp - 0xa1c], 0
jne 0x44ae03
push str.setup.isn
lea ecx, [ebp - 0xa2c]
call fcn.00406360
lea eax, [ebp - 0xa30]
push eax
lea eax, [ebp - 0x880]
push eax
lea ecx, [ebp - 0x9d0]
call fcn.0042006d
mov byte [ebp - 4], 0x66
push eax
lea ecx, [ebp - 0x910]
call fcn.00411b2a
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x880]
call fcn.00401b80
lea eax, [ebp - 0xa30]
push eax
lea eax, [ebp - 0x880]
push eax
lea ecx, [ebp - 0x8e0]
call fcn.0042006d
mov byte [ebp - 4], 0x68
push eax
lea ecx, [ebp - 0x8b0]
call fcn.00411b2a
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x880]
call fcn.00401b80
cmp dword [ebp - 0x898], 8
lea ecx, [ebp - 0x8ac]
cmovae ecx, dword [ebp - 0x8ac]
cmp dword [ebp - 0x8f8], 8
push 0
lea eax, [ebp - 0x90c]
cmovae eax, dword [ebp - 0x90c]
push ecx
push eax
call ebx
test eax, eax
je 0x44aee7
push 0x104
lea eax, [ebp - 0xeac]
push eax
lea ecx, [ebp - 0x8b0]
call fcn.00415e37
mov byte [ebp - 4], 0x6a
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00415ddc
push dword [eax]
lea ecx, [ebp - 0xecc]
call fcn.00413ada
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xeac]
call fcn.00411a7c
push 0x10
lea eax, [ebp - 0x30]
push eax
push str.count
push str.Languages
call fcn.0044e7a7
push 0xa
lea eax, [ebp - 0x30]
push 0
push eax
call fcn.0047449d
and dword [ebp - 0xebc], 0
add esp, 0x1c
mov dword [ebp - 0xec0], eax
test eax, eax
je 0x44b11b
mov esi, dword [ebp - 0xebc]
mov edi, eax
push esi
lea eax, [ebp - 0x990]
push str.key_d
push eax
call fcn.00475e01
push 0x10
lea eax, [ebp - 0x870]
push eax
lea eax, [ebp - 0x990]
push eax
push str.Languages
call fcn.0044e7a7
push 0x10
lea eax, [ebp - 0x870]
push 0
push eax
call fcn.0047449d
mov ebx, eax
add esp, 0x28
test ebx, ebx
je 0x44b106
cmp dword [ebp - 0x9b8], 8
lea ecx, [ebp - 0x9cc]
cmovae ecx, dword [ebp - 0x9cc]
push ebx
push ecx
lea eax, [ebp - 0x910]
push str._s0x_04x.ini
push eax
call fcn.00420ffd
cmp dword [ebp - 0x8c8], 8
lea eax, [ebp - 0x8dc]
cmovae eax, dword [ebp - 0x8dc]
push ebx
push eax
lea eax, [ebp - 0x8b0]
push str._s0x_04x.ini
push eax
call fcn.00420ffd
add esp, 0x20
cmp dword [ebp - 0x898], 8
lea ecx, [ebp - 0x8ac]
cmovae ecx, dword [ebp - 0x8ac]
cmp dword [ebp - 0x8f8], 8
push 0
lea eax, [ebp - 0x90c]
cmovae eax, dword [ebp - 0x90c]
push ecx
push eax
call dword [0x4b30f0]
test eax, eax
je 0x44b03d
push 0x104
lea eax, [ebp - 0xeac]
push eax
lea ecx, [ebp - 0x8b0]
call fcn.00415e37
push 0x6b
pop ecx
mov byte [ebp - 4], cl
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00415ddc
push dword [eax]
lea ecx, [ebp - 0xecc]
call fcn.00413ada
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xeac]
call fcn.00411a7c
cmp dword [ebp - 0x9b8], 8
lea eax, [ebp - 0x9cc]
cmovae eax, dword [ebp - 0x9cc]
push ebx
push eax
lea eax, [ebp - 0x910]
push str._s_04x.mst
push eax
call fcn.00420ffd
cmp dword [ebp - 0x8c8], 8
lea eax, [ebp - 0x8dc]
cmovae eax, dword [ebp - 0x8dc]
push ebx
push eax
lea eax, [ebp - 0x8b0]
push str._s_04x.mst
push eax
call fcn.00420ffd
add esp, 0x20
cmp dword [ebp - 0x898], 8
lea ecx, [ebp - 0x8ac]
cmovae ecx, dword [ebp - 0x8ac]
cmp dword [ebp - 0x8f8], 8
push 0
lea eax, [ebp - 0x90c]
cmovae eax, dword [ebp - 0x90c]
push ecx
push eax
call dword [0x4b30f0]
test eax, eax
je 0x44b106
push 0x104
lea eax, [ebp - 0xeb8]
push eax
lea ecx, [ebp - 0x8b0]
call fcn.00415e37
mov byte [ebp - 4], 0x6c
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00415ddc
push dword [eax]
lea ecx, [ebp - 0xecc]
call fcn.00413ada
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xeb8]
call fcn.00411a7c
inc esi
cmp esi, edi
jb 0x44af29
mov esi, dword [ebp - 0xed8]
mov edi, dword [ebp - 0xef8]
push 0
lea eax, [ebp - 0xe9d]
push eax
lea ecx, [ebp - 0xa60]
mov dword [ebp - 0xa60], 0x4c95d8
mov dword [ebp - 0xa38], 0x4c9578
call fcn.00403e30
mov byte [ebp - 4], 0x6e
push 1
lea eax, [ebp - 0xe9d]
push eax
push esi
lea ecx, [ebp - 0xa90]
call fcn.00411496
mov esi, eax
mov byte [ebp - 4], 0x6f
push 1
lea eax, [ebp - 0xe9d]
push eax
push 0x4eef18
lea ecx, [ebp - 0xb24]
call fcn.00411496
mov ebx, eax
mov byte [ebp - 4], 0x70
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x9a0]
push eax
lea ecx, [ebp - 0x9d0]
call fcn.0042006d
mov dword [ebp - 0xed8], eax
push 0x71
pop eax
mov byte [ebp - 4], al
lea eax, [ebp - 0x940]
push eax
lea eax, [ebp - 0x880]
push eax
lea ecx, [ebp - 0x8e0]
call fcn.0042006d
mov byte [ebp - 4], 0x72
add esi, 4
cmp dword [esi + 0x14], 8
jb 0x44b1ce
mov esi, dword [esi]
lea edx, [ebx + 4]
push 8
pop ebx
cmp dword [edx + 0x14], ebx
jb 0x44b1db
mov edx, dword [edx]
mov ecx, dword [ebp - 0xed8]
add ecx, 4
cmp dword [ecx + 0x14], ebx
jb 0x44b1eb
mov ecx, dword [ecx]
add eax, 4
cmp dword [eax + 0x14], ebx
jb 0x44b1f5
mov eax, dword [eax]
push esi
push edx
push ecx
push eax
lea eax, [ebp - 0xa60]
push str._s__q__s___tempdisk1folder__s___s
push eax
call fcn.00420ffd
add esp, 0x18
push 0x71
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x880]
call fcn.00401b80
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0x9a0]
call fcn.00401b80
mov byte [ebp - 4], 0x6f
lea ecx, [ebp - 0xb24]
call fcn.00401b80
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0xa90]
call fcn.00401b80
cmp byte [0x4eb41c], 0
jne 0x44b25d
cmp byte [0x4f0b10], 0
je 0x44b2cd
push 1
lea eax, [ebp - 0xe9d]
push eax
push str.Setup.cpp
lea ecx, [ebp - 0x9a0]
call fcn.00402ca0
mov byte [ebp - 4], 0x77
push 1
lea eax, [ebp - 0xe9d]
push eax
push str.Relaunching_setup_from_temp
lea ecx, [ebp - 0x880]
call fcn.00402ca0
mov byte [ebp - 4], 0x78
push 0x192
lea eax, [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x880]
push eax
call fcn.00402940
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x880]
call fcn.00401ac0
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x9a0]
call fcn.00401ac0
cmp dword [ebp - 0xa48], ebx
lea eax, [ebp - 0xa5c]
cmovae eax, dword [ebp - 0xa5c]
push 1
push eax
call fcn.0045001c
test eax, eax
je 0x44b3a9
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xa60]
call fcn.00401b80
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0xa30]
call fcn.00401b80
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x8b0]
call fcn.00401b80
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x910]
call fcn.00401b80
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0xecc]
call fcn.00411a75
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x9d0]
call fcn.00401b80
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x940]
call fcn.00401b80
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0xa00]
call fcn.00401b80
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xf24]
call fcn.0041ddde
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x8e0]
call fcn.00401b80
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x970]
call fcn.00401ac0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xef0]
call fcn.00418e14
jmp 0x44b646
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xa60]
call fcn.00401b80
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0xa30]
call fcn.00401b80
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x8b0]
call fcn.00401b80
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x910]
call fcn.00401b80
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0xecc]
call fcn.00411a75
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x9d0]
call fcn.00401b80
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x940]
call fcn.00401b80
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0xa00]
call fcn.00401b80
call fcn.0044fead
lea ecx, [ebp - 0xf08]
call fcn.004285b9
mov byte [ebp - 4], 0x8c
cmp byte [ebp - 0xe9e], 0
je 0x44b479
push 0
lea eax, [ebp - 0x970]
push eax
lea ecx, [ebp - 0x880]
mov dword [ebp - 0x880], 0x4c9588
mov dword [ebp - 0x858], 0x4c9a8c
call fcn.00404e20
mov byte [ebp - 4], 0x8c
lea eax, [ebp - 0x880]
mov byte [ebp - 4], 0x8e
xor ebx, ebx
inc ebx
jmp 0x44b49c
push 1
lea eax, [ebp - 0xe9d]
push eax
push 0x4c93b0
lea ecx, [ebp - 0xa90]
call fcn.00402ca0
mov dword [ebp - 4], 0x8f
push 2
pop ebx
lea ecx, [ebp - 0xe9c]
push ecx
sub esp, 0x30
mov dword [ebp - 0xed0], ebx
mov ecx, esp
mov dword [ebp - 0xeb0], esp
push 1
push eax
call fcn.00403f40
mov dword [ebp - 4], 0x90
push edi
push dword [ebp - 0xef4]
push dword [ebp - 0xed4]
push dword [ebp - 0xedc]
mov byte [ebp - 4], 0x8f
lea ecx, [ebp - 0xf08]
call fcn.00428ef4
mov esi, eax
mov eax, 0x8e
mov dword [ebp - 4], eax
test bl, 2
je 0x44b50b
and ebx, 0xfffffffd
mov dword [ebp - 0xed0], ebx
mov dword [ebp - 4], eax
lea ecx, [ebp - 0xa90]
call fcn.00401ac0
mov dword [ebp - 4], 0x8c
test bl, 1
je 0x44b52f
and ebx, 0xfffffffe
mov dword [ebp - 0xed0], ebx
mov byte [ebp - 4], 0x8c
lea ecx, [ebp - 0x880]
call fcn.00401ac0
test esi, esi
je 0x44b66b
xor ebx, ebx
push ebx
lea eax, [ebp - 0xe9d]
push eax
lea ecx, [ebp - 0x880]
mov dword [ebp - 0x880], 0x4c9588
mov dword [ebp - 0x858], 0x4c9a8c
call fcn.00403b80
mov byte [ebp - 4], 0x94
lea eax, [ebp - 0xeb8]
push eax
lea ecx, [ebp - 0x880]
call fcn.0043ae12
mov byte [ebp - 4], 0x95
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00403d20
push ebx
push ebx
push eax
push str.runprerequisites
lea ecx, [ebp - 0xef0]
call fcn.00419aa5
mov bl, al
mov byte [ebp - 4], 0x94
cmp byte [ebp - 0xeb4], 0
je 0x44b5b5
mov ecx, dword [ebp - 0xeb8]
push dword [ecx + 0x24]
call fcn.00404ee0
test bl, bl
je 0x44b651
lea ecx, [ebp - 0xeac]
call fcn.00411784
mov byte [ebp - 4], 0x97
push dword [0x4eef10]
lea ecx, [ebp - 0xeac]
call fcn.0041208e
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0xeac]
call fcn.00411a75
mov byte [ebp - 4], 0x8c
lea ecx, [ebp - 0x880]
call fcn.00401ac0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0xf08]
call fcn.00428605
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xf24]
call fcn.0041ddde
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x8e0]
call fcn.00401b80
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x970]
call fcn.00401ac0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xef0]
call fcn.00418e14
mov byte [ebp - 4], 1
xor esi, esi
jmp 0x44b6ee
lea ecx, [ebp - 0xf08]
call fcn.00428ee8
mov byte [ebp - 4], 0x8c
lea ecx, [ebp - 0x880]
call fcn.00401ac0
push dword [0x4ef73c]
lea eax, [ebp - 0xeb4]
push str.Setup_returning__d
push eax
mov dword [ebp - 0xeb4], str.Setup.cpp
mov dword [ebp - 0xeb0], 0x1b5
call fcn.004191b5
mov esi, dword [0x4ef73c]
add esp, 0xc
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0xf08]
call fcn.00428605
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xf24]
call fcn.0041ddde
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x8e0]
call fcn.00401b80
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x970]
call fcn.00401ac0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xef0]
call fcn.00418e14
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xaf4]
call fcn.00401b80
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xe9c]
call fcn.0044834e
or dword [ebp - 4], 0xffffffff
call dword [0x4b3524]
mov eax, esi
call fcn.004728d0
ret 0x10