Function at 0x411920
Capabilities:
Allocate thread local storage
Check mutex on windows
Extract resource via kernel32 functions
Query environment variable
Query or enumerate registry value
Resolve function by parsing pe exports
Shutdown system

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x14c
mov dword [esp], 0
call sub.KERNEL32.dll_GetModuleHandleW
sub esp, 4
mov dword [0x4ef228], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1000
mov dword [esp], 0
call sub.KERNEL32.dll_HeapCreate
sub esp, 0xc
mov dword [0x4ef22c], eax
mov dword [0x4ef224], 0x4e40c0
call fcn.0042dc70
mov dword [0x4e40d0], 0x405230
mov dword [0x4e40d4], 0x401010
mov dword [0x4e40d8], 0x401060
mov dword [0x4e40dc], 0x405200
mov dword [0x4e40e0], 0x403d60
mov dword [0x4e40e4], 0x403ce0
mov dword [0x4e40e8], 0x403b80
mov dword [0x4e40ec], 0x403b10
mov dword [0x4e40f0], 0x403a70
mov dword [0x4e40f4], 0x4039f0
mov dword [0x4e40f8], 0x4051c0
mov dword [0x4e40fc], 0x4039b0
mov dword [0x4e4100], 0x405170
mov dword [0x4e4104], 0x401100
mov dword [0x4e4108], 0x403920
mov dword [0x4e410c], 0x403800
mov dword [0x4e4110], 0x405030
mov dword [0x4e4114], 0x404830
mov dword [0x4e4118], 0x4037c0
mov dword [0x4e411c], 0x403780
mov dword [0x4e4120], 0x403740
mov dword [0x4e4124], 0x401020
mov dword [0x4e4128], 0x401080
mov dword [0x4e412c], 0x403700
mov dword [0x4e4130], 0x4036c0
mov dword [0x4e4134], 0x403680
mov dword [0x4e4138], 0x403580
mov dword [0x4e413c], 0x403480
mov dword [0x4e4140], 0x403390
mov dword [0x4e4144], 0x4032a0
mov dword [0x4e4148], 0x404c30
mov dword [0x4e414c], 0x404b80
mov dword [0x4e4150], 0x403230
mov dword [0x4e4154], 0x4031a0
mov dword [0x4e4158], 0x403160
mov dword [0x4e415c], 0x4030d0
mov dword [0x4e4160], 0x403080
mov dword [0x4e4164], 0x403030
mov dword [0x4e4168], 0x404b50
mov dword [0x4e416c], 0x402fc0
mov dword [0x4e4170], 0x4049e0
mov dword [0x4e4174], 0x402f50
mov dword [0x4e4178], 0x404ab0
mov dword [0x4e417c], 0x402e30
mov dword [0x4e4180], 0x402dd0
mov dword [0x4e4184], 0x402d60
mov dword [0x4e4188], 0x402d20
mov dword [0x4e418c], 0x402c60
mov dword [0x4e4190], 0x402c20
mov dword [0x4e4194], 0x402be0
mov dword [0x4e4198], 0x402ba0
mov dword [0x4e419c], 0x402b00
mov dword [0x4e41a0], 0x402a50
mov dword [0x4e41a4], 0x402a10
mov dword [0x4e41a8], 0x4029b0
mov dword [0x4e41ac], 0x4028f0
mov dword [0x4e41b0], 0x4027e0
mov dword [0x4e41b4], 0x4027a0
mov dword [0x4e41b8], 0x402760
mov dword [0x4e41bc], 0x4026f0
mov dword [0x4e41c0], 0x4045a0
mov dword [0x4e41c4], 0x404330
mov dword [0x4e41c8], 0x402580
mov dword [0x4e41cc], 0x4023f0
mov dword [0x4e41d0], 0x402330
mov dword [0x4e41d4], 0x4022f0
mov dword [0x4e41d8], 0x402280
mov dword [0x4e41dc], 0x4021e0
mov dword [0x4e41e0], 0x40b7c0
mov dword [0x4e41e4], 0x402270
mov dword [0x4e41e8], 0x4021a0
mov dword [0x4e41ec], 0x402140
mov dword [0x4e41f0], 0x402100
mov dword [0x4e41f4], 0x402090
mov dword [0x4e41f8], 0x402020
mov dword [0x4e41fc], 0x404a70
mov dword [0x4e4200], 0x401fc0
mov dword [0x4e4204], 0x404950
mov dword [0x4e4208], 0x401f50
mov dword [0x4e420c], 0x401ed0
mov dword [0x4e4210], 0x401e60
mov dword [0x4e4214], 0x401de0
mov dword [0x4e4218], 0x401da0
mov dword [0x4e421c], 0x401d50
mov dword [0x4e4220], 0x404100
mov dword [0x4e4224], 0x401d10
mov dword [0x4e4228], 0x401cb0
mov dword [0x4e422c], 0x403f10
mov dword [0x4e4230], 0x404040
mov dword [0x4e4234], 0x401c60
mov dword [0x4e4238], 0x403e00
mov dword [0x4e423c], 0x401c20
mov dword [0x4e4240], 0x401be0
mov dword [0x4e4244], 0x401ba0
mov dword [0x4e4248], 0x401b50
mov dword [0x4e424c], 0x401b00
mov dword [0x4e4250], 0x401a90
mov dword [0x4e4254], 0x401a20
mov dword [0x4e4258], 0x4019b0
mov dword [0x4e425c], 0x401940
mov dword [0x4e4260], 0x401000
mov dword [0x4e4264], 0x401070
mov dword [0x4e4268], 0x4018f0
mov dword [0x4e426c], 0x4018a0
mov dword [0x4e4270], 0x401840
mov dword [0x4e4274], 0x4017d0
mov dword [0x4e4278], 0x401790
mov dword [0x4e427c], 0x401650
mov dword [0x4e1116], 0x4e1038
mov dword [0x4e10b8], 0x4e1018
mov dword [0x4e1074], 0x4e1010
call fcn.0042d3b0
call fcn.0042c6ac
call fcn.0042b0b0
call fcn.004291e4
call fcn.00428970
call fcn.0042811c
call fcn.00427705
call fcn.00426d0c
call fcn.0042689f
call fcn.00426386
call fcn.00424c3e
call fcn.00424594
call fcn.00423e9d
call fcn.00423170
call fcn.0042167b
call fcn.0041f6ad
call fcn.0041aeab
call fcn.0041adbc
call fcn.0041aadb
call fcn.004186e8
call fcn.004185d1
call fcn.00417bc5
call fcn.00416cd6
mov dword [esp + 4], str.Advapi32.dll
mov dword [esp], 0xffffffff
call fcn.0041acb9
sub esp, 8
mov dword [0x4ef200], eax
test eax, eax
jne 0x412634
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0x4e1040
mov dword [esp + 4], 0x4ef25c
mov dword [esp], 0x1c
call fcn.00427724
sub esp, 0x10
mov dword [esp + 0xc], 8
mov dword [esp + 8], 0x4e1058
mov dword [esp + 4], 0x4ef254
mov dword [esp], 4
call fcn.00427724
sub esp, 0x10
mov dword [0x4ef1a4], 0
mov dword [esp + 0x10], 0x4ef218
mov dword [esp + 0xc], 0x4eba7c
mov dword [esp + 8], 8
mov dword [esp + 4], 6
mov dword [esp], 4
call fcn.004263af
sub esp, 0x14
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0x4e1028
mov dword [esp + 4], 0x4ef24c
mov dword [esp], 0x10
call fcn.00427724
sub esp, 0x10
mov dword [0x4ef05c], 0xffffffff
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0x4e1010
mov dword [esp + 4], 0x4ef244
mov dword [esp], 4
call fcn.00427724
sub esp, 0x10
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0x4e1038
mov dword [esp + 4], 0x4ef23c
mov dword [esp], 4
call fcn.00427724
sub esp, 0x10
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0x4e1018
mov dword [esp + 4], 0x4ef234
mov dword [esp], 0xc
call fcn.00427724
sub esp, 0x10
call fcn.0042d630
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], str.InstallForgeSetup
call fcn.0042d630
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
lea eax, [esp + 0x50]
mov dword [esp], eax
call fcn.0042d860
sub esp, 8
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], 0
call sub.KERNEL32.dll_CreateMutexW
sub esp, 0xc
mov ebx, eax
test eax, eax
jne 0x4126c0
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
call fcn.00425391
call fcn.00425d19
call fcn.0041c16c
call fcn.0041c570
call fcn.0041939a
call fcn.004191ea
call fcn.00419ed1
call fcn.0041754b
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00422b8a
sub esp, 4
mov dword [esp], 0x4e2488
call fcn.0042d9f0
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.0042d5b0
sub esp, 4
call fcn.0042d630
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
lea ebx, [esp + 0xa4]
mov ecx, 0x27
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov dword [esp + 0x94], 0
mov dword [esp + 4], 0x4ef264
lea eax, [esp + 0x94]
mov dword [esp], eax
call fcn.0042d8b0
sub esp, 8
lea esi, [esp + 0x84]
mov dword [esp], esi
call sub.ole32.dll_CoCreateGuid
sub esp, 4
test eax, eax
je 0x41270f
call fcn.0042d690
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
call fcn.0042d7e0
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
call fcn.0042d6e0
mov dword [esp], 0x4e3b90
call fcn.0042d9f0
sub esp, 4
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef1a8
call fcn.0042d960
sub esp, 8
mov eax, dword [0x4ef1a8]
mov dword [esp], eax
call fcn.004015e0
sub esp, 4
test eax, eax
je 0x41277b
call fcn.0042d690
mov eax, dword [0x4ef1a8]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov dword [esp], str.setupConfiguration.archive
call fcn.0042d9f0
sub esp, 4
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x4c]
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00418543
sub esp, 4
call fcn.0042d7e0
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x94], eax
mov dword [esp + 0x54], 0x4e1820
call fcn.0042d630
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.0042d860
sub esp, 8
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
lea eax, [esp + 0x54]
mov dword [esp], eax
call fcn.0042d860
sub esp, 8
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
lea eax, [esp + 0x94]
mov dword [esp], eax
call fcn.0042d860
sub esp, 8
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call sub.KERNEL32.dll_LoadLibraryW
sub esp, 4
mov edi, eax
test eax, eax
jne 0x4127a9
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042da50
push eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0042da50
push edx
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0042da50
push ecx
call fcn.0042d740
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Setup_Error__nCould_not_initialize_setup_configuration_
mov dword [esp], str.Error
call fcn.00417b94
sub esp, 0xc
call fcn.00408410
call fcn.0040f050
mov dword [esp + 8], 2
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp], 0xffffffff
call fcn.0041ab61
sub esp, 0xc
mov ebx, eax
test eax, eax
jne 0x4128a3
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Setup_Error__nCould_not_initialize_setup_configuration_
mov dword [esp], str.Error
call fcn.00417b94
sub esp, 0xc
call fcn.00408410
call fcn.0040f050
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef1a8]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov dword [esp], str.wizardImage.dat
call fcn.0042d9f0
sub esp, 4
call fcn.0042dbb0
call fcn.0042d7e0
mov dword [esp + 4], eax
mov dword [esp], 0x14
call fcn.00426dac
sub esp, 8
mov ebx, eax
call fcn.0042d740
test ebx, ebx
je 0x412a67
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef1a8]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov dword [esp], str.headerImage.dat
call fcn.0042d9f0
sub esp, 4
call fcn.0042dbb0
call fcn.0042d7e0
mov dword [esp + 4], eax
mov dword [esp], 7
call fcn.00426dac
sub esp, 8
mov ebx, eax
call fcn.0042d740
test ebx, ebx
je 0x412a82
mov dword [esp + 8], 0x37
mov dword [esp + 4], 0x37
mov dword [esp], 7
call fcn.00426eca
sub esp, 0xc
mov dword [esp], 0x13a
call fcn.00424caf
sub esp, 4
mov ebx, eax
mov dword [esp], 0xa4
call fcn.00424cd3
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], 0x14
call fcn.00426eca
sub esp, 0xc
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], str.System
call fcn.00405260
sub esp, 8
mov dword [esp], str._shell32.dll
call fcn.0042d9f0
sub esp, 4
call fcn.0042dbb0
call fcn.0042d7e0
mov dword [esp + 8], 0x13
mov dword [esp + 4], eax
mov dword [esp], 0
call sub.SHELL32.dll_ExtractIconW
sub esp, 0xc
mov ebx, eax
call fcn.0042d740
mov dword [0x4ef190], ebx
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], str.System
call fcn.00405260
sub esp, 8
mov dword [esp], str._shell32.dll
call fcn.0042d9f0
sub esp, 4
call fcn.0042dbb0
call fcn.0042d7e0
mov dword [esp + 8], 4
mov dword [esp + 4], eax
mov dword [esp], 0
call sub.SHELL32.dll_ExtractIconW
sub esp, 0xc
mov ebx, eax
call fcn.0042d740
mov dword [0x4ef18c], ebx
mov dword [esp + 0xc], 0x110
mov dword [esp + 8], 0xb
mov dword [esp + 4], str.Verdana
mov dword [esp], 0
call fcn.0042c580
sub esp, 0x10
mov dword [esp + 0xc], 0x110
mov dword [esp + 8], 8
mov dword [esp + 4], str.Microsoft_Sans_Serif
mov dword [esp], 1
call fcn.0042c580
sub esp, 0x10
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], 8
mov dword [esp + 4], str.Microsoft_Sans_Serif
mov dword [esp], 7
call fcn.0042c580
sub esp, 0x10
call fcn.0042d630
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef1a8]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov dword [esp], str.OS.dat
call fcn.0042d9f0
sub esp, 4
call fcn.0042d7e0
mov dword [esp], eax
call fcn.00418ae5
sub esp, 4
mov ebx, eax
call fcn.0042d740
test ebx, ebx
jne 0x412a9d
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Your_operating_system_is_not_supported.
mov dword [esp], str.Error
call fcn.00417b94
sub esp, 0xc
call fcn.00408410
call fcn.0040f050
call fcn.0042d630
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef1a8]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov dword [esp], str.Variables.dat
call fcn.0042d9f0
sub esp, 4
call fcn.0042dbb0
call fcn.0042d7e0
mov dword [esp + 4], eax
mov dword [esp], 0xffffffff
call fcn.00422f20
sub esp, 8
mov edi, eax
mov dword [esp + 0x3c], eax
call fcn.0042d740
test edi, edi
je 0x412edd
lea ebp, [esp + 0x7c]
mov dword [esp + 0x38], ebp
mov ebp, edi
jmp 0x41383f
mov dword [esp + 4], str.RegDeleteKeyExW
mov dword [esp], eax
call fcn.0041ad13
push edi
push edi
mov dword [0x4ef1fc], eax
mov dword [esp + 4], 0x4e35ec
mov eax, dword [0x4ef200]
mov dword [esp], eax
call fcn.0041ad13
push ebp
push ebp
mov dword [0x4ef20c], eax
mov dword [esp + 4], str.RegDeleteTreeW
mov eax, dword [0x4ef200]
mov dword [esp], eax
call fcn.0041ad13
push edx
push edx
mov dword [0x4ef204], eax
mov dword [esp + 4], str.RegEnumKeyExW
mov eax, dword [0x4ef200]
mov dword [esp], eax
call fcn.0041ad13
push ecx
push ecx
mov dword [0x4ef210], eax
mov dword [esp + 4], str.RegCopyTreeW
mov eax, dword [0x4ef200]
mov dword [esp], eax
call fcn.0041ad13
push ebx
push ebx
mov dword [0x4ef208], eax
jmp 0x411e5e
call sub.KERNEL32.dll_GetLastError
cmp eax, 0xb7
jne 0x411fed
mov dword [esp], ebx
call sub.KERNEL32.dll_CloseHandle
push ebx
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.0042da50
push esi
mov dword [esp + 8], 0x40
mov dword [esp + 4], str.There_is_already_an_InstallForge_setup_running__Please_close_the_running_setup_in_order_to_continue.
mov dword [esp], str.InstallForge
call fcn.00417b94
sub esp, 0xc
call fcn.0040f050
mov dword [esp + 8], 0x27
mov dword [esp + 4], ebx
mov dword [esp], esi
call sub.ole32.dll_StringFromGUID2
sub esp, 0xc
test eax, eax
jle 0x4120e9
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x19
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call fcn.0042d3d0
sub esp, 0x10
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x94]
mov dword [esp], eax
call fcn.0042d960
push ecx
push ecx
jmp 0x4120e9
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Setup_Error__nCould_not_initialize_cache_folder_
mov dword [esp], str.Error
call fcn.00417b94
sub esp, 0xc
call fcn.00408410
call fcn.0040f050
mov dword [esp + 8], 0xa
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.KERNEL32.dll_FindResourceW
sub esp, 0xc
mov ebx, eax
test eax, eax
je 0x4127de
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.KERNEL32.dll_LoadResource
push edx
push edx
mov ebp, eax
test eax, eax
jne 0x4127ec
mov dword [esp], edi
call sub.KERNEL32.dll_FreeLibrary
push ecx
jmp 0x412247
mov dword [esp + 4], ebx
mov dword [esp], edi
call sub.KERNEL32.dll_SizeofResource
push edx
push edx
mov esi, eax
mov dword [esp], ebp
call sub.KERNEL32.dll_LockResource
push ecx
mov ebx, eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov dword [esp], 0xffffffff
call fcn.00422e50
push ebp
push ebp
mov ebp, eax
test eax, eax
je 0x4127de
mov dword [esp + 4], 0x1000
mov dword [esp], eax
call fcn.004235c0
push eax
push eax
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], ebp
call fcn.00422bf0
sub esp, 0xc
mov dword [esp], ebp
test eax, eax
je 0x412898
call fcn.004230a0
push esi
mov dword [esp], edi
call sub.KERNEL32.dll_FreeLibrary
push edi
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042da50
push ebp
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0042da50
push eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0042da50
push eax
call fcn.0042d740
jmp 0x4122a2
call fcn.004230a0
push ebx
jmp 0x4127de
mov dword [esp], eax
call fcn.0041abc5
push edx
test eax, eax
je 0x412a59
lea edi, [esp + 0x48]
jmp 0x412912
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef1a8]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
call fcn.0042dbb0
call fcn.0042d7e0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0041aca7
sub esp, 8
mov esi, eax
call fcn.0042d740
cmp esi, 0xffffffff
je 0x412a22
mov dword [esp], ebx
call fcn.0041abe7
sub esp, 4
test eax, eax
je 0x412a59
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0041ac09
sub esp, 8
call fcn.0042d7e0
mov esi, eax
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00401150
sub esp, 8
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0042d960
sub esp, 8
mov dword [esp], ebx
call fcn.0041ac32
sub esp, 4
test eax, eax
jne 0x412912
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef1a8]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00422a19
sub esp, 8
call fcn.0042d6e0
call fcn.0042d7e0
mov dword [esp], eax
call fcn.004015e0
sub esp, 4
mov esi, eax
call fcn.0042d740
test esi, esi
jne 0x4128c0
mov dword [esp], ebx
call fcn.0041aa8f
push eax
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Setup_Error__nCould_not_initialize_setup_configuration_
mov dword [esp], str.Error
call fcn.00417b94
sub esp, 0xc
call fcn.00408410
call fcn.0040f050
mov dword [esp], ebx
call fcn.0041aa8f
push eax
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Setup_Error__nCould_not_initialize_setup_configuration_
mov dword [esp], str.Error
call fcn.00417b94
sub esp, 0xc
call fcn.00408410
call fcn.0040f050
mov dword [esp], ebx
call fcn.0041aa8f
push eax
jmp 0x4122f4
mov dword [esp + 4], 0x4e42bd
mov dword [esp], 0x14
call fcn.00427061
push ebp
push ebp
jmp 0x412349
mov dword [esp + 4], 0x4eaa3b
mov dword [esp], 7
call fcn.00427061
push edi
push edi
jmp 0x41239e
xor ebx, ebx
mov dword [esp + 4], ebx
mov dword [esp], str.Windows_2000
call fcn.00418dc7
push esi
push esi
xor ebx, ebx
sub eax, 1
je 0x412ad7
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], str.Windows_XP
call fcn.00418dc7
push edx
push edx
mov esi, eax
cmp eax, 1
je 0x412b12
mov esi, ebx
jmp 0x412b48
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00407800
push ecx
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], str.Windows_2000
call fcn.0042da80
xor ebx, ebx
test eax, eax
setne bl
jmp 0x412ab8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00407800
push ebp
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], str.Windows_XP
call fcn.0042da80
test eax, eax
je 0x412ad3
xor ebx, ebx
mov dword [esp + 4], ebx
mov dword [esp], str.Windows_Server_2003
call fcn.00418dc7
push edi
push edi
mov ebx, eax
cmp eax, 1
je 0x412b67
mov ebx, esi
jmp 0x412b9d
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00407800
push ecx
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], str.Windows_Server_2003
call fcn.0042da80
test eax, eax
je 0x412b63
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], str.Windows_Vista
call fcn.00418dc7
push edx
push edx
mov esi, eax
cmp eax, 1
je 0x412bbc
mov esi, ebx
jmp 0x412bf2
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00407800
push ebp
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], str.Windows_Vista
call fcn.0042da80
test eax, eax
je 0x412bb8
xor ebx, ebx
mov dword [esp + 4], ebx
mov dword [esp], str.Windows_Server_2008
call fcn.00418dc7
push edi
push edi
mov ebx, eax
cmp eax, 1
je 0x412c11
mov ebx, esi
jmp 0x412c47
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00407800
push ecx
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], str.Windows_Server_2008
call fcn.0042da80
test eax, eax
je 0x412c0d
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], str.Windows_7
call fcn.00418dc7
push edx
push edx
mov esi, eax
cmp eax, 1
je 0x412c66
mov esi, ebx
jmp 0x412c9c
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00407800
push ebp
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], str.Windows_7
call fcn.0042da80
test eax, eax
je 0x412c62
xor ebx, ebx
mov dword [esp + 4], ebx
mov dword [esp], str.Windows_8
call fcn.00418dc7
push edi
push edi
mov ebx, eax
cmp eax, 1
je 0x412cbb
mov ebx, esi
jmp 0x412cf1
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00407800
push ecx
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], str.Windows_8
call fcn.0042da80
test eax, eax
je 0x412cb7
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], str.Windows_10
call fcn.00418dc7
push edx
push edx
mov esi, eax
cmp eax, 1
je 0x412d10
mov esi, ebx
jmp 0x412d46
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00407800
push ebp
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], str.Windows_10
call fcn.0042da80
test eax, eax
je 0x412d0c
xor ebx, ebx
mov dword [esp + 4], ebx
mov dword [esp], str.Windows_Server_2016
call fcn.00418dc7
push edi
push edi
mov ebx, eax
cmp eax, 1
je 0x412d65
mov ebx, esi
jmp 0x412d9b
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00407800
push ecx
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], str.Windows_Server_2016
call fcn.0042da80
test eax, eax
je 0x412d61
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], str.Windows_Server_2019
call fcn.00418dc7
push edx
push edx
mov esi, eax
cmp eax, 1
je 0x412dba
mov esi, ebx
jmp 0x412df0
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00407800
push ebp
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], str.Windows_Server_2019
call fcn.0042da80
test eax, eax
je 0x412db6
xor ebx, ebx
mov dword [esp + 4], ebx
mov dword [esp], str.Windows_Server_2022
call fcn.00418dc7
push edi
push edi
mov ebx, eax
cmp eax, 1
je 0x412e0f
mov ebx, esi
jmp 0x412e45
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00407800
push ecx
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], str.Windows_Server_2022
call fcn.0042da80
test eax, eax
je 0x412e0b
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], str.Windows_11
call fcn.00418dc7
push edx
push edx
sub eax, 1
je 0x412e89
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [esp], str.NoOSCheck
call fcn.00418dc7
push esi
push esi
sub eax, 1
je 0x412ed3
call fcn.00418de4
test ebx, ebx
je 0x412586
jmp 0x4125af
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp], eax
call fcn.00407800
push eax
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], str.Windows_11
call fcn.0042da80
test eax, eax
je 0x412e5e
xor edi, edi
mov dword [esp + 4], edi
mov dword [esp], str.NoOSCheck
call fcn.00418dc7
push ebp
push ebp
call fcn.00418de4
jmp 0x4125af
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Setup_Error__nCould_not_initialize_setup_configuration_
mov dword [esp], str.Error
call fcn.00417b94
sub esp, 0xc
call fcn.00408410
call fcn.0040f050
call fcn.0042d690
mov dword [esp], 0x4e3b94
call fcn.0042d9f0
sub esp, 4
mov eax, dword [0x4ef260]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
call fcn.0042d6e0
mov dword [esp + 4], eax
mov eax, dword [0x4ef260]
add eax, 8
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
jmp 0x4138ec
call fcn.0042d690
mov eax, dword [0x4ef260]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov dword [esp], 0x4e3b8c
call fcn.0042d9f0
sub esp, 4
call fcn.0042d6e0
mov dword [esp + 4], eax
mov eax, dword [0x4ef260]
add eax, 8
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
jmp 0x41393c
mov dword [esp + 4], str.HKEY_LOCAL_MACHINE
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.0042da80
test eax, eax
je 0x412fe0
mov eax, dword [0x4ef260]
mov dword [eax + 0xc], 0x80000002
mov dword [eax + 0x10], 0
jmp 0x4139c0
mov dword [esp + 4], str.HKEY_USERS
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.0042da80
test eax, eax
je 0x41300e
mov eax, dword [0x4ef260]
mov dword [eax + 0xc], 0x80000003
xor edx, edx
mov dword [eax + 0x10], edx
jmp 0x4139c0
mov dword [esp + 4], str.HKEY_CURRENT_CONFIG
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.0042da80
test eax, eax
je 0x41303c
mov eax, dword [0x4ef260]
mov dword [eax + 0xc], 0x80000005
xor edi, edi
mov dword [eax + 0x10], edi
jmp 0x4139c0
mov dword [esp + 4], str.HKEY_CLASSES_ROOT
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.0042da80
test eax, eax
je 0x4139c0
mov eax, dword [0x4ef260]
mov dword [eax + 0xc], 0x80000000
xor esi, esi
mov dword [eax + 0x10], esi
jmp 0x4139c0
call fcn.0042d690
call fcn.0042d690
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.0042b8a0
sub esp, 4
mov ebx, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
sub ebx, 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.0042be40
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0042d960
sub esp, 8
jmp 0x413bf6
call fcn.0042d690
call fcn.0042d690
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.0042b8a0
sub esp, 4
mov ebx, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
sub ebx, 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.0042bec0
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
jmp 0x413c42
lea ecx, [esp + 0x74]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov edx, dword [esp + 0x80]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.ADVAPI32.dll_RegQueryValueExW
sub esp, 0x18
test eax, eax
jne 0x413c7d
mov esi, dword [esp + 0x74]
test esi, esi
jne 0x4131cd
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x74]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
lea ecx, [esp + 0x78]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov edx, dword [esp + 0x80]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.ADVAPI32.dll_RegQueryValueExW
sub esp, 0x18
mov ebx, eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call sub.ADVAPI32.dll_RegCloseKey
sub esp, 4
test ebx, ebx
jne 0x4131e5
mov eax, dword [esp + 0x78]
cmp eax, 3
je 0x4131f2
sub eax, 1
cmp eax, 0xa
ja case.0x4131c6.3
jmp dword [eax*4 + section..rdata]
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.0042d190
push ebx
mov esi, eax
test eax, eax
jne 0x413166
jmp 0x413c7d
mov dword [esp], esi
call fcn.0042d240
jmp 0x413c89
mov eax, dword [esp + 0x74]
cmp eax, 0x830
jg 0x4132cb
mov eax, dword [esp + 0x74]
cmp eax, ebx
jle 0x41339f
call fcn.0042d690
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042d9f0
push edi
mov dword [esp], 0x4e3e58
call fcn.0042d9f0
push eax
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
lea eax, [ebx + esi]
mov dword [esp], eax
call fcn.0042d2f0
push edx
mov edi, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp], edi
sar edi, 0x1f
mov dword [esp + 4], edi
call fcn.0042c2b0
sub esp, 0xc
call fcn.0042d7e0
mov edi, eax
call fcn.0042d6e0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x4e3de4
mov dword [esp + 4], 2
mov dword [esp], edi
call fcn.0042c330
sub esp, 0x10
call fcn.0042d6e0
mov dword [esp], 0x4e3e08
call fcn.0042d9f0
push ecx
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x94]
mov dword [esp], eax
call fcn.0042d960
push edi
push edi
add ebx, 1
jmp 0x413201
lea ebx, [esi + 0x830]
lea esi, [esi]
call fcn.0042d690
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov dword [esp], 0x4e3e58
call fcn.0042d9f0
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
mov dword [esp], esi
call fcn.0042d2f0
sub esp, 4
mov edi, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp], edi
sar edi, 0x1f
mov dword [esp + 4], edi
call fcn.0042c2b0
sub esp, 0xc
call fcn.0042d7e0
mov edi, eax
call fcn.0042d6e0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x4e3de4
mov dword [esp + 4], 2
mov dword [esp], edi
call fcn.0042c330
sub esp, 0x10
call fcn.0042d6e0
mov dword [esp], 0x4e3e08
call fcn.0042d9f0
sub esp, 4
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x94]
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
add esi, 1
cmp ebx, esi
jne 0x4132d8
call fcn.0042d690
call fcn.0042d690
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042b8a0
push edx
mov ebx, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
sub ebx, 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042bec0
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x94]
mov dword [esp], eax
call fcn.0042d960
push ecx
push ecx
jmp 0x41344c
call fcn.0042d690
call fcn.0042d690
mov dword [esp], esi
call fcn.0042d4f0
push ebx
mov ebx, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp], ebx
sar ebx, 0x1f
mov dword [esp + 4], ebx
call fcn.0042baf0
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x94]
mov dword [esp], eax
call fcn.0042d960
push eax
push eax
mov dword [esp], esi
call fcn.0042d240
push eax
call fcn.0042d690
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042d9f0
push eax
call fcn.0042d7e0
jmp 0x413ca5
xor ecx, ecx
mov dword [esp + 8], ecx
mov dword [esp + 4], ecx
mov dword [esp], esi
call sub.KERNEL32.dll_ExpandEnvironmentStringsW
sub esp, 0xc
test eax, eax
jle case.0x4131c6.3
add eax, 1
lea edi, [eax + eax]
mov dword [esp], edi
call fcn.0042d190
push edx
mov ebx, eax
test eax, eax
je case.0x4131c6.3
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.KERNEL32.dll_ExpandEnvironmentStringsW
sub esp, 0xc
test eax, eax
jne 0x4134bb
mov dword [esp], ebx
call fcn.0042d240
push eax
jmp case.0x4131c6.3
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.0042d1d0
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x94]
mov dword [esp], eax
call fcn.0042d960
push eax
push eax
jmp 0x4134b0
call fcn.0042d690
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042d9f0
push eax
mov dword [esp], 0x4e4038
call fcn.0042d9f0
push eax
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x94]
mov dword [esp], eax
call fcn.0042d960
push edi
push edi
add ebx, 2
mov eax, dword [esp + 0x74]
cmp eax, ebx
jle 0x4135d4
call fcn.0042d690
call fcn.0042d690
lea edi, [ebx + esi]
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0042d1d0
sub esp, 0xc
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], 0x4ef264
call fcn.0042da80
test eax, eax
jne 0x4134f9
call fcn.0042d690
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042d9f0
push eax
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0042d1d0
sub esp, 0xc
call fcn.0042d6e0
jmp 0x41351b
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042be40
sub esp, 0xc
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], 0x4e4038
call fcn.0042da80
test eax, eax
je case.0x4131c6.3
call fcn.0042d690
call fcn.0042d690
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042b8a0
push ebx
mov ebx, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
sub ebx, 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042bec0
sub esp, 0xc
jmp 0x413429
call fcn.0042d690
call fcn.0042d690
mov dword [esp], esi
call fcn.0042d500
push ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
call fcn.0042d6e0
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.0042baf0
sub esp, 0xc
jmp 0x413429
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0042d260
push eax
push eax
jmp 0x413429
call fcn.0042d690
call fcn.0042d690
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0042b8a0
sub esp, 4
mov ebx, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
sub ebx, 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0042be40
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
jmp 0x413daa
call fcn.0042d690
call fcn.0042d690
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0042b8a0
sub esp, 4
mov ebx, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
sub ebx, 1
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0042bec0
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
jmp 0x413df9
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x6c]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov edx, dword [esp + 0x94]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.ADVAPI32.dll_RegQueryValueExW
sub esp, 0x18
mov ebx, eax
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call sub.ADVAPI32.dll_RegCloseKey
sub esp, 4
test ebx, ebx
jne 0x413e37
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
test ebx, ebx
je 0x413e5b
call fcn.0042d690
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
call fcn.0042d6e0
mov dword [esp + 4], eax
mov eax, dword [0x4ef260]
add eax, 0x20
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
mov dword [esp], ebp
call fcn.004232b0
sub esp, 4
test eax, eax
jne 0x413f1a
mov eax, dword [0x4ef25c]
mov dword [esp], eax
call fcn.00427667
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00423540
sub esp, 8
call fcn.0042d6e0
mov dword [esp + 4], eax
mov eax, dword [0x4ef260]
add eax, 8
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef260]
mov ebx, dword [eax + 8]
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.0042bec0
sub esp, 0xc
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], 0x4e3b94
call fcn.0042da80
test eax, eax
je 0x412f10
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef260]
mov ebx, dword [eax + 8]
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.0042be40
sub esp, 0xc
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], 0x4e3b8c
call fcn.0042da80
test eax, eax
je 0x412f60
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00423540
sub esp, 8
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x58]
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
mov dword [esp + 0x64], 0
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
lea eax, [esp + 0x64]
mov dword [esp], eax
call fcn.0042d860
sub esp, 8
mov dword [esp + 4], str.HKEY_CURRENT_USER
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.0042da80
test eax, eax
je 0x412fb0
mov eax, dword [0x4ef260]
mov dword [eax + 0xc], 0x80000001
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00423540
sub esp, 8
call fcn.0042d6e0
mov dword [esp + 4], eax
mov eax, dword [0x4ef260]
add eax, 0x14
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00423540
sub esp, 8
call fcn.0042d6e0
mov dword [esp + 4], eax
mov eax, dword [0x4ef260]
add eax, 0x18
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00423540
sub esp, 8
call fcn.0042d7e0
mov ebx, eax
mov esi, dword [0x4ef050]
mov edi, dword [0x4ef054]
mov edx, dword [0x4ef0c4]
mov dword [esp + 0x30], edx
mov ecx, dword [0x4ef08c]
mov dword [esp + 0x2c], ecx
call fcn.0042d6e0
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0x4ef264
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00405e30
sub esp, 0x1c
call fcn.0042d6e0
mov dword [esp + 4], eax
mov eax, dword [0x4ef260]
add eax, 0x1c
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
call fcn.0042d690
mov eax, dword [0x4ef260]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x5c]
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
mov eax, dword [0x4ef260]
mov dword [esp + 0x2c], eax
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef260]
mov esi, dword [eax + 0xc]
mov ebx, dword [eax + 0x14]
mov edi, dword [eax + 0x18]
call fcn.0042d6e0
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], edi
mov dword [esp], eax
call fcn.0042d5b0
sub esp, 4
call fcn.0042d630
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov edi, dword [esp + 0x38]
mov dword [esp], edi
call fcn.0042d860
sub esp, 8
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.0042d860
sub esp, 8
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x78], 0
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.0042bec0
sub esp, 0xc
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], 0x4e3b90
call fcn.0042da80
test eax, eax
jne 0x413070
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.0042be40
sub esp, 0xc
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], 0x4e3b90
call fcn.0042da80
test eax, eax
jne 0x4130c8
lea eax, [esp + 0x70]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x20019
mov dword [esp + 8], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.ADVAPI32.dll_RegOpenKeyExW
sub esp, 0x14
test eax, eax
mov eax, dword [esp + 0x70]
je 0x413120
test eax, eax
je 0x413c8c
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call sub.ADVAPI32.dll_RegCloseKey
sub esp, 4
call fcn.0042d690
mov dword [esp], 0x4ef264
call fcn.0042d9f0
sub esp, 4
call fcn.0042d7e0
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x60]
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
mov eax, dword [0x4ef260]
mov esi, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x80], eax
mov dword [esp + 0x94], edx
call fcn.0042d630
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.0042d860
sub esp, 8
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
lea eax, [esp + 0x94]
mov dword [esp], eax
call fcn.0042d860
sub esp, 8
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0042bec0
sub esp, 0xc
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], 0x4e3b90
call fcn.0042da80
test eax, eax
jne 0x4136d0
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0042be40
sub esp, 0xc
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], 0x4e3b90
call fcn.0042da80
test eax, eax
jne 0x413730
lea eax, [esp + 0x68]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x20019
mov dword [esp + 8], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.ADVAPI32.dll_RegOpenKeyExW
sub esp, 0x14
test eax, eax
mov eax, dword [esp + 0x68]
je 0x413790
test eax, eax
jne 0x413e70
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
mov eax, dword [0x4ef25c]
mov dword [esp], eax
call fcn.0042761e
sub esp, 4
jmp 0x413edd
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call sub.ADVAPI32.dll_RegCloseKey
sub esp, 4
jmp 0x413e37
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef260]
mov ebx, dword [eax + 8]
mov esi, dword [eax + 0x20]
call fcn.0042d6e0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0042b360
sub esp, 0x14
call fcn.0042d6e0
mov dword [esp + 4], eax
lea eax, [esp + 0x5c]
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
mov eax, dword [0x4ef25c]
mov dword [esp], eax
call fcn.00427633
sub esp, 4
test eax, eax
jne 0x413e88
mov edi, dword [esp + 0x2c]
add edi, 8
mov dword [esp + 4], edi
mov eax, dword [0x4ef25c]
mov dword [esp], eax
call fcn.004277b6
sub esp, 8
call fcn.0042d690
mov eax, dword [esp + 0x5c]
jmp 0x413818
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004230a0
sub esp, 4
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
call fcn.0040f080
call fcn.0040f2b0
call fcn.0040fd20
call fcn.0042d630
mov dword [0x4ef154], 0
cmp dword [0x4ef124], 1
je 0x413fd3
call fcn.00410340
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
cmp dword [0x4ef0f4], 1
jne 0x416148
xor ecx, ecx
mov dword [0x4ef05c], ecx
call fcn.00408a30
xor ebx, ebx
mov dword [esp + 4], ebx
mov dword [esp], ebx
call fcn.0042180c
push esi
push esi
jmp 0x416148
mov eax, dword [0x4ef04c]
mov dword [esp], eax
call fcn.0042bf30
push edx
mov dword [esp + 0x10], 0x4ef214
mov dword [esp + 0xc], 0x4eba7c
mov dword [esp + 8], 8
add eax, 1
mov dword [esp + 4], eax
mov dword [esp], 4
call fcn.004263af
sub esp, 0x14
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef1a8]
mov dword [esp], eax
call fcn.0042d9f0
push ecx
mov dword [esp], str.Serials.dat
call fcn.0042d9f0
push ebx
call fcn.0042dbb0
call fcn.0042d7e0
mov dword [esp + 4], eax
xor esi, esi
mov dword [esp], esi
call fcn.00422fe0
push edi
push edi
mov ebx, eax
call fcn.0042d740
test ebx, ebx
je 0x4140c0
lea esi, [esi]
mov dword [esp], 0
call fcn.004232b0
sub esp, 4
test eax, eax
jne 0x4140ee
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00423540
sub esp, 8
call fcn.0042d6e0
mov dword [esp + 4], eax
mov edx, dword [0x4ef154]
mov eax, dword [0x4ef214]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.0042d960
sub esp, 8
add dword [0x4ef154], 1
jmp 0x414060
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Setup_Error__nCould_not_initialize_setup_configuration_
mov dword [esp], str.Error
call fcn.00417b94
sub esp, 0xc
call fcn.00408410
call fcn.0040f050
xor edi, edi
mov dword [esp], edi
call fcn.004230a0
push eax
jmp 0x413f81
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.0041f5e9
sub esp, 8
jmp 0x416169
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x56
call fcn.0041c751
sub esp, 8
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], 0x4ef264
call fcn.0042da80
mov ebx, eax
test eax, eax
je 0x414180
mov dword [esp + 4], 1
mov dword [esp], 1
call fcn.0041f5e9
sub esp, 8
jmp 0x41617f
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x56
call fcn.0041c751
sub esp, 8
call fcn.0042d7e0
mov esi, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.004260e0
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0bc
call fcn.0042d960
sub esp, 8
mov dword [0x4ef194], 0
lea esi, [esi]
mov dword [0x4ef17c], ebx
mov eax, dword [0x4ef214]
mov dword [esp], eax
call fcn.00426557
sub esp, 4
mov edx, eax
mov eax, dword [0x4ef17c]
cmp eax, edx
jg 0x414248
mov edx, dword [0x4ef0bc]
mov dword [esp + 4], edx
mov edx, dword [0x4ef214]
mov eax, dword [edx + eax*4]
mov dword [esp], eax
call fcn.0042da80
test eax, eax
jne 0x414278
mov eax, dword [0x4ef17c]
lea ebx, [eax + 1]
jmp 0x4141f8
mov eax, dword [0x4ef194]
test eax, eax
jle 0x414162
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.0041f5e9
sub esp, 8
jmp 0x41617f
mov eax, dword [0x4ef194]
add eax, 1
mov dword [0x4ef194], eax
jmp 0x41424d
mov eax, dword [0x4ef174]
mov dword [esp + 0x7c], eax
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.0042d860
sub esp, 8
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], 0x58
call fcn.0041f77e
sub esp, 8
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.0042da50
sub esp, 4
jmp 0x4161b0
call fcn.00424059
test eax, eax
jne 0x4161b0
call fcn.00420225
mov dword [0x4ef1ec], eax
cmp eax, 0x3c
je 0x414312
cmp eax, 1
je 0x414312
cmp eax, 0x26
je 0x414312
jg 0x414380
cmp eax, 2
je 0x414312
cmp eax, 0x1e
jne 0x4161b0
mov dword [esp], eax
call fcn.0041f5cd
sub esp, 4
mov dword [esp], eax
call sub.USER32.dll_IsWindowEnabled
sub esp, 4
cmp eax, 1
jne 0x4161b0
mov eax, dword [0x4ef1ec]
mov dword [esp], eax
call fcn.0041f5cd
sub esp, 4
mov dword [esp], eax
call sub.USER32.dll_IsWindowVisible
sub esp, 4
cmp eax, 1
jne 0x4161b0
mov dword [esp + 0xc], 0x3338
mov eax, dword [0x4ef1ec]
mov dword [esp + 8], eax
xor edx, edx
mov dword [esp + 4], edx
mov dword [esp], 0x332c
call fcn.00423fb7
sub esp, 0x10
jmp 0x4161b0
lea edx, [eax - 0x47]
and edx, 0xfffffffd
jne 0x4161b0
jmp 0x414312
call fcn.00424068
cmp eax, 0x47
je 0x4143e0
cmp eax, 0x49
jne 0x4161b0
mov dword [esp + 8], 0x21
mov eax, dword [0x4ef218]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], eax
mov dword [esp], str.Setup
call fcn.00417b94
sub esp, 0xc
cmp eax, 1
jne 0x4161b0
call fcn.00408410
call fcn.0040f050
call fcn.0042d690
call fcn.0042d690
mov dword [esp], 0x45
call fcn.0041f7c9
sub esp, 4
mov ebx, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0x45
call fcn.0042039c
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef098
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef1a8]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov eax, dword [0x4ef098]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov dword [esp], str..ifl
call fcn.0042d9f0
sub esp, 4
call fcn.0042d7e0
mov dword [esp], eax
call fcn.00418ae5
sub esp, 4
mov ebx, eax
call fcn.0042d740
test ebx, ebx
jne 0x4144ab
mov dword [esp + 8], 0x10
mov eax, dword [0x4ef218]
mov eax, dword [eax + 0x14]
mov dword [esp + 4], eax
mov dword [esp], str.Error
call fcn.00417b94
sub esp, 0xc
jmp 0x4161b0
call fcn.0042d690
mov eax, dword [0x4ef1a8]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov eax, dword [0x4ef098]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov dword [esp], str..ifl
call fcn.0042d9f0
sub esp, 4
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef09c
call fcn.0042d960
sub esp, 8
mov dword [esp], str.Main
call fcn.00418b23
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Title
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0c8
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
mov ebx, dword [0x4ef0c8]
mov esi, dword [0x4ef050]
call fcn.0042d6e0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], esi
mov dword [esp + 4], str._appname_
mov dword [esp], ebx
call fcn.0042b360
sub esp, 0x14
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0c8
call fcn.0042d960
sub esp, 8
mov dword [esp], str.Gadgets
call fcn.00418b23
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.NextBtn
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0b4
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.CancelBtn
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef148
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.BackBtn
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef118
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.FinishBtn
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef1e4
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.BrowseBtn
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef150
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.AcceptOptn
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef188
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.DoNotAcceptOptn
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0a8
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.CreateStartMenuFolderCbx
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef14c
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.CreateDesktopIconCbx
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0cc
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.LaunchProgramCbx
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef080
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.RebootCbx
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0d4
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.DestinationFolderFR3
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef078
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.SelAppFolder
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef168
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.SelStartMenuFolder
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef164
call fcn.0042d960
sub esp, 8
mov dword [esp], 0x4e21a0
call fcn.00418b23
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.ExitSetupH
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef090
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.ExitSetup
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0d8
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.CouldNotExtractFileH
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef1e0
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.CouldNotExtractFile
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef1c4
call fcn.0042d960
sub esp, 8
mov dword [esp], str.Start
call fcn.00418b23
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Title
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef07c
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef1b4
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
mov ebx, dword [0x4ef07c]
mov esi, dword [0x4ef050]
call fcn.0042d6e0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], esi
mov dword [esp + 4], str._appname_
mov dword [esp], ebx
call fcn.0042b360
sub esp, 0x14
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef07c
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
mov ebx, dword [0x4ef1b4]
mov esi, dword [0x4ef050]
call fcn.0042d6e0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], esi
mov dword [esp + 4], str._appname_
mov dword [esp], ebx
call fcn.0042b360
sub esp, 0x14
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef1b4
call fcn.0042d960
sub esp, 8
mov dword [esp], str.LicenceAgreement
call fcn.00418b23
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.HeadT
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef12c
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.HeadB
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef134
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text1
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef10c
call fcn.0042d960
sub esp, 8
mov dword [esp], str.ApplicationFolder
call fcn.00418b23
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.HeadT
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef084
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.HeadB
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef094
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text1
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef06c
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text2
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef068
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text3
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef064
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text4
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef060
call fcn.0042d960
sub esp, 8
mov dword [esp], str.StartMenuFolder
call fcn.00418b23
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.HeadT
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0dc
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.HeadB
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0ec
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text1
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0b0
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text2
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0ac
call fcn.0042d960
sub esp, 8
mov dword [esp], str.AdditionalTasks
call fcn.00418b23
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.HeadT
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef108
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.HeadB
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef114
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text1
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0e8
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text2
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0e4
call fcn.0042d960
sub esp, 8
mov dword [esp], str.Installing
call fcn.00418b23
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.HeadT
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef178
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.HeadB
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef184
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text1
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef160
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text2
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef15c
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text3
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef158
call fcn.0042d960
sub esp, 8
mov dword [esp], str.Finish
call fcn.00418b23
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Title
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0a4
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text1
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef058
call fcn.0042d960
sub esp, 8
mov dword [esp], str.SerialCheck
call fcn.00418b23
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.HeadT
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef1bc
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.HeadB
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef1c0
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text1
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef1a0
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text2
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef19c
call fcn.0042d960
sub esp, 8
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4ef264
mov dword [esp], str.Text3
call fcn.00418c17
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef198
call fcn.0042d960
sub esp, 8
call fcn.00418de4
mov dword [esp + 4], 1
mov dword [esp], 1
call fcn.0042180c
sub esp, 8
mov dword [0x4ef05c], 0
call fcn.00408a30
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0042180c
sub esp, 8
lea esi, [esi]
mov dword [esp], 1
call fcn.0041ce42
sub esp, 4
jmp 0x4161b0
mov dword [esp], 0x14
call fcn.0041f7c9
sub esp, 4
cmp eax, 1
je 0x4161c7
mov dword [esp + 4], 1
mov dword [esp], 1
call fcn.0041f5e9
sub esp, 8
mov eax, dword [0x4ef05c]
jmp 0x4161e3
mov dword [esp + 4], 1
mov dword [esp], 1
call fcn.0041f5e9
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x3c
call fcn.0041f5e9
sub esp, 8
mov eax, dword [0x4ef05c]
jmp 0x4161ec
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.0041f5e9
sub esp, 8
jmp 0x4161f4
call fcn.00424068
cmp eax, 0x1e
je 0x4154c0
cmp eax, 0x26
je 0x415670
cmp eax, 0x3c
je 0x4157e0
cmp eax, 1
je 0x415a70
cmp eax, 2
je 0x4160d8
mov eax, dword [0x4ef0e0]
jmp 0x416204
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], str.ProgramFiles
call fcn.00417f29
sub esp, 8
call fcn.0042dbb0
mov esi, dword [0x4ef168]
call fcn.0042d7e0
mov ebx, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00417c42
sub esp, 0xc
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0d0
call fcn.0042d960
sub esp, 8
mov eax, dword [0x4ef0d0]
mov dword [esp + 4], eax
mov dword [esp], 0x4ef264
call fcn.0042da80
test eax, eax
jne 0x4154ae
mov eax, dword [0x4ef0c4]
mov dword [esp + 4], eax
mov dword [esp], 0x4ef264
call fcn.0042da80
test eax, eax
jne 0x415650
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef0d0]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov eax, dword [0x4ef0c4]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov dword [esp], 0x4e3b90
call fcn.0042d9f0
sub esp, 4
mov eax, dword [0x4ef050]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
call fcn.0042dbb0
call fcn.0042d7e0
mov dword [esp + 4], eax
mov dword [esp], 0x1d
call fcn.0041f77e
sub esp, 8
call fcn.0042d740
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef060]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov dword [esp], 0x4e3f00
call fcn.0042d9f0
sub esp, 4
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov eax, dword [0x4ef0d0]
mov dword [esp], eax
call fcn.00408030
sub esp, 8
call fcn.0042d6e0
call fcn.0042dbb0
call fcn.0042d7e0
mov dword [esp + 4], eax
mov dword [esp], 0x20
call fcn.0041f77e
sub esp, 8
call fcn.0042d740
mov eax, dword [0x4ef0e0]
jmp 0x416204
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef0d0]
mov dword [esp], eax
jmp 0x415599
call fcn.0042d690
call fcn.0042d690
mov ebx, dword [0x4ef164]
mov esi, dword [0x4ef1d8]
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00408270
sub esp, 0xc
mov dword [esp], 0x4e3b90
call fcn.0042d9f0
sub esp, 4
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef0d0
call fcn.0042d960
sub esp, 8
mov eax, dword [0x4ef0d0]
mov dword [esp + 4], eax
mov dword [esp], 0x4ef264
call fcn.0042da80
test eax, eax
jne 0x4154ae
mov eax, dword [0x4ef0c4]
mov dword [esp + 4], eax
mov dword [esp], 0x4ef264
call fcn.0042da80
test eax, eax
jne 0x41579b
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef1d4]
mov dword [esp], eax
call fcn.0042b8a0
sub esp, 4
mov ebx, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
add ebx, 2
mov dword [esp + 4], ebx
mov eax, dword [0x4ef0d0]
mov dword [esp], eax
call fcn.0042b960
sub esp, 0xc
mov eax, dword [0x4ef0c4]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
mov dword [esp], 0x4e3b90
call fcn.0042d9f0
sub esp, 4
mov eax, dword [0x4ef050]
mov dword [esp], eax
call fcn.0042d9f0
sub esp, 4
call fcn.0042dbb0
call fcn.0042d7e0
mov dword [esp + 4], eax
mov dword [esp], 0x25
call fcn.0041f77e
sub esp, 8
call fcn.0042d740
mov eax, dword [0x4ef0e0]
jmp 0x416204
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
mov eax, dword [0x4ef1d4]
mov dword [esp], eax
call fcn.0042b8a0
sub esp, 4
mov ebx, eax
call fcn.0042d6e0
mov dword [esp + 8], eax
add ebx, 2
mov dword [esp + 4], ebx
mov eax, dword [0x4ef0d0]
mov dword [esp], eax
call fcn.0042b960
sub esp, 0xc
jmp 0x41575f
mov dword [esp + 4], 1
mov dword [esp], 3
call fcn.0041ce7d
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0xa
call fcn.0041ce7d
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x1a
call fcn.0041ce7d
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x2a
call fcn.0041ce7d
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x2c
call fcn.0041ce7d
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x34
call fcn.0041ce7d
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x4b
call fcn.0041ce7d
sub esp, 8
mov edx, dword [0x4ef05c]
cmp edx, 1
je 0x415960
cmp edx, 2
je 0x4159c0
cmp edx, 3
je 0x4159d1
cmp edx, 4
je 0x4159f2
cmp edx, 5
jne 0x41596c
mov dword [0x4ef05c], 4
mov eax, dword [0x4ef1d0]
or eax, dword [0x4ef1dc]
jne 0x415a13
mov dword [0x4ef05c], 3
cmp dword [0x4ef11c], 0
jne 0x415dfa
mov dword [0x4ef05c], 2
mov eax, dword [0x4ef124]
test eax, eax
jne 0x415a4f
mov dword [0x4ef05c], 1
mov eax, dword [0x4ef0f0]
test eax, eax
jne 0x415a2e
mov dword [0x4ef05c], 0
mov dword [esp + 4], 0
mov dword [esp], 3
call fcn.0041ce7d
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x3c
call fcn.0041ce7d
sub esp, 8
mov eax, dword [0x4ef0e0]
jmp 0x416204
mov dword [0x4ef05c], 0
xor edx, edx
mov eax, dword [0x4ef0f0]
test eax, eax
jne 0x415a1d
cmp edx, 1
je 0x415914
test edx, edx
je 0x41591e
cmp edx, 2
je 0x415a4f
cmp edx, 3
je 0x415dfa
mov eax, dword [0x4ef0e0]
cmp edx, 4
jne 0x416204
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], 0x2c
call fcn.0041ce7d
push eax
push eax
mov eax, dword [0x4ef0e0]
jmp 0x416204
mov dword [0x4ef05c], 1
mov edx, 1
jmp 0x41596c
mov dword [0x4ef05c], 2
cmp dword [0x4ef124], 0
je 0x4158fd
mov edx, 2
jmp 0x41596c
mov dword [0x4ef05c], 3
cmp dword [0x4ef11c], 0
je 0x4158e6
mov edx, 3
jmp 0x41596c
mov edx, 4
jmp 0x41596c
test edx, edx
je 0x41591e
cmp edx, 1
jne 0x415982
mov dword [esp + 4], 0
mov dword [esp], 0xa
call fcn.0041ce7d
sub esp, 8
mov eax, dword [0x4ef0e0]
jmp 0x416204
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], 0x4b
call fcn.0041ce7d
push eax
push eax
mov eax, dword [0x4ef0e0]
jmp 0x416204
cmp dword [0x4ef05c], 7
jne 0x415ae0
mov eax, dword [0x4ef16c]
cmp eax, 1
je 0x415e36
cmp eax, 2
je 0x415f24
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.0042180c
sub esp, 8
call fcn.00408410
call fcn.0040b830
mov eax, dword [0x4ef22c]
mov dword [esp], eax
call sub.KERNEL32.dll_HeapDestroy
sub esp, 4
mov eax, dword [0x4ef230]
mov dword [esp], eax
call sub.KERNEL32.dll_ExitProcess
mov dword [esp + 4], 1
mov dword [esp], 3
call fcn.0041ce7d
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0xa
call fcn.0041ce7d
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x1a
call fcn.0041ce7d
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x2a
call fcn.0041ce7d
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x2c
call fcn.0041ce7d
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x34
call fcn.0041ce7d
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x4b
call fcn.0041ce7d
sub esp, 8
mov eax, dword [0x4ef05c]
test eax, eax
je 0x415bcb
cmp eax, 1
je 0x415ca2
cmp eax, 2
je 0x415d48
cmp eax, 3
je 0x415d5c
cmp eax, 4
je 0x415d70
cmp eax, 5
jne 0x415cb1
mov dword [0x4ef05c], 6
mov eax, 6
jmp 0x415cb1
mov dword [0x4ef05c], 1
mov dword [esp + 4], 0
mov dword [esp], 0x3c
call fcn.0041ce7d
sub esp, 8
mov edi, dword [0x4ef0f0]
test edi, edi
jne 0x415d84
mov eax, dword [0x4ef124]
cmp dword [0x4ef05c], 1
jne 0x415d84
mov dword [0x4ef05c], 2
test eax, eax
jne 0x415dc6
mov dword [0x4ef05c], 3
mov esi, dword [0x4ef11c]
mov ecx, dword [0x4ef0c0]
mov edx, 3
test esi, esi
jne 0x41625e
mov dword [0x4ef05c], 4
mov ecx, dword [0x4ef0c0]
mov eax, dword [0x4ef1d0]
or eax, dword [0x4ef1dc]
jne 0x416259
mov dword [0x4ef05c], 5
test ecx, ecx
je 0x415d07
mov dword [esp], 0x3d
call fcn.0041f7c9
push edi
mov edx, dword [0x4ef05c]
test eax, eax
jne 0x415d97
mov eax, dword [0x4ef05c]
lea edx, [eax + 1]
mov dword [0x4ef05c], edx
jmp 0x415d97
mov dword [0x4ef05c], 2
mov eax, 2
mov edx, eax
mov ebx, dword [0x4ef124]
test ebx, ebx
jne 0x415cc6
cmp eax, 2
je 0x415c1e
mov ecx, dword [0x4ef11c]
test ecx, ecx
jne 0x415cd9
cmp eax, 3
je 0x415c41
mov ecx, dword [0x4ef0c0]
mov ebx, dword [0x4ef1d0]
or ebx, dword [0x4ef1dc]
jne 0x415cf6
cmp eax, 4
je 0x415c62
test ecx, ecx
jne 0x415d8e
cmp eax, 5
jne 0x415d97
mov dword [0x4ef05c], 6
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [esp], 0x34
call fcn.0041ce7d
push ebx
push ebx
xor esi, esi
mov dword [esp + 4], esi
mov dword [esp], 0x40b890
call fcn.00416d2e
push edi
push edi
mov dword [0x4ef1f4], eax
mov eax, dword [0x4ef0e0]
jmp 0x416204
mov dword [0x4ef05c], 3
mov eax, 3
jmp 0x415cb1
mov dword [0x4ef05c], 4
mov eax, 4
jmp 0x415cb1
mov dword [0x4ef05c], 5
mov eax, 5
jmp 0x415cb1
mov eax, dword [0x4ef05c]
jmp 0x415cb1
cmp eax, 5
je 0x415c74
cmp edx, 1
je 0x415a2e
cmp edx, 2
je 0x415dc6
cmp edx, 3
je 0x415dfa
cmp edx, 4
je 0x4159a2
cmp edx, 5
je 0x415e18
cmp edx, 6
jne 0x4154ae
jmp 0x415d11
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [esp], 0x4b
call fcn.0041ce7d
push ebx
push ebx
mov dword [esp + 4], 1
mov dword [esp], 1
call fcn.0041f5e9
push esi
push esi
mov eax, dword [0x4ef0e0]
jmp 0x416204
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], 0x1a
call fcn.0041ce7d
push edx
push edx
mov eax, dword [0x4ef0e0]
jmp 0x416204
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], 0x2a
call fcn.0041ce7d
push eax
push eax
mov eax, dword [0x4ef0e0]
jmp 0x416204
mov dword [esp], 0x44
call fcn.0041f7c9
push edx
sub eax, 1
jne 0x415a90
call fcn.0042d630
mov ecx, 4
xor eax, eax
lea edi, [esp + 0x94]
rep stosd dword es:[edi], eax
xor eax, eax
mov dword [esp + 0x80], eax
call sub.KERNEL32.dll_GetCurrentProcess
lea ecx, [esp + 0x80]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x28
mov dword [esp], eax
call sub.ADVAPI32.dll_OpenProcessToken
sub esp, 0xc
test eax, eax
je 0x415a90
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
mov dword [esp + 4], str.SeShutdownPrivilege
xor ebx, ebx
mov dword [esp], ebx
call sub.ADVAPI32.dll_LookupPrivilegeValueW
sub esp, 0xc
mov dword [esp + 0x94], 1
mov dword [esp + 0xa0], 2
mov eax, dword [esp + 0x80]
xor esi, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], esi
lea ecx, [esp + 0x94]
mov dword [esp + 8], ecx
xor edi, edi
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.ADVAPI32.dll_AdjustTokenPrivileges
sub esp, 0x18
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x415a90
mov dword [esp + 4], 0x80040002
mov dword [esp], 2
call sub.USER32.dll_ExitWindowsEx
push ecx
push ecx
jmp 0x415a90
mov dword [esp], 0x44
call fcn.0041f7c9
push edx
sub eax, 1
jne 0x415a90
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x1d
call fcn.0041c751
push eax
push eax
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef1ac
call fcn.0042d960
push eax
push eax
call fcn.0042d690
call fcn.0042d690
call fcn.0042d6e0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [0x4ef1ac]
mov dword [esp], eax
call fcn.0042be40
sub esp, 0xc
call fcn.0042dbb0
call fcn.0042d790
mov dword [esp + 4], eax
mov dword [esp], 0x4e3b90
call fcn.0042da80
test eax, eax
je 0x416096
call fcn.0042d690
call fcn.0042d690
mov ebx, dword [0x4ef120]
mov esi, dword [0x4ef050]
mov edi, dword [0x4ef054]
mov edx, dword [0x4ef0c4]
mov dword [esp + 0x30], edx
mov ecx, dword [0x4ef08c]
mov dword [esp + 0x2c], ecx
call fcn.0042d6e0
mov dword [esp + 0x18], eax
mov eax, dword [0x4ef1ac]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00405e30
sub esp, 0x1c
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef120
call fcn.0042d960
push esi
push esi
call fcn.0042d690
call fcn.0042d690
call fcn.0042d690
mov ebx, dword [0x4ef120]
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00422a19
push edi
push edi
call fcn.0042dbb0
mov ebx, dword [0x4ef120]
mov esi, dword [0x4ef170]
call fcn.0042d7e0
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00417fc6
sub esp, 0xc
call fcn.0042d740
jmp 0x415a90
call fcn.0042d690
mov eax, dword [0x4ef1ac]
mov dword [esp], eax
call fcn.0042d9f0
push eax
mov dword [esp], 0x4e3b90
call fcn.0042d9f0
push eax
call fcn.0042d6e0
mov dword [esp + 4], eax
mov dword [esp], 0x4ef1ac
call fcn.0042d960
push eax
push eax
jmp 0x415fbf
mov dword [esp + 8], 0x21
mov eax, dword [0x4ef0d8]
mov dword [esp + 4], eax
mov eax, dword [0x4ef090]
mov dword [esp], eax
call fcn.00417b94
sub esp, 0xc
cmp eax, 1
jne 0x4154ae
call fcn.00408410
call fcn.0040f050
call fcn.00408410
call fcn.0040b830
mov eax, dword [0x4ef22c]
mov dword [esp], eax
call sub.KERNEL32.dll_HeapDestroy
sub esp, 4
mov eax, dword [0x4ef230]
mov dword [esp], eax
call sub.KERNEL32.dll_ExitProcess
call fcn.00421978
mov dword [0x4ef0e0], eax
call fcn.00424077
mov dword [0x4ef1cc], eax
cmp dword [0x4ef05c], 7
je 0x414100
cmp dword [0x4ef124], 1
jne 0x41617f
cmp dword [0x4ef05c], 2
je 0x414120
mov eax, dword [0x4ef0e0]
cmp eax, 0x10000
je 0x414290
cmp eax, 0x10001
je 0x4153c8
cmp eax, 0x332d
je 0x4142d8
cmp eax, 0x332c
je 0x414390
mov eax, dword [0x4ef05c]
cmp eax, 1
jne 0x4161e3
cmp dword [0x4ef0f0], 1
je 0x4153e0
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.0041f5e9
sub esp, 8
mov eax, dword [0x4ef05c]
cmp eax, 6
je 0x415420
test eax, eax
je 0x415460
mov eax, dword [0x4ef0e0]
cmp eax, 0x332c
je 0x415480
cmp eax, 0x333c
jne 0x416148
mov ebx, dword [0x4ef1cc]
test ebx, ebx
jne 0x416148
cmp dword [0x4ef05c], 7
je 0x416118
mov dword [esp + 8], 0x21
mov eax, dword [0x4ef0d8]
mov dword [esp + 4], eax
mov eax, dword [0x4ef090]
mov dword [esp], eax
call fcn.00417b94
sub esp, 0xc
cmp eax, 1
jne 0x416148
jmp 0x416118
mov edx, 4
test ecx, ecx
jne 0x415da0
jmp 0x415d97