Function at 0x406460
Capabilities:
Allocate thread local storage
Check mutex on windows
Create process on windows
Self delete

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xec
mov dword [esp], 0
call sub.KERNEL32.dll_GetModuleHandleW
sub esp, 4
mov dword [0x4d1a8c], 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 [0x4d1a90], eax
mov dword [0x4d1a88], 0x4cfae0
call fcn.00419300
mov dword [0x4cfaf0], 0x404db0
mov dword [0x4cfaf4], 0x401010
mov dword [0x4cfaf8], 0x401060
mov dword [0x4cfafc], 0x404d80
mov dword [0x4cfb00], 0x402950
mov dword [0x4cfb04], 0x4028d0
mov dword [0x4cfb08], 0x404b90
mov dword [0x4cfb0c], 0x402860
mov dword [0x4cfb10], 0x4027c0
mov dword [0x4cfb14], 0x403da0
mov dword [0x4cfb18], 0x404d40
mov dword [0x4cfb1c], 0x402780
mov dword [0x4cfb20], 0x404cf0
mov dword [0x4cfb24], 0x4040c0
mov dword [0x4cfb28], 0x402de0
mov dword [0x4cfb2c], 0x404a70
mov dword [0x4cfb30], 0x404930
mov dword [0x4cfb34], 0x403fa0
mov dword [0x4cfb38], 0x402740
mov dword [0x4cfb3c], 0x402700
mov dword [0x4cfb40], 0x4026c0
mov dword [0x4cfb44], 0x401020
mov dword [0x4cfb48], 0x401080
mov dword [0x4cfb4c], 0x402680
mov dword [0x4cfb50], 0x402640
mov dword [0x4cfb54], 0x402600
mov dword [0x4cfb58], 0x4047c0
mov dword [0x4cfb5c], 0x4046c0
mov dword [0x4cfb60], 0x404590
mov dword [0x4cfb64], 0x4044a0
mov dword [0x4cfb68], 0x404110
mov dword [0x4cfb6c], 0x403ef0
mov dword [0x4cfb70], 0x402590
mov dword [0x4cfb74], 0x402500
mov dword [0x4cfb78], 0x4024c0
mov dword [0x4cfb7c], 0x402430
mov dword [0x4cfb80], 0x4023e0
mov dword [0x4cfb84], 0x402390
mov dword [0x4cfb88], 0x403ec0
mov dword [0x4cfb8c], 0x402320
mov dword [0x4cfb90], 0x403770
mov dword [0x4cfb94], 0x4022b0
mov dword [0x4cfb98], 0x403e20
mov dword [0x4cfb9c], 0x402190
mov dword [0x4cfba0], 0x402130
mov dword [0x4cfba4], 0x402b30
mov dword [0x4cfba8], 0x4020f0
mov dword [0x4cfbac], 0x402030
mov dword [0x4cfbb0], 0x401ff0
mov dword [0x4cfbb4], 0x401fb0
mov dword [0x4cfbb8], 0x401f70
mov dword [0x4cfbbc], 0x403d00
mov dword [0x4cfbc0], 0x403c50
mov dword [0x4cfbc4], 0x401f30
mov dword [0x4cfbc8], 0x401ed0
mov dword [0x4cfbcc], 0x401e10
mov dword [0x4cfbd0], 0x403b40
mov dword [0x4cfbd4], 0x401dd0
mov dword [0x4cfbd8], 0x401d90
mov dword [0x4cfbdc], 0x401d20
mov dword [0x4cfbe0], 0x403450
mov dword [0x4cfbe4], 0x4031e0
mov dword [0x4cfbe8], 0x4039d0
mov dword [0x4cfbec], 0x403840
mov dword [0x4cfbf0], 0x401c60
mov dword [0x4cfbf4], 0x401c20
mov dword [0x4cfbf8], 0x401bb0
mov dword [0x4cfbfc], 0x401b10
mov dword [0x4cfc00], 0x406360
mov dword [0x4cfc04], 0x401ba0
mov dword [0x4cfc08], 0x401ad0
mov dword [0x4cfc0c], 0x401a70
mov dword [0x4cfc10], 0x401a30
mov dword [0x4cfc14], 0x4019c0
mov dword [0x4cfc18], 0x401950
mov dword [0x4cfc1c], 0x403800
mov dword [0x4cfc20], 0x4018f0
mov dword [0x4cfc24], 0x4036e0
mov dword [0x4cfc28], 0x401880
mov dword [0x4cfc2c], 0x401800
mov dword [0x4cfc30], 0x401790
mov dword [0x4cfc34], 0x401710
mov dword [0x4cfc38], 0x4016d0
mov dword [0x4cfc3c], 0x401680
mov dword [0x4cfc40], 0x402fb0
mov dword [0x4cfc44], 0x401640
mov dword [0x4cfc48], 0x4015e0
mov dword [0x4cfc4c], 0x402cb0
mov dword [0x4cfc50], 0x402e70
mov dword [0x4cfc54], 0x401590
mov dword [0x4cfc58], 0x402ba0
mov dword [0x4cfc5c], 0x401550
mov dword [0x4cfc60], 0x401510
mov dword [0x4cfc64], 0x4014d0
mov dword [0x4cfc68], 0x401480
mov dword [0x4cfc6c], 0x401430
mov dword [0x4cfc70], 0x4013c0
mov dword [0x4cfc74], 0x401350
mov dword [0x4cfc78], 0x4012e0
mov dword [0x4cfc7c], 0x401270
mov dword [0x4cfc80], 0x401000
mov dword [0x4cfc84], 0x401070
mov dword [0x4cfc88], 0x401220
mov dword [0x4cfc8c], 0x4011d0
mov dword [0x4cfc90], 0x401170
mov dword [0x4cfc94], 0x401100
mov dword [0x4cfc98], 0x4010c0
mov dword [0x4cfc9c], 0x4029f0
mov dword [0x4cf196], 0x4cf044
mov dword [0x4cf114], 0x4cf030
mov dword [0x4cf0b8], 0x4cf020
mov dword [0x4cf074], 0x4cf010
call fcn.00418bf0
call fcn.00417f8b
call fcn.00417330
call fcn.0041546c
call fcn.00414d10
call fcn.004144c2
call fcn.00413c2d
call fcn.00413a20
call fcn.004135ba
call fcn.004132c2
call fcn.00412cda
call fcn.00412694
call fcn.00412040
call fcn.004105db
call fcn.0040ea69
call fcn.0040d638
call fcn.0040c436
call fcn.0040c0f0
call fcn.0040b6c3
call fcn.0040afc2
call fcn.0040adae
call fcn.0040864a
call fcn.00418f20
call fcn.00418f20
call fcn.00418f20
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp], eax
call fcn.0040aff1
sub esp, 4
call fcn.00419070
mov ebx, eax
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00411a32
sub esp, 8
call fcn.00419070
mov dword [esp], eax
call fcn.00411ab1
sub esp, 4
call fcn.00418fd0
mov dword [esp + 4], 0x4cfa90
mov dword [esp], 0xffffffff
call fcn.0040c024
sub esp, 8
mov dword [0x4d1a6c], eax
test eax, eax
jne 0x407368
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0x4cf018
mov dword [esp + 4], 0x4d1ab0
mov dword [esp], 0xc
call fcn.00413c4c
sub esp, 0x10
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0x4cf010
mov dword [esp + 4], 0x4d1aa8
mov dword [esp], 4
call fcn.00413c4c
sub esp, 0x10
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0x4cf044
mov dword [esp + 4], 0x4d1aa0
mov dword [esp], 8
call fcn.00413c4c
sub esp, 0x10
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0x4cf020
mov dword [esp + 4], 0x4d1a98
mov dword [esp], 0xc
call fcn.00413c4c
sub esp, 0x10
mov dword [0x4d1a44], 0
call fcn.00418e00
mov dword [esp + 0x34], 0
call fcn.00418f20
call fcn.00418f20
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp], eax
call fcn.0040aff1
sub esp, 4
call fcn.00419070
mov ebx, eax
call fcn.00418f70
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.00411ac3
sub esp, 0xc
call fcn.00418f70
mov dword [esp + 4], eax
lea esi, [esp + 0x34]
mov dword [esp], esi
call fcn.004190f0
sub esp, 8
call fcn.00418f20
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00419180
sub esp, 4
mov dword [esp], str..dat
call fcn.00419180
sub esp, 4
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a14
call fcn.004190f0
sub esp, 8
call fcn.00418f20
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00419180
sub esp, 4
mov dword [esp], str._lang.ifl
call fcn.00419180
sub esp, 4
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a48
call fcn.004190f0
sub esp, 8
call fcn.0040dfcc
call fcn.0040e3d0
call fcn.0040dab0
call fcn.00418f20
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp], eax
call fcn.0040aff1
sub esp, 4
call fcn.00419070
mov dword [esp + 8], 0
mov dword [esp + 4], 0x20
mov dword [esp], eax
call fcn.00404f90
sub esp, 0xc
mov ebx, eax
call fcn.00418fd0
mov dword [0x4d1a30], ebx
mov eax, dword [0x4d1a14]
mov dword [esp + 4], eax
mov dword [esp], 0xffffffff
call fcn.0040c3b2
sub esp, 8
mov ebx, eax
test eax, eax
je 0x4073f4
mov dword [esp], ebx
call fcn.0040c3c4
sub esp, 4
mov edi, eax
mov dword [esp], eax
call fcn.0040c3e0
sub esp, 4
cmp eax, 5
je 0x406c50
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Could_not_initialize_uninstall_configuration_file__corrupted__
mov dword [esp], str.Error
call fcn.0040ade7
sub esp, 0xc
mov dword [esp], ebx
call fcn.0040c3f6
push eax
call fcn.00404e70
call fcn.00406430
mov dword [esp + 4], str.GeneralInformation
mov dword [esp], edi
call fcn.0040c504
sub esp, 8
mov edi, eax
test eax, eax
je 0x407422
mov dword [esp + 0xc], 0x4cf100
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x4d1a20
mov dword [esp], edi
call fcn.0040cacc
sub esp, 0x10
mov eax, dword [0x4d1a20]
mov dword [esp + 4], eax
mov dword [esp], 0x4d1ab8
call fcn.004191e0
test eax, eax
jne 0x407459
mov dword [esp], ebx
call fcn.0040c3f6
sub esp, 4
call fcn.00418f20
call fcn.00418f20
mov dword [esp], str.Uninstall_
call fcn.00419180
sub esp, 4
mov eax, dword [0x4d1a20]
mov dword [esp], eax
call fcn.00419180
sub esp, 4
mov dword [esp], 0x4cf934
call fcn.00419180
sub esp, 4
call fcn.00419070
mov dword [esp + 0x44], eax
call fcn.00418e00
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
lea ebx, [esp + 0x44]
mov dword [esp], ebx
call fcn.00418e60
sub esp, 8
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], 0
call sub.KERNEL32.dll_CreateMutexW
sub esp, 0xc
mov edi, eax
test eax, eax
jne 0x4074ca
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.00418eb0
sub esp, 4
call fcn.00418fd0
mov eax, dword [0x4d1a48]
mov dword [esp], eax
call fcn.0040bac0
sub esp, 4
test eax, eax
jne 0x407523
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Could_not_initialize_uninstall_language_file_
mov dword [esp], str.Error
call fcn.0040ade7
sub esp, 0xc
call fcn.00404e70
call fcn.00406430
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00418eb0
sub esp, 4
call fcn.00418e00
mov dword [esp + 8], 0x24
mov eax, dword [0x4d1a1c]
mov dword [esp + 4], eax
mov eax, dword [0x4d1a60]
mov dword [esp], eax
call fcn.0040ade7
sub esp, 0xc
cmp eax, 7
je 0x407904
call fcn.00418e00
call fcn.00418f20
call fcn.00418f20
mov dword [esp], 0x4cf3e0
call fcn.00419180
sub esp, 4
mov eax, dword [0x4d1a20]
mov dword [esp], eax
call fcn.00419180
sub esp, 4
call fcn.004192d0
call fcn.00419070
mov dword [esp + 0x18], 0x10ca0001
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x16a
mov dword [esp + 0xc], 0x1f1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00410646
sub esp, 0x1c
call fcn.00418fd0
call fcn.00418f20
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp], eax
call fcn.0040aff1
sub esp, 4
call fcn.00419070
mov dword [esp], eax
call fcn.00404de0
sub esp, 4
mov edi, eax
call fcn.00418fd0
mov dword [esp], 0
call fcn.00410522
sub esp, 4
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], eax
call sub.USER32.dll_SendMessageW
sub esp, 0x10
call fcn.00418e00
mov dword [esp], 0
call fcn.00410522
sub esp, 4
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.USER32.dll_GetSystemMenu
sub esp, 8
test eax, eax
jne 0x40790e
mov dword [esp], 0
call fcn.00410a12
sub esp, 4
mov dword [esp + 0x18], 2
mov dword [esp + 0x14], 0x4d1ab8
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x3a
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
call fcn.0040eb9e
sub esp, 0x1c
mov dword [esp], 0
call fcn.00410a12
sub esp, 4
mov dword [esp + 0x18], 2
mov dword [esp + 0x14], 0x4d1ab8
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x139
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
call fcn.0040eb9e
sub esp, 0x1c
call fcn.00418f20
call fcn.00418f20
mov eax, dword [0x4d1a54]
mov dword [esp], eax
call fcn.00419180
sub esp, 4
mov dword [esp], 0x4cfa8c
call fcn.00419180
sub esp, 4
mov eax, dword [0x4d1a20]
mov dword [esp], eax
call fcn.00419180
sub esp, 4
call fcn.004192d0
mov dword [esp], 0
call fcn.00410a12
sub esp, 4
mov edi, eax
call fcn.00419070
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x14
sub edi, 0x32
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x5a
mov dword [esp + 4], 0x19
mov dword [esp], 5
call fcn.0040ef67
sub esp, 0x18
call fcn.00418fd0
mov dword [esp], 0
call fcn.00410a12
sub esp, 4
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x14
sub eax, 0x32
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x78
mov dword [esp + 4], 0x19
mov dword [esp], 4
call fcn.0040f0a2
sub esp, 0x1c
mov dword [esp], 0
call fcn.00410a12
sub esp, 4
mov edx, dword [0x4d1a64]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], 0x16
mov dword [esp + 0xc], 0x50
mov dword [esp + 8], 0x14a
sub eax, 0x69
mov dword [esp + 4], eax
mov dword [esp], 6
call fcn.0040f508
sub esp, 0x18
mov dword [esp + 4], 1
mov dword [esp], 6
call fcn.0040f54b
sub esp, 8
mov dword [esp], 0
call fcn.00410a12
sub esp, 4
mov dword [esp + 0x10], 0x3a
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0040f85a
sub esp, 0x14
mov dword [esp + 8], 0xff
mov dword [esp + 4], 0xff
mov dword [esp], 0xff
call fcn.004135c6
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp], 0
call fcn.0040e6c7
sub esp, 0xc
mov eax, dword [0x4d1a30]
mov dword [esp], eax
call fcn.00413a34
sub esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x20
mov dword [esp + 0xc], 0x20
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x1b8
mov dword [esp], 1
call fcn.0040fe22
sub esp, 0x18
mov eax, dword [0x4d1a4c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0xf
mov dword [esp + 0xc], 0x131
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0xe
mov dword [esp], 2
call fcn.0040ef67
sub esp, 0x18
mov dword [esp + 8], 0xff
mov dword [esp + 4], 0xff
mov dword [esp], 0xff
call fcn.004135c6
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp], 2
call fcn.0040e6c7
sub esp, 0xc
mov dword [esp + 0xc], 0x110
mov dword [esp + 8], 8
mov dword [esp + 4], str.Microsoft_Sans_Serif
mov dword [esp], 0xffffffff
call fcn.00417fd8
sub esp, 0x10
mov dword [esp], eax
call fcn.004180a1
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 2
call fcn.0040fe6a
sub esp, 8
mov eax, dword [0x4d1a34]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x28
mov dword [esp + 0xc], 0x163
mov dword [esp + 8], 0x1b
mov dword [esp + 4], 0x19
mov dword [esp], 3
call fcn.0040ef67
sub esp, 0x18
mov dword [esp + 8], 0xff
mov dword [esp + 4], 0xff
mov dword [esp], 0xff
call fcn.004135c6
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp], 3
call fcn.0040e6c7
sub esp, 0xc
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], 8
mov dword [esp + 4], str.Microsoft_Sans_Serif
mov dword [esp], 0xffffffff
call fcn.00417fd8
sub esp, 0x10
mov dword [esp], eax
call fcn.004180a1
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 3
call fcn.0040fe6a
sub esp, 8
call fcn.0041039f
cmp eax, 0x4f
jg 0x407942
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00410aff
sub esp, 8
mov dword [esp + 4], 0xffffffff
mov dword [esp], 4
call fcn.0040e940
sub esp, 8
mov edx, dword [0x4d1a44]
test edx, edx
je 0x40733e
mov dword [esp], 0
call fcn.00410522
sub esp, 4
mov ecx, eax
mov eax, dword [0x4d1a44]
mov edx, dword [eax]
mov dword [esp + 8], 1
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x28]
sub esp, 0xc
mov dword [esp + 4], 0
mov dword [esp], 0x4051e0
call fcn.004086a2
sub esp, 8
mov dword [0x4d1a5c], eax
call fcn.00418e00
lea ebp, [esp + 0x30]
jmp 0x407f3f
mov dword [esp + 4], str.RegDeleteKeyExW
mov dword [esp], eax
call fcn.0040c163
push edx
push edx
mov dword [0x4d1a68], eax
mov dword [esp + 4], str.RegSetValueExW
mov eax, dword [0x4d1a6c]
mov dword [esp], eax
call fcn.0040c163
push ecx
push ecx
mov dword [0x4d1a78], eax
mov dword [esp + 4], str.RegDeleteTreeW
mov eax, dword [0x4d1a6c]
mov dword [esp], eax
call fcn.0040c163
push ebx
push ebx
mov dword [0x4d1a70], eax
mov dword [esp + 4], str.RegEnumKeyExW
mov eax, dword [0x4d1a6c]
mov dword [esp], eax
call fcn.0040c163
push esi
push esi
mov dword [0x4d1a7c], eax
mov dword [esp + 4], str.RegCopyTreeW
mov eax, dword [0x4d1a6c]
mov dword [esp], eax
call fcn.0040c163
push edi
push edi
mov dword [0x4d1a74], eax
jmp 0x4069fc
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Could_not_initialize_uninstall_configuration_file_
mov dword [esp], str.Error
call fcn.0040ade7
sub esp, 0xc
call fcn.00404e70
call fcn.00406430
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Could_not_initialize_uninstall_configuration_file__corrupted__
mov dword [esp], str.Error
call fcn.0040ade7
sub esp, 0xc
mov dword [esp], ebx
call fcn.0040c3f6
push eax
call fcn.00404e70
call fcn.00406430
mov eax, dword [0x4d1a24]
mov dword [esp + 4], eax
mov dword [esp], 0x4d1ab8
call fcn.004191e0
test eax, eax
je 0x406cad
mov eax, dword [0x4d1a28]
mov dword [esp + 4], eax
mov dword [esp], 0x4d1ab8
call fcn.004191e0
test eax, eax
je 0x406cad
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Could_not_initialize_uninstall_configuration_file__corrupted__
mov dword [esp], str.Error
call fcn.0040ade7
sub esp, 0xc
mov dword [esp], ebx
call fcn.0040c3f6
push ebp
call fcn.00404e70
call fcn.00406430
call sub.KERNEL32.dll_GetLastError
cmp eax, 0xb7
jne 0x406d3e
mov dword [esp], edi
call sub.KERNEL32.dll_CloseHandle
push ecx
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.00418eb0
push edi
call fcn.00418fd0
mov dword [esp + 8], 0x40
mov dword [esp + 4], str.There_is_already_an_instance_of_the_uninstaller_running_
mov dword [esp], str.InstallForge
call fcn.0040ade7
sub esp, 0xc
call fcn.00404e70
call fcn.00406430
mov dword [esp], str.Uninstall
call fcn.0040bafe
push eax
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp + 8], eax
mov dword [esp + 4], str.Uninstall
mov dword [esp], str.BM_T
call fcn.0040bbf2
sub esp, 0xc
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a60
call fcn.004190f0
push eax
push eax
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp + 8], eax
mov dword [esp + 4], str.Do_you_want_to_remove__appname__from_your_computer_
mov dword [esp], 0x4cf920
call fcn.0040bbf2
sub esp, 0xc
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a1c
call fcn.004190f0
push eax
push eax
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp + 8], eax
mov dword [esp + 4], str._appname__was_successfully_removed_from_your_computer_
mov dword [esp], str.Success
call fcn.0040bbf2
sub esp, 0xc
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a50
call fcn.004190f0
push eax
push eax
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp + 8], eax
mov dword [esp + 4], str.Uninstall_Status
mov dword [esp], str.Header
call fcn.0040bbf2
sub esp, 0xc
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a4c
call fcn.004190f0
push eax
push eax
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp + 8], eax
mov dword [esp + 4], str.Please_wait_while__appname__is_removed_from_your_computer.
mov dword [esp], str.Header_b
call fcn.0040bbf2
sub esp, 0xc
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a34
call fcn.004190f0
push edx
push edx
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp + 8], eax
mov dword [esp + 4], str.Uninstalling
mov dword [esp], str.Uninstalling
call fcn.0040bbf2
sub esp, 0xc
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a54
call fcn.004190f0
push ecx
push ecx
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp + 8], eax
mov dword [esp + 4], str.Cancel
mov dword [esp], str.Btn_cancel
call fcn.0040bbf2
sub esp, 0xc
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a64
call fcn.004190f0
push edi
push edi
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp + 8], eax
mov dword [esp + 4], str.Uninstall
mov dword [esp], str.ExitUninstall_T
call fcn.0040bbf2
sub esp, 0xc
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a38
call fcn.004190f0
push ebp
push ebp
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp + 8], eax
mov dword [esp + 4], str.Do_you_want_to_exit_uninstall_
mov dword [esp], str.ExitUninstall
call fcn.0040bbf2
sub esp, 0xc
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a58
call fcn.004190f0
push eax
push eax
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp + 8], eax
mov dword [esp + 4], str.Uninstall
mov dword [esp], str.Success_T
call fcn.0040bbf2
sub esp, 0xc
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a3c
call fcn.004190f0
push eax
push eax
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp + 8], eax
mov dword [esp + 4], str._appname__was_successfully_removed_from_your_computer_
mov dword [esp], str.Success
call fcn.0040bbf2
sub esp, 0xc
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a50
call fcn.004190f0
push eax
push eax
call fcn.00418f20
call fcn.00418f20
mov edi, dword [0x4d1a34]
mov ebp, dword [0x4d1a20]
call fcn.00418f70
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], ebp
mov dword [esp + 4], str._appname_
mov dword [esp], edi
call fcn.00417630
sub esp, 0x14
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a34
call fcn.004190f0
push eax
push eax
call fcn.00418f20
call fcn.00418f20
mov edi, dword [0x4d1a50]
mov ebp, dword [0x4d1a20]
call fcn.00418f70
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], ebp
mov dword [esp + 4], str._appname_
mov dword [esp], edi
call fcn.00417630
sub esp, 0x14
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a50
call fcn.004190f0
push eax
push eax
call fcn.00418f20
call fcn.00418f20
mov edi, dword [0x4d1a1c]
mov ebp, dword [0x4d1a20]
call fcn.00418f70
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], ebp
mov dword [esp + 4], str._appname_
mov dword [esp], edi
call fcn.00417630
sub esp, 0x14
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], 0x4d1a1c
call fcn.004190f0
push edx
push edx
call fcn.0040bce6
jmp 0x406d93
call fcn.00406430
mov dword [esp + 8], 1
mov dword [esp + 4], 0xf060
mov dword [esp], eax
call sub.USER32.dll_EnableMenuItem
sub esp, 0xc
xor ecx, ecx
mov dword [esp], ecx
call fcn.00410522
push edi
mov dword [esp], eax
call sub.USER32.dll_DrawMenuBar
push ebp
jmp 0x406edc
call fcn.00418e00
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov dword [esp], ecx
call sub.ole32.dll_CoInitialize
push edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x4cfcc0
mov dword [esp + 8], 1
xor ebp, ebp
mov dword [esp + 4], ebp
mov dword [esp], 0x4cfcb0
call sub.ole32.dll_CoCreateInstance
sub esp, 0x14
mov eax, dword [esp + 0x44]
mov dword [0x4d1a44], eax
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0xc]
push eax
xor eax, eax
mov dword [esp], eax
call fcn.00410522
push edx
mov ecx, eax
mov eax, dword [0x4d1a44]
mov edx, dword [eax]
mov dword [esp + 0x10], 0x64
xor edi, edi
mov dword [esp + 0x14], edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edi
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x24]
sub esp, 0x18
xor ebp, ebp
mov dword [esp], ebp
call fcn.00410522
push edx
mov ecx, eax
mov eax, dword [0x4d1a44]
mov edx, dword [eax]
mov dword [esp + 8], 2
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x28]
sub esp, 0xc
jmp 0x4072d9
mov eax, dword [0x4d1a5c]
mov dword [esp], eax
call fcn.00408767
sub esp, 4
mov eax, dword [0x4d1a50]
mov dword [esp + 4], eax
mov eax, dword [0x4d1a3c]
mov dword [esp], eax
call fcn.0040ae18
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.00410aff
sub esp, 8
mov eax, dword [0x4d1a2c]
mov dword [esp + 4], eax
mov dword [esp], 0x4d1ab8
call fcn.004191e0
test eax, eax
je 0x407bf0
call fcn.00418e00
mov edi, dword [0x4d1a44]
test edi, edi
je 0x407a81
call fcn.00418e00
mov eax, dword [edi]
mov dword [esp], edi
call dword [eax + 8]
sub esp, 4
call sub.ole32.dll_CoUninitialize
call fcn.00418e00
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp], eax
call fcn.0040aff1
sub esp, 4
call fcn.00418f70
mov dword [esp + 4], eax
lea eax, [esp + 0x2c]
mov dword [esp], eax
call fcn.004190f0
sub esp, 8
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp], eax
call fcn.00411b80
sub esp, 4
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp], eax
call fcn.00418ee0
sub esp, 4
call fcn.00418e00
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov ecx, 0x27
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov dword [esp + 0x30], 0
mov dword [esp + 4], 0x4d1ab8
mov dword [esp], ebp
call fcn.00419220
sub esp, 8
mov dword [esp], esi
call sub.ole32.dll_CoCreateGuid
sub esp, 4
test eax, eax
je 0x407c08
call fcn.00418f20
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00419180
sub esp, 4
call fcn.00419070
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00418eb0
sub esp, 4
call fcn.00418f70
mov dword [esp], str..bat
call fcn.00419180
sub esp, 4
call fcn.00418f70
mov dword [esp + 4], eax
lea eax, [esp + 0x28]
mov dword [esp], eax
call fcn.004190f0
sub esp, 8
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00411de0
sub esp, 8
test eax, eax
jne 0x407c70
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00418eb0
sub esp, 4
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00418eb0
sub esp, 4
jmp 0x407f1a
mov eax, dword [0x4d1a2c]
mov dword [esp], eax
call fcn.0040b5c4
sub esp, 4
jmp 0x407a5d
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 0x407b5a
call fcn.00418f20
call fcn.00418f20
call fcn.00418f70
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x19
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call fcn.00418c10
sub esp, 0x10
call fcn.00418f70
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.004190f0
sub esp, 8
jmp 0x407b5a
mov dword [esp + 4], 0x4cf938
mov dword [esp], 0
call fcn.004121f0
sub esp, 8
mov dword [esp + 4], str.:DeleteFile
mov dword [esp], 0
call fcn.004121f0
sub esp, 8
call fcn.00418f20
call fcn.00418f20
mov dword [esp], str.del__
call fcn.00419180
sub esp, 4
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00419180
sub esp, 4
mov dword [esp], 0x4cfa88
call fcn.00419180
sub esp, 4
call fcn.004192d0
call fcn.00419070
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.004121f0
sub esp, 8
call fcn.00418fd0
call fcn.00418f20
call fcn.00418f20
mov dword [esp], str.if_exist__
call fcn.00419180
sub esp, 4
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00419180
sub esp, 4
mov dword [esp], str.__goto_DeleteFile
call fcn.00419180
sub esp, 4
call fcn.004192d0
call fcn.00419070
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.004121f0
sub esp, 8
call fcn.00418fd0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x407d62
cmp word [eax], 0
jne 0x407e20
call fcn.00418f20
call fcn.00418f20
mov dword [esp], str.del__
call fcn.00419180
sub esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00419180
sub esp, 4
mov dword [esp], 0x4cfa88
call fcn.00419180
sub esp, 4
call fcn.004192d0
call fcn.00419070
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.004121f0
sub esp, 8
call fcn.00418fd0
mov dword [esp + 4], 0x4cf64c
mov dword [esp], 0
call fcn.004121f0
sub esp, 8
mov dword [esp], 0
call fcn.00411f70
sub esp, 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov dword [esp + 4], str.open
mov dword [esp], 0
call sub.SHELL32.dll_ShellExecuteW
sub esp, 0x18
jmp 0x407bcd
call fcn.00418f20
call fcn.00418f20
mov dword [esp], str.rd__
call fcn.00419180
sub esp, 4
mov eax, dword [0x4d1a28]
mov dword [esp], eax
call fcn.00419180
sub esp, 4
mov dword [esp], 0x4cfa88
call fcn.00419180
sub esp, 4
call fcn.004192d0
call fcn.00419070
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.004121f0
sub esp, 8
call fcn.00418fd0
jmp 0x407d62
mov eax, dword [0x4d1a5c]
mov dword [esp], eax
call fcn.00408767
sub esp, 4
mov dword [esp], 4
call fcn.0040e978
sub esp, 4
cmp eax, 0xffffffff
je 0x407fb8
mov eax, dword [0x4d1a44]
test eax, eax
je 0x407ede
mov dword [esp], 0
call fcn.00410522
sub esp, 4
mov ecx, eax
mov eax, dword [0x4d1a44]
mov edx, dword [eax]
mov dword [esp + 8], 4
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x28]
sub esp, 0xc
mov eax, dword [0x4d1a40]
mov dword [esp + 4], eax
mov dword [esp], str.Error
call fcn.0040ae18
sub esp, 8
call fcn.00418e00
mov edi, dword [0x4d1a44]
test edi, edi
je 0x407f1a
call fcn.00418e00
mov eax, dword [edi]
mov dword [esp], edi
call dword [eax + 8]
sub esp, 4
call sub.ole32.dll_CoUninitialize
call fcn.004063d0
mov eax, dword [0x4d1a90]
mov dword [esp], eax
call sub.KERNEL32.dll_HeapDestroy
sub esp, 4
mov eax, dword [0x4d1a94]
mov dword [esp], eax
call sub.KERNEL32.dll_ExitProcess
call fcn.00410c3c
mov edi, eax
call fcn.004127ae
cmp edi, 0x10000
je 0x407a00
cmp edi, 0x10001
je 0x407e80
cmp edi, 0x332c
je 0x407fd8
test eax, eax
jne 0x407f3f
cmp edi, 0x333c
jne 0x407f3f
mov dword [esp + 8], 0x21
mov eax, dword [0x4d1a58]
mov dword [esp + 4], eax
mov eax, dword [0x4d1a38]
mov dword [esp], eax
call fcn.0040ade7
sub esp, 0xc
cmp eax, 1
jne 0x407f3f
call fcn.00418e00
mov edi, dword [0x4d1a44]
test edi, edi
jne 0x407f05
jmp 0x407f1a
mov dword [esp + 4], 0
mov dword [esp], 4
call fcn.0040e940
sub esp, 8
jmp 0x407ea8
call fcn.004127bd
cmp eax, 6
jne 0x407f3f
jmp 0x407f77