Function at 0x401000
Capabilities:
Allocate thread local storage

Disassembly:
push 0x234
push 0
push 0x4c4fd4
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0
call sub.KERNEL32.dll_GetModuleHandleW
mov dword [0x4c4fd8], eax
push 0
push 0x1000
push 0
call sub.KERNEL32.dll_HeapCreate
mov dword [0x4c4fd4], eax
mov eax, 0x4ba060
mov dword [0x4c5050], eax
call fcn.004298f0
call fcn.00428d10
call fcn.00428800
call fcn.004272d0
call fcn.00425404
call fcn.00424b90
call fcn.0042416d
call fcn.00423022
call fcn.004223a0
call fcn.00422103
call fcn.00421e16
call fcn.00420468
call fcn.0041fdbe
call fcn.0041f77d
call fcn.0041e580
call fcn.0041ca41
call fcn.0041837a
call fcn.00416a3a
call fcn.00416895
call fcn.00416529
call fcn.0041423a
call fcn.00413aaf
call fcn.004136db
call fcn.00412b50
mov eax, str.Advapi32.dll
push eax
push 0xffffffff
call fcn.00416908
mov dword [0x4c4ffc], eax
cmp dword [0x4c4ffc], 0
je 0x40114d
mov eax, str.RegDeleteKeyExW
push eax
push dword [0x4c4ffc]
call fcn.00416962
mov dword [0x4c5000], eax
mov eax, 0x4b7a5a
push eax
push dword [0x4c4ffc]
call fcn.00416962
mov dword [0x4c4ff0], eax
mov eax, str.RegDeleteTreeW
push eax
push dword [0x4c4ffc]
call fcn.00416962
mov dword [0x4c4ff8], eax
mov eax, 0x4b899a
push eax
push dword [0x4c4ffc]
call fcn.00416962
mov dword [0x4c4fec], eax
mov eax, str.RegCopyTreeW
push eax
push dword [0x4c4ffc]
call fcn.00416962
mov dword [0x4c4ff4], eax
push dword [0x4c51d8]
call fcn.004230d3
push 7
push 0x4ba018
lea eax, [0x4c51d8]
push eax
push 0x1c
call fcn.00423041
push dword [0x4c51e0]
call fcn.004230d3
push 8
push 0x4b9ffc
lea eax, [0x4c51e0]
push eax
push 4
call fcn.00423041
mov dword [0x4c505c], 0
push 0x4c51c8
push 0x4b9ffc
push 8
push 6
push 4
call fcn.00421e3f
push dword [0x4c51e8]
call fcn.004230d3
push 7
push 0x4ba038
lea eax, [0x4c51e8]
push eax
push 0x10
call fcn.00423041
mov dword [0x4c51a4], 0xffffffff
push dword [0x4c51f0]
call fcn.004230d3
push 7
push 0x4ba058
lea eax, [0x4c51f0]
push eax
push 4
call fcn.00423041
push dword [0x4c51f8]
call fcn.004230d3
push 7
push 0x4ba030
lea eax, [0x4c51f8]
push eax
push 4
call fcn.00423041
push dword [0x4c5200]
call fcn.004230d3
push 7
push 0x4ba048
lea eax, [0x4c5200]
push eax
push 0xc
call fcn.00423041
call fcn.0040ebc0
mov ebx, dword [0x4c510c]
cmp ebx, 1
jne 0x401291
mov dword [0x4c51a4], 0
call fcn.0040f2a6
push 0
push 0
call fcn.0041cb5e
call fcn.0041cc9b
mov dword [0x4c5120], eax
call fcn.0041f897
mov dword [0x4c5030], eax
mov ebx, dword [0x4c51a4]
cmp ebx, 7
jne 0x4012bf
push 0
push 1
call fcn.00418420
mov ebx, dword [0x4c50dc]
cmp ebx, 1
jne 0x4012dc
mov ebx, dword [0x4c51a4]
cmp ebx, 2
jne 0x4012dc
mov eax, 1
jmp 0x4012de
xor eax, eax
and eax, eax
je 0x4013f7
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push 0x56
call fcn.0041844b
call fcn.00429980
mov edx, 0x4b7024
call fcn.00412300
mov ecx, eax
call fcn.00412310
jne 0x4013e8
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push 1
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push 0x56
call fcn.0041844b
call fcn.00412362
add dword [esp], edx
call fcn.004216f0
push 0x4c5144
call fcn.004299b0
mov dword [0x4c506c], 0
mov dword [0x4c5084], 0
jmp 0x401378
push dword [0x4c51d0]
call fcn.00421fe7
cmp eax, dword [0x4c5084]
jl 0x4013bc
push dword [0x4c5144]
mov ebx, dword [0x4c5084]
mov ebp, dword [0x4c51d0]
shl ebx, 2
mov edx, dword [ebp + ebx]
pop ecx
call fcn.00412310
je 0x4013b4
inc dword [0x4c506c]
jmp 0x4013bc
inc dword [0x4c5084]
jno 0x401378
mov ebx, dword [0x4c506c]
and ebx, ebx
jle 0x4013d7
push 0
push 1
call fcn.00418420
jmp 0x4013e6
push 1
push 1
call fcn.00418420
jmp 0x4013f7
push 1
push 1
call fcn.00418420
mov ebx, dword [0x4c5120]
cmp ebx, 0x10000
jne 0x401415
push dword [0x4c508c]
call fcn.0040d1a3
jmp 0x401fec
mov ebx, dword [0x4c5120]
cmp ebx, 0x10001
jne 0x401432
push 1
call fcn.004184b3
jmp 0x401fec
mov ebx, dword [0x4c5120]
cmp ebx, 0x332d
jne 0x401506
call fcn.0041f8a6
mov ebx, eax
and ebx, ebx
jne 0x401501
call fcn.004184ee
mov dword [0x4c5010], eax
push dword [0x4c5010]
mov ebx, 0x3c
cmp ebx, dword [esp]
je 0x4014a9
mov ebx, 1
cmp ebx, dword [esp]
je 0x4014a9
mov ebx, 2
cmp ebx, dword [esp]
je 0x4014a9
mov ebx, 0x1e
cmp ebx, dword [esp]
je 0x4014a9
mov ebx, 0x26
cmp ebx, dword [esp]
je 0x4014a9
mov ebx, 0x47
cmp ebx, dword [esp]
je 0x4014a9
mov ebx, 0x49
cmp ebx, dword [esp]
jne 0x401500
push dword [0x4c5010]
call fcn.00418619
push eax
call sub.USER32.DLL_IsWindowEnabled
mov ebx, eax
cmp ebx, 1
jne 0x4014e0
push dword [0x4c5010]
call fcn.00418619
push eax
call sub.USER32.DLL_IsWindowVisible
mov ebx, eax
cmp ebx, 1
jne 0x4014e0
mov eax, 1
jmp 0x4014e2
xor eax, eax
and eax, eax
je 0x401500
push 0x3338
push dword [0x4c5010]
push 0
push 0x332c
call fcn.0041f8b5
pop eax
jmp 0x401fec
mov ebx, dword [0x4c5120]
cmp ebx, 0x332c
jne 0x401fec
call fcn.0041f948
push eax
mov ebx, 0x47
cmp ebx, dword [esp]
jne 0x401fb7
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push 0x45
call fcn.00418635
push eax
push 0x45
call fcn.00418698
push 0x4c5168
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
mov edx, dword [0x4c5058]
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429a40
mov edx, dword [0x4c5168]
push edx
call fcn.00429a40
mov edx, str..ifl
push edx
call fcn.00429a40
call fcn.00412362
add dword [esp], edx
call fcn.00414637
call fcn.00412380
and eax, eax
je 0x401f9c
mov edx, dword [0x4c5058]
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429a40
mov edx, dword [0x4c5168]
push edx
call fcn.00429a40
mov edx, str..ifl
push edx
call fcn.00429a40
push 0x4c5164
call fcn.004299b0
mov eax, str.Main
push eax
call fcn.00414675
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Title
push eax
call fcn.00414769
push 0x4c5138
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push 1
push dword [0x4c51b0]
mov eax, str._appname_
push eax
push dword [0x4c5138]
call fcn.00427580
push 0x4c5138
call fcn.004299b0
mov eax, str.Gadgets
push eax
call fcn.00414675
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.NextBtn
push eax
call fcn.00414769
push 0x4c514c
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.CancelBtn
push eax
call fcn.00414769
push 0x4c50b8
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.BackBtn
push eax
call fcn.00414769
push 0x4c50e8
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.FinishBtn
push eax
call fcn.00414769
push 0x4c5018
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.BrowseBtn
push eax
call fcn.00414769
push 0x4c50b0
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.AcceptOptn
push eax
call fcn.00414769
push 0x4c5078
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.DoNotAcceptOptn
push eax
call fcn.00414769
push 0x4c5158
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.CreateStartMenuFolderCbx
push eax
call fcn.00414769
push 0x4c50b4
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.CreateDesktopIconCbx
push eax
call fcn.00414769
push 0x4c5134
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.LaunchProgramCbx
push eax
call fcn.00414769
push 0x4c5180
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.RebootCbx
push eax
call fcn.00414769
push 0x4c512c
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.DestinationFolderFR3
push eax
call fcn.00414769
push 0x4c5188
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.SelAppFolder
push eax
call fcn.00414769
push 0x4c5098
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.SelStartMenuFolder
push eax
call fcn.00414769
push 0x4c509c
call fcn.004299b0
mov eax, str.Messages
push eax
call fcn.00414675
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.ExitSetupH
push eax
call fcn.00414769
push 0x4c5170
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.ExitSetup
push eax
call fcn.00414769
push 0x4c5128
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.CouldNotExtractFileH
push eax
call fcn.00414769
push 0x4c501c
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.CouldNotExtractFile
push eax
call fcn.00414769
push 0x4c5038
call fcn.004299b0
mov eax, str.Start
push eax
call fcn.00414675
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Title
push eax
call fcn.00414769
push 0x4c5184
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text
push eax
call fcn.00414769
push 0x4c5048
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push 1
push dword [0x4c51b0]
mov eax, str._appname_
push eax
push dword [0x4c5184]
call fcn.00427580
push 0x4c5184
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push 1
push dword [0x4c51b0]
mov eax, str._appname_
push eax
push dword [0x4c5048]
call fcn.00427580
push 0x4c5048
call fcn.004299b0
mov eax, str.LicenceAgreement
push eax
call fcn.00414675
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.HeadT
push eax
call fcn.00414769
push 0x4c50d4
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.HeadB
push eax
call fcn.00414769
push 0x4c50cc
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text1
push eax
call fcn.00414769
push 0x4c50f4
call fcn.004299b0
mov eax, str.ApplicationFolder
push eax
call fcn.00414675
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.HeadT
push eax
call fcn.00414769
push 0x4c517c
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.HeadB
push eax
call fcn.00414769
push 0x4c516c
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text1
push eax
call fcn.00414769
push 0x4c5194
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text2
push eax
call fcn.00414769
push 0x4c5198
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text3
push eax
call fcn.00414769
push 0x4c519c
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text4
push eax
call fcn.00414769
push 0x4c51a0
call fcn.004299b0
mov eax, str.StartMenuFolder
push eax
call fcn.00414675
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.HeadT
push eax
call fcn.00414769
push 0x4c5124
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.HeadB
push eax
call fcn.00414769
push 0x4c5114
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text1
push eax
call fcn.00414769
push 0x4c5150
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text2
push eax
call fcn.00414769
push 0x4c5154
call fcn.004299b0
mov eax, str.AdditionalTasks
push eax
call fcn.00414675
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.HeadT
push eax
call fcn.00414769
push 0x4c50f8
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.HeadB
push eax
call fcn.00414769
push 0x4c50ec
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text1
push eax
call fcn.00414769
push 0x4c5118
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text2
push eax
call fcn.00414769
push 0x4c511c
call fcn.004299b0
mov eax, str.Installing
push eax
call fcn.00414675
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.HeadT
push eax
call fcn.00414769
push 0x4c5088
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.HeadB
push eax
call fcn.00414769
push 0x4c507c
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text1
push eax
call fcn.00414769
push 0x4c50a0
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text2
push eax
call fcn.00414769
push 0x4c50a4
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text3
push eax
call fcn.00414769
push 0x4c50a8
call fcn.004299b0
mov eax, str.Finish
push eax
call fcn.00414675
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Title
push eax
call fcn.00414769
push 0x4c515c
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text1
push eax
call fcn.00414769
push 0x4c51a8
call fcn.004299b0
mov eax, str.SerialCheck
push eax
call fcn.00414675
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.HeadT
push eax
call fcn.00414769
push 0x4c5040
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.HeadB
push eax
call fcn.00414769
push 0x4c503c
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text1
push eax
call fcn.00414769
push 0x4c5060
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text2
push eax
call fcn.00414769
push 0x4c5064
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, 0x4b7024
push eax
mov eax, str.Text3
push eax
call fcn.00414769
push 0x4c5068
call fcn.004299b0
call fcn.0041485d
push 1
push 1
call fcn.0041cb5e
mov dword [0x4c51a4], 0
call fcn.0040f2a6
push 0
push 0
call fcn.0041cb5e
push 1
call fcn.004184b3
jmp 0x401fb5
push 0x10
mov ebp, dword [0x4c51c8]
push dword [ebp + 0x14]
mov eax, str.Error
push eax
call fcn.00413714
jmp 0x401feb
mov ebx, 0x49
cmp ebx, dword [esp]
jne 0x401feb
push 0x21
mov ebp, dword [0x4c51c8]
push dword [ebp + 0x10]
mov eax, str.Setup
push eax
call fcn.00413714
mov ebx, eax
cmp ebx, 1
jne 0x401feb
call fcn.0040c6df
jmp 0x402a3e
pop eax
mov ebx, dword [0x4c51a4]
cmp ebx, 1
jne 0x402044
mov ebx, dword [0x4c5110]
cmp ebx, 1
jne 0x402035
push 0x14
call fcn.00418635
mov ebx, eax
cmp ebx, 1
jne 0x402024
push 0
push 1
call fcn.00418420
jmp 0x402033
push 1
push 1
call fcn.00418420
jmp 0x402044
push 0
push 1
call fcn.00418420
mov ebx, dword [0x4c51a4]
cmp ebx, 6
jne 0x40206d
push 1
push 1
call fcn.00418420
push 1
push 0x3c
call fcn.00418420
mov ebx, dword [0x4c51a4]
and ebx, ebx
jne 0x402086
push 0
push 1
call fcn.00418420
mov ebx, dword [0x4c5120]
cmp ebx, 0x332c
jne 0x4029dc
call fcn.0041f948
push eax
mov ebx, 0x1e
cmp ebx, dword [esp]
jne 0x402224
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
mov eax, str.ProgramFiles
push eax
call fcn.00413ade
call fcn.00429980
push dword [0x4c5098]
call fcn.00412362
add dword [esp + 4], edx
call fcn.0041379b
push 0x4c5130
call fcn.004299b0
push dword [0x4c5130]
mov edx, 0x4b7024
pop ecx
call fcn.00412310
jne 0x40221f
push dword [0x4c513c]
mov edx, 0x4b7024
pop ecx
call fcn.00412310
je 0x40216b
push edx
call fcn.00429940
pop edx
push eax
mov edx, dword [0x4c5130]
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429a40
mov edx, dword [0x4c51b0]
push edx
call fcn.00429a40
call fcn.00429980
push 0x1d
call fcn.00412362
add dword [esp + 4], edx
call fcn.004186ae
call fcn.00412380
jmp 0x4021c7
push edx
call fcn.00429940
pop edx
push eax
mov edx, dword [0x4c5130]
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429a40
mov edx, dword [0x4c513c]
push edx
call fcn.00429a40
mov edx, 0x4b7554
push edx
call fcn.00429a40
mov edx, dword [0x4c51b0]
push edx
call fcn.00429a40
call fcn.00429980
push 0x1d
call fcn.00412362
add dword [esp + 4], edx
call fcn.004186ae
call fcn.00412380
push edx
call fcn.00429940
pop edx
push eax
mov edx, dword [0x4c51a0]
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429a40
mov edx, 0x4b71b8
push edx
call fcn.00429a40
push edx
call fcn.00429940
pop edx
push eax
push dword [0x4c5130]
call fcn.0040388d
pop eax
call fcn.00429980
push 0x20
call fcn.00412362
add dword [esp + 4], edx
call fcn.004186ae
call fcn.00412380
jmp 0x4029db
mov ebx, 0x26
cmp ebx, dword [esp]
jne 0x402362
push edx
call fcn.00429940
pop edx
push eax
push dword [0x4c5024]
push dword [0x4c509c]
call fcn.0040393d
mov edx, 0x4b7554
push edx
call fcn.00429a40
push 0x4c5130
call fcn.004299b0
push dword [0x4c5130]
mov edx, 0x4b7024
pop ecx
call fcn.00412310
jne 0x40235d
push dword [0x4c513c]
mov edx, 0x4b7024
pop ecx
call fcn.00412310
je 0x4022e9
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push dword [0x4c5028]
call fcn.00427900
mov ebx, eax
add ebx, 2
push ebx
push dword [0x4c5130]
call fcn.004279c0
mov edx, dword [0x4c51b0]
push edx
call fcn.00429a40
call fcn.00429980
push 0x25
call fcn.00412362
add dword [esp + 4], edx
call fcn.004186ae
call fcn.00412380
jmp 0x40235d
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push dword [0x4c5028]
call fcn.00427900
mov ebx, eax
add ebx, 2
push ebx
push dword [0x4c5130]
call fcn.004279c0
mov edx, dword [0x4c513c]
push edx
call fcn.00429a40
mov edx, 0x4b7554
push edx
call fcn.00429a40
mov edx, dword [0x4c51b0]
push edx
call fcn.00429a40
call fcn.00429980
push 0x25
call fcn.00412362
add dword [esp + 4], edx
call fcn.004186ae
call fcn.00412380
jmp 0x4029db
mov ebx, 0x3c
cmp ebx, dword [esp]
jne 0x402575
push 1
push 3
call fcn.004186f9
push 1
push 0xa
call fcn.004186f9
push 1
push 0x1a
call fcn.004186f9
push 1
push 0x2a
call fcn.004186f9
push 1
push 0x2c
call fcn.004186f9
push 1
push 0x34
call fcn.004186f9
push 1
push 0x4b
call fcn.004186f9
mov ebx, dword [0x4c51a4]
cmp ebx, 1
jne 0x4023ec
dec dword [0x4c51a4]
jmp 0x402436
mov ebx, dword [0x4c51a4]
cmp ebx, 2
jne 0x4023ff
dec dword [0x4c51a4]
jmp 0x402436
mov ebx, dword [0x4c51a4]
cmp ebx, 3
jne 0x402412
dec dword [0x4c51a4]
jmp 0x402436
mov ebx, dword [0x4c51a4]
cmp ebx, 4
jne 0x402425
dec dword [0x4c51a4]
jmp 0x402436
mov ebx, dword [0x4c51a4]
cmp ebx, 5
jne 0x402436
dec dword [0x4c51a4]
mov ebx, dword [0x4c502c]
and ebx, ebx
jne 0x402451
mov ebx, dword [0x4c5020]
and ebx, ebx
jne 0x402451
mov eax, 1
jmp 0x402453
xor eax, eax
and eax, eax
je 0x402468
mov ebx, dword [0x4c51a4]
cmp ebx, 4
jne 0x402468
dec dword [0x4c51a4]
mov ebx, dword [0x4c50e4]
and ebx, ebx
jne 0x402483
mov ebx, dword [0x4c51a4]
cmp ebx, 3
jne 0x402483
dec dword [0x4c51a4]
mov ebx, dword [0x4c50dc]
and ebx, ebx
jne 0x40249e
mov ebx, dword [0x4c51a4]
cmp ebx, 2
jne 0x40249e
dec dword [0x4c51a4]
mov ebx, dword [0x4c5110]
and ebx, ebx
jne 0x4024b9
mov ebx, dword [0x4c51a4]
cmp ebx, 1
jne 0x4024b9
dec dword [0x4c51a4]
mov ebx, dword [0x4c51a4]
and ebx, ebx
jne 0x4024e6
push 0
push 3
call fcn.004186f9
push 1
push 0x3c
call fcn.004186f9
jmp 0x402570
mov ebx, dword [0x4c51a4]
cmp ebx, 1
jne 0x402502
push 0
push 0xa
call fcn.004186f9
jmp 0x402570
mov ebx, dword [0x4c51a4]
cmp ebx, 2
jne 0x40251e
push 0
push 0x4b
call fcn.004186f9
jmp 0x402570
mov ebx, dword [0x4c51a4]
cmp ebx, 3
jne 0x40253a
push 0
push 0x1a
call fcn.004186f9
jmp 0x402570
mov ebx, dword [0x4c51a4]
cmp ebx, 4
jne 0x402556
push 0
push 0x2c
call fcn.004186f9
jmp 0x402570
mov ebx, dword [0x4c51a4]
cmp ebx, 5
jne 0x402570
push 0
push 0x2a
call fcn.004186f9
jmp 0x4029db
mov ebx, 1
cmp ebx, dword [esp]
jne 0x4029ad
mov ebx, dword [0x4c51a4]
cmp ebx, 7
je 0x402828
push 1
push 3
call fcn.004186f9
push 1
push 0xa
call fcn.004186f9
push 1
push 0x1a
call fcn.004186f9
push 1
push 0x2a
call fcn.004186f9
push 1
push 0x2c
call fcn.004186f9
push 1
push 0x34
call fcn.004186f9
push 1
push 0x4b
call fcn.004186f9
mov ebx, dword [0x4c51a4]
and ebx, ebx
jne 0x402620
mov dword [0x4c51a4], 1
push 0
push 0x3c
call fcn.004186f9
jmp 0x402691
mov ebx, dword [0x4c51a4]
cmp ebx, 1
jne 0x402637
mov dword [0x4c51a4], 2
jmp 0x402691
mov ebx, dword [0x4c51a4]
cmp ebx, 2
jne 0x40264e
mov dword [0x4c51a4], 3
jmp 0x402691
mov ebx, dword [0x4c51a4]
cmp ebx, 3
jne 0x402665
mov dword [0x4c51a4], 4
jmp 0x402691
mov ebx, dword [0x4c51a4]
cmp ebx, 4
jne 0x40267c
mov dword [0x4c51a4], 5
jmp 0x402691
mov ebx, dword [0x4c51a4]
cmp ebx, 5
jne 0x402691
mov dword [0x4c51a4], 6
mov ebx, dword [0x4c5110]
and ebx, ebx
jne 0x4026ac
mov ebx, dword [0x4c51a4]
cmp ebx, 1
jne 0x4026ac
inc dword [0x4c51a4]
mov ebx, dword [0x4c50dc]
and ebx, ebx
jne 0x4026c7
mov ebx, dword [0x4c51a4]
cmp ebx, 2
jne 0x4026c7
inc dword [0x4c51a4]
mov ebx, dword [0x4c50e4]
and ebx, ebx
jne 0x4026e2
mov ebx, dword [0x4c51a4]
cmp ebx, 3
jne 0x4026e2
inc dword [0x4c51a4]
mov ebx, dword [0x4c502c]
and ebx, ebx
jne 0x4026fd
mov ebx, dword [0x4c5020]
and ebx, ebx
jne 0x4026fd
mov eax, 1
jmp 0x4026ff
xor eax, eax
and eax, eax
je 0x402714
mov ebx, dword [0x4c51a4]
cmp ebx, 4
jne 0x402714
inc dword [0x4c51a4]
mov ebx, dword [0x4c5140]
and ebx, ebx
jne 0x402731
mov ebx, dword [0x4c51a4]
cmp ebx, 5
jne 0x40272f
inc dword [0x4c51a4]
jmp 0x402752
mov ebx, dword [0x4c51a4]
cmp ebx, 5
jne 0x402752
push 0x3d
call fcn.00418635
mov ebx, eax
and ebx, ebx
jne 0x402752
inc dword [0x4c51a4]
mov ebx, dword [0x4c51a4]
cmp ebx, 1
jne 0x402771
push 0
push 0xa
call fcn.004186f9
jmp 0x402823
mov ebx, dword [0x4c51a4]
cmp ebx, 2
jne 0x40279f
push 0
push 0x4b
call fcn.004186f9
push 1
push 1
call fcn.00418420
jmp 0x402823
mov ebx, dword [0x4c51a4]
cmp ebx, 3
jne 0x4027bb
push 0
push 0x1a
call fcn.004186f9
jmp 0x402823
mov ebx, dword [0x4c51a4]
cmp ebx, 4
jne 0x4027d7
push 0
push 0x2c
call fcn.004186f9
jmp 0x402823
mov ebx, dword [0x4c51a4]
cmp ebx, 5
jne 0x4027f3
push 0
push 0x2a
call fcn.004186f9
jmp 0x402823
mov ebx, dword [0x4c51a4]
cmp ebx, 6
jne 0x402823
push 0
push 0x34
call fcn.004186f9
push 0
lea eax, [0x409dee]
push eax
call fcn.00412ba8
mov dword [0x4c5008], eax
jmp 0x4029ab
mov ebx, dword [0x4c51a4]
cmp ebx, 7
jne 0x4029ab
mov ebx, dword [0x4c5094]
cmp ebx, 1
jne 0x402867
push 0x44
call fcn.00418635
mov ebx, eax
cmp ebx, 1
jne 0x402862
push 0x80040002
push 2
call fcn.004036ce
jmp 0x402992
mov ebx, dword [0x4c5094]
cmp ebx, 2
jne 0x402992
push 0x44
call fcn.00418635
mov ebx, eax
cmp ebx, 1
jne 0x402992
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push 0x1d
call fcn.0041844b
push 0x4c5054
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push 1
push dword [0x4c5054]
call fcn.00427a10
call fcn.00429980
mov edx, 0x4b7554
call fcn.00412300
mov ecx, eax
call fcn.00412310
jne 0x402910
mov edx, dword [0x4c5054]
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429a40
mov edx, 0x4b7554
push edx
call fcn.00429a40
push 0x4c5054
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push dword [0x4c5054]
push dword [0x4c5174]
push dword [0x4c513c]
push dword [0x4c51ac]
push dword [0x4c51b0]
push dword [0x4c50e0]
call fcn.0040d1cf
push 0x4c50e0
call fcn.004299b0
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push edx
call fcn.00429940
pop edx
push eax
push dword [0x4c50e0]
call fcn.0041deae
call fcn.00429980
push dword [0x4c5090]
push dword [0x4c50e0]
call fcn.00412362
add dword [esp + 8], edx
call fcn.00413b7b
call fcn.00412380
push 1
push 0
call fcn.0041cb5e
call fcn.0040c6df
jmp 0x402a3e
jmp 0x4029db
mov ebx, 2
cmp ebx, dword [esp]
jne 0x4029db
push 0x21
push dword [0x4c5128]
push dword [0x4c5170]
call fcn.00413714
mov ebx, eax
cmp ebx, 1
jne 0x4029db
call fcn.0040c6df
jmp 0x402a3e
pop eax
mov ebx, dword [0x4c5120]
cmp ebx, 0x333c
jne 0x4029fb
mov ebx, dword [0x4c5030]
and ebx, ebx
jne 0x4029fb
mov eax, 1
jmp 0x4029fd
xor eax, eax
and eax, eax
je 0x402a39
mov ebx, dword [0x4c51a4]
cmp ebx, 7
je 0x402a32
push 0x21
push dword [0x4c5128]
push dword [0x4c5170]
call fcn.00413714
mov ebx, eax
cmp ebx, 1
jne 0x402a30
call fcn.0040c6df
jmp 0x402a3e
jmp 0x402a39
call fcn.0040c6df
jmp 0x402a3e
jmp 0x401291
push 0
call 0x402a5d
call fcn.00429920
push dword [0x4c4fd4]
call sub.KERNEL32.dll_HeapDestroy
call sub.KERNEL32.dll_ExitProcess
call fcn.00412b0e
call fcn.00412f57
call fcn.00414228
call fcn.0041651d
call fcn.00416889
call fcn.004169ee
call fcn.00418324
call fcn.0041ca1e
call fcn.0041df2d
call fcn.0041e570
call fcn.0041f75f
call fcn.00420457
call fcn.00422394
call fcn.00424160
call fcn.004272f0
call fcn.00428d9e
call fcn.00428ee3
call fcn.004287f0
ret