Function at 0x41edcf
Capabilities:
Check if file exists
Get file attributes
Query environment variable
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44ab56
mov eax, dword fs:[0]
push eax
mov eax, 0x2728
call fcn.0043a780
mov eax, dword [0x467750]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x26fc], ecx
xor edi, edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x2730], edi
mov dword [ebp - 0x272c], edi
mov dword [ebp - 0x2728], edi
push 0x406490
push 0x406275
push 9
push 4
lea eax, [ebp - 0x2668]
push eax
mov byte [ebp - 4], 1
call fcn.0043a7ab
mov esi, 0x44d8ac
mov ebx, edi
push esi
lea ecx, [ebp - 0x271c]
mov byte [ebp - 4], 2
mov dword [ebp - 0x2724], ebx
call fcn.00406234
push esi
lea ecx, [ebp - 0x26f8]
mov byte [ebp - 4], 3
call fcn.00406234
push esi
lea ecx, [ebp - 0x2714]
mov byte [ebp - 4], 4
call fcn.00406234
push 0x2002
lea eax, [ebp - 0x2644]
push edi
push eax
mov byte [ebp - 4], 5
mov dword [ebp - 0x2704], edi
mov dword [ebp - 0x2720], edi
call fcn.00438dc0
add esp, 0xc
lea eax, [ebp - 0x2730]
push 0x2c
push eax
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov dword [ebp - 0x270c], edi
mov dword [ebp - 0x2700], 0x2000000
call fcn.0040693a
add eax, 0x10
pop ecx
mov dword [esi], eax
call fcn.0041954e
mov eax, dword [ebp - 0x272c]
mov esi, dword [ebp - 0x2730]
add esp, 0xc
sub eax, esi
push 0x18
cdq
pop ecx
idiv ecx
cmp eax, 8
jb 0x41fb0d
cmp eax, 9
ja 0x41fb0d
cmp esi, dword [ebp - 0x272c]
je 0x41ef4f
lea edi, [ebp - 0x2668]
cmp ebx, 9
jae 0x41ef3b
cmp dword [esi + 0x14], 8
jb 0x41ef17
mov eax, dword [esi]
jmp 0x41ef19
mov eax, esi
push eax
mov ecx, edi
call fcn.00409f9c
push dword [edi]
push ebx
push str.Parameter__1_d_____2_s__n
push str.CUninstallActions::SetVariable
push 4
call fcn.00405a24
add esp, 0x14
push 0x18
pop ecx
add esi, ecx
inc ebx
add edi, 4
cmp esi, dword [ebp - 0x272c]
jne 0x41ef08
mov edi, dword [ebp - 0x270c]
mov eax, dword [ebp - 0x2648]
cmp dword [eax - 0xc], 0
je 0x41ef83
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.0040693a
add eax, 0x10
mov dword [esi], eax
mov esi, dword [ebp - 0x26fc]
pop ecx
mov ecx, esi
call fcn.0041bf94
test eax, eax
jne 0x41ef89
jmp 0x41faf8
mov esi, dword [ebp - 0x26fc]
push str.SET_VARUNSIGNED
lea ecx, [ebp - 0x2668]
call fcn.004069bd
test eax, eax
jne 0x41efa1
xor ebx, ebx
jmp 0x41efef
push 0xe
mov ebx, str.SET_VARSIGNED
push ebx
call fcn.0043965b
push eax
push ebx
push dword [ebp - 0x2668]
call fcn.004394ab
add esp, 0x14
test eax, eax
jne 0x41efc7
xor ebx, ebx
inc ebx
jmp 0x41efef
push 0xe
mov ebx, str.SET_VARSTRING
push ebx
call fcn.0043965b
push eax
push ebx
push dword [ebp - 0x2668]
call fcn.004394ab
add esp, 0x14
test eax, eax
jne 0x41fafd
push 2
pop ebx
push str.HKLM_WOW64
lea ecx, [ebp - 0x2658]
mov dword [ebp - 0x2718], ebx
call fcn.004069bd
test eax, eax
jne 0x41f01a
mov esi, 0x80000002
mov dword [ebp - 0x2700], 0x20219
jmp 0x41f088
push str.HKLM
lea ecx, [ebp - 0x2658]
call fcn.004069bd
test eax, eax
jne 0x41f035
mov esi, 0x80000002
jmp 0x41f088
push str.HKCU
lea ecx, [ebp - 0x2658]
call fcn.004069bd
test eax, eax
jne 0x41f050
mov esi, 0x80000001
jmp 0x41f088
push str.HKCR
lea ecx, [ebp - 0x2658]
call fcn.004069bd
test eax, eax
jne 0x41f06b
mov esi, 0x80000000
jmp 0x41f088
push str.HKCC
lea ecx, [ebp - 0x2658]
call fcn.004069bd
test eax, eax
jne 0x41f3ca
mov esi, 0x80000005
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x2710], esi
call fcn.0042c4ac
push dword [ebp - 0x2700]
lea ecx, [ebp - 0x18]
push dword [ebp - 0x2654]
mov byte [ebp - 4], 6
push esi
call fcn.0042cc14
test eax, eax
je 0x41f2df
mov eax, dword [ebp - 0x2650]
xor ecx, ecx
cmp dword [eax - 0xc], ecx
push eax
sete cl
mov dword [ebp - 0x270c], ecx
lea ecx, [ebp - 0x18]
call fcn.0042cb68
lea ecx, [ebp - 0x18]
test eax, eax
jne 0x41f0ef
mov byte [ebp - 4], 5
call fcn.0042c4fc
mov edi, dword [ebp - 0x270c]
jmp 0x41f2eb
push dword [ebp - 0x2650]
xor edi, edi
inc edi
call fcn.0042c785
mov dword [ebp - 0x270c], eax
test ebx, ebx
je 0x41f2b4
cmp ebx, edi
je 0x41f2b4
lea ecx, [ebp - 0x2690]
call fcn.0042c4b9
mov eax, dword [ebp - 0x270c]
xor esi, esi
and dword [ebp - 0x2708], esi
and dword [ebp - 0x2734], esi
mov byte [ebp - 4], 8
cmp eax, edi
je 0x41f153
cmp eax, 2
je 0x41f153
lea ecx, [ebp - 0x2690]
mov byte [ebp - 4], 6
call fcn.0042c507
jmp 0x41f2df
push dword [ebp - 0x2700]
lea ecx, [ebp - 0x2690]
push dword [ebp - 0x2654]
push dword [ebp - 0x2710]
call fcn.0042cc14
test eax, eax
je 0x41f2a0
lea eax, [ebp - 0x2734]
push eax
push dword [ebp - 0x2650]
lea ecx, [ebp - 0x2690]
call fcn.0042cb44
mov dword [ebp - 0x2710], eax
test eax, eax
jne 0x41f1e4
mov ecx, dword [ebp - 0x264c]
mov esi, dword [ebp - 0x26fc]
mov eax, dword [ecx - 0xc]
lea edx, [ebp - 0x26f8]
push edx
inc eax
push eax
push ecx
mov ecx, esi
mov dword [ebp - 0x2724], 1
call fcn.00420631
lea ecx, [ebp - 0x2690]
mov byte [ebp - 4], 6
call fcn.0042c507
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.0042c4fc
jmp 0x41f2f1
push dword [ebp - 0x2734]
push eax
call fcn.0043965b
inc eax
cmp dword [ebp - 0x270c], 2
pop ecx
pop ecx
mov dword [ebp - 0x2700], eax
jne 0x41f259
push esi
call fcn.0042afb6
mov eax, dword [ebp - 0x2708]
inc eax
mov dword [ebp - 0x2700], eax
mov dword [esp], 0x87d
add eax, eax
push str.DevConFunc.cpp
push eax
call fcn.0042ae50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x41f13f
push dword [ebp - 0x2700]
push esi
push dword [ebp - 0x2710]
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov dword [ebp - 0x2708], eax
cmp eax, dword [ebp - 0x2700]
jae 0x41f202
jmp 0x41f28d
push 0x882
add eax, eax
push str.DevConFunc.cpp
push eax
call fcn.0042ae50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x41f13f
push dword [ebp - 0x2710]
push dword [ebp - 0x2700]
push esi
call fcn.00439aca
add esp, 0xc
push esi
lea ecx, [ebp - 0x26f8]
call fcn.00409f9c
push esi
call fcn.0042afb6
pop ecx
lea ecx, [ebp - 0x2690]
mov byte [ebp - 4], 6
call fcn.0042c507
jmp 0x41f3b9
lea ecx, [ebp - 0x268c]
call fcn.0042c489
cmp dword [ebp - 0x270c], 4
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x268c]
je 0x41f37b
mov byte [ebp - 4], 6
call fcn.0042c4df
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.0042c4fc
mov esi, dword [ebp - 0x26fc]
sub ebx, 0
je 0x41f337
dec ebx
je 0x41f31f
dec ebx
jne 0x41f86b
mov ecx, dword [ebp - 0x264c]
lea edx, [ebp - 0x26f8]
mov eax, dword [ecx - 0xc]
push edx
inc eax
push eax
push ecx
mov ecx, esi
call fcn.00420631
jmp 0x41f86b
push str.SET_VARSIGNED_EXIST
lea ecx, [ebp - 0x2668]
call fcn.004069bd
test eax, eax
je 0x41f5f7
lea eax, [ebp - 0x2704]
push eax
push str.0x_x
push dword [ebp - 0x264c]
call fcn.0043a53b
add esp, 0xc
test eax, eax
jg 0x41f86b
push 0xa
lea eax, [ebp - 0x2720]
push eax
push dword [ebp - 0x264c]
call fcn.0043a4af
add esp, 0xc
mov dword [ebp - 0x2704], eax
jmp 0x41f86b
push dword [ebp - 0x2700]
push dword [ebp - 0x2654]
push esi
call fcn.0042cc14
test eax, eax
je 0x41f3aa
push dword [ebp - 0x2650]
lea ecx, [ebp - 0x268c]
call fcn.0042ca6a
mov eax, dword [eax]
mov dword [ebp - 0x2704], eax
lea ecx, [ebp - 0x268c]
mov byte [ebp - 4], 6
call fcn.0042c4df
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.0042c4fc
jmp 0x41f5c5
push str.DIRECT
lea ecx, [ebp - 0x2658]
call fcn.004069bd
test eax, eax
jne 0x41f402
push 0x1000
push dword [ebp - 0x264c]
lea eax, [ebp - 0x2644]
push 0x1001
push eax
call fcn.0043aab7
add esp, 0x10
jmp 0x41f56e
push str.FILEPATH
lea ecx, [ebp - 0x2658]
call fcn.004069bd
test eax, eax
jne 0x41f463
push 0x1000
push dword [ebp - 0x264c]
lea eax, [ebp - 0x2644]
push 0x1001
push eax
call fcn.0043aab7
xor eax, eax
add esp, 0x10
cmp ax, word [ebp - 0x2644]
je 0x41f56e
lea eax, [ebp - 0x2644]
push eax
xor edi, edi
call fcn.004346e5
test al, 3
pop ecx
je 0x41f56e
xor edi, edi
inc edi
jmp 0x41f56e
push str.FILEPATH_DIR
lea ecx, [ebp - 0x2658]
call fcn.004069bd
test eax, eax
jne 0x41f4b7
push 0x1000
push dword [ebp - 0x264c]
lea eax, [ebp - 0x2644]
push 0x1001
push eax
call fcn.0043aab7
xor eax, eax
add esp, 0x10
cmp ax, word [ebp - 0x2644]
je 0x41f56e
lea eax, [ebp - 0x2644]
push eax
xor edi, edi
call fcn.004346e5
test al, 1
jmp 0x41f454
push str.FILEPATH_FILE
lea ecx, [ebp - 0x2658]
call fcn.004069bd
test eax, eax
jne 0x41f50a
push 0x1000
push dword [ebp - 0x264c]
lea eax, [ebp - 0x2644]
push 0x1001
push eax
call fcn.0043aab7
xor eax, eax
add esp, 0x10
cmp ax, word [ebp - 0x2644]
je 0x41f56e
lea eax, [ebp - 0x2644]
push eax
xor edi, edi
call fcn.004346e5
test al, 2
jmp 0x41f454
mov ecx, dword [ebp - 0x2658]
lea edx, [ebp - 0x271c]
mov eax, dword [ecx - 0xc]
push edx
inc eax
push eax
push ecx
mov ecx, esi
call fcn.00420631
push dword [ebp - 0x271c]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push dword [ebp - 0x271c]
xor ecx, ecx
push 0x1001
cmp eax, 0xffffffff
lea eax, [ebp - 0x2644]
push eax
push dword [ebp - 0x264c]
setne cl
push dword [ebp - 0x2650]
push dword [ebp - 0x2654]
mov dword [ebp - 0x270c], ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edi, dword [ebp - 0x270c]
lea eax, [ebp - 0x2704]
push eax
lea eax, [ebp - 0x2644]
push str.0x_x
push eax
call fcn.0043a53b
add esp, 0xc
test eax, eax
jg 0x41f5ab
push 0xa
lea eax, [ebp - 0x2720]
push eax
lea eax, [ebp - 0x2644]
push eax
call fcn.0043a4af
add esp, 0xc
mov dword [ebp - 0x2704], eax
mov ecx, dword [ebp - 0x264c]
lea edx, [ebp - 0x26f8]
mov eax, dword [ecx - 0xc]
push edx
inc eax
push eax
push ecx
mov ecx, esi
call fcn.00420631
cmp ebx, 1
jne 0x41f602
push str.SET_VARSIGNED_EXIST
lea ecx, [ebp - 0x2668]
call fcn.004069bd
test eax, eax
jne 0x41f86b
push edi
push str.SET_VARSIGNED_EXIST_bExist___1_x_
push str.CUninstallActions::SetVariable
push 4
call fcn.00405a24
add esp, 0x10
mov dword [ebp - 0x2704], edi
jmp 0x41f86b
cmp ebx, 2
jne 0x41f86b
mov ebx, 0x101
push ebx
lea eax, [ebp - 0x43c]
push eax
push ebx
lea eax, [ebp - 0x640]
push eax
push 0x105
lea eax, [ebp - 0x238]
push eax
push 4
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x26f8]
call fcn.0043967a
add esp, 0x24
lea ecx, [ebp - 0x2668]
push str.SET_VARSTRING_DRIVE
call fcn.004069bd
test eax, eax
jne 0x41f659
lea eax, [ebp - 0x18]
jmp 0x41f6bc
push str.SET_VARSTRING_DIR
lea ecx, [ebp - 0x2668]
call fcn.004069bd
test eax, eax
je 0x41f84a
push str.SET_VARSTRING_FILE
lea ecx, [ebp - 0x2668]
call fcn.004069bd
test eax, eax
jne 0x41f6a2
lea eax, [ebp - 0x640]
push eax
lea ecx, [ebp - 0x26f8]
call fcn.00409f9c
lea eax, [ebp - 0x43c]
jmp 0x41f85f
push str.SET_VARSTRING_EXT
lea ecx, [ebp - 0x2668]
call fcn.004069bd
test eax, eax
jne 0x41f6cd
lea eax, [ebp - 0x43c]
push eax
lea ecx, [ebp - 0x26f8]
call fcn.00409f9c
jmp 0x41f86b
push str.SET_VARSTRING_ISU
lea ecx, [ebp - 0x2668]
call fcn.004069bd
test eax, eax
jne 0x41f86b
mov eax, dword [0x451ee0]
mov esi, str..isu_
lea edi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x20], eax
mov eax, dword [0x451ee4]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1c], eax
push 0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x26f8]
movsd dword es:[edi], dword [esi]
call fcn.0040ceb0
mov esi, eax
lea eax, [ebp - 0x20]
test esi, esi
jle 0x41f76f
push 4
push eax
call fcn.0043965b
pop ecx
pop ecx
add esi, eax
push esi
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x26f8]
call fcn.0040ceb0
mov edi, eax
test edi, edi
jle 0x41f86b
lea eax, [ebp - 0x2c]
push 6
push eax
call fcn.0043965b
dec eax
pop ecx
pop ecx
add eax, edi
sub eax, esi
push eax
push esi
lea eax, [ebp - 0x2708]
push eax
lea ecx, [ebp - 0x26f8]
call fcn.0040d347
mov byte [ebp - 4], 9
jmp 0x41f7fc
push 0x451ef4
push 4
push eax
call fcn.00439aca
push str..isu
lea eax, [ebp - 0x2c]
push 6
push eax
call fcn.00439aca
add esp, 0x18
lea eax, [ebp - 0x20]
push 0
push eax
lea ecx, [ebp - 0x26f8]
call fcn.0040ceb0
mov esi, eax
test esi, esi
jle 0x41f86b
lea eax, [ebp - 0x20]
push 4
push eax
call fcn.0043965b
pop ecx
pop ecx
add esi, eax
push esi
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x26f8]
call fcn.0040ceb0
mov edi, eax
test edi, edi
jle 0x41f86b
lea eax, [ebp - 0x2c]
push 6
push eax
call fcn.0043965b
pop ecx
pop ecx
add edi, eax
sub edi, esi
push edi
push esi
lea eax, [ebp - 0x2708]
push eax
lea ecx, [ebp - 0x26f8]
call fcn.0040d347
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x26f8]
call fcn.004065c3
mov ecx, dword [ebp - 0x2708]
mov byte [ebp - 4], 5
lea ecx, [ecx - 0x10]
call fcn.00409a06
push ebx
lea eax, [ebp - 0x43c]
push eax
push ebx
lea eax, [ebp - 0x640]
push eax
push 0x105
lea eax, [ebp - 0x238]
push eax
push 4
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x26f8]
call fcn.0043967a
add esp, 0x24
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x26f8]
call fcn.00409f9c
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x26f8]
call fcn.00406767
push dword [ebp - 0x265c]
lea ecx, [ebp - 0x26a8]
call fcn.00403477
mov edi, dword [ebp - 0x26fc]
lea eax, [ebp - 0x26a8]
push eax
lea eax, [ebp - 0x2708]
push eax
lea ecx, [edi + 0xc]
call fcn.004057eb
mov ebx, dword [eax]
push 0
push 1
lea ecx, [ebp - 0x26a8]
call fcn.00401ba5
mov esi, dword [ebp - 0x2718]
test esi, esi
je 0x41f8cf
cmp ebx, dword [edi + 0xc]
je 0x41f8cf
push dword [ebp + 8]
lea eax, [ebp - 0x2714]
push str.__s__the_variable_is_already_defined_as_unsigned_variable.
push eax
call fcn.00406ea6
add esp, 0xc
push dword [ebp - 0x265c]
lea ecx, [ebp - 0x26a8]
call fcn.00403477
lea ecx, [ebp - 0x26a8]
push ecx
mov eax, edi
lea ecx, [ebp - 0x2708]
push ecx
lea ecx, [eax + 0x14]
call fcn.004057eb
mov edi, dword [eax]
push 0
push 1
lea ecx, [ebp - 0x26a8]
call fcn.00401ba5
cmp esi, 1
je 0x41f930
mov eax, dword [ebp - 0x26fc]
cmp edi, dword [eax + 0x14]
je 0x41f930
push dword [ebp + 8]
lea eax, [ebp - 0x2714]
push str.__s__the_variable_is_already_defined_as_signed_variable.
push eax
call fcn.00406ea6
add esp, 0xc
push dword [ebp - 0x265c]
lea ecx, [ebp - 0x26a8]
call fcn.00403477
mov eax, dword [ebp - 0x26fc]
lea ecx, [ebp - 0x26a8]
push ecx
add eax, 0x1c
lea ecx, [ebp - 0x2708]
push ecx
mov ecx, eax
mov dword [ebp - 0x2700], eax
call fcn.004057eb
mov esi, dword [eax]
push 0
push 1
lea ecx, [ebp - 0x26a8]
call fcn.00401ba5
mov ecx, dword [ebp - 0x2718]
mov edx, dword [ebp - 0x2700]
cmp ecx, 2
je 0x41f9ae
cmp esi, dword [edx]
je 0x41f9ae
push dword [ebp + 8]
lea eax, [ebp - 0x2714]
push str.__s__the_variable_is_already_defined_as_string_variable.
push eax
call fcn.00406ea6
mov ecx, dword [ebp - 0x2718]
mov edx, dword [ebp - 0x2700]
add esp, 0xc
mov eax, dword [ebp - 0x2714]
cmp dword [eax - 0xc], 0
je 0x41f9cf
push 0x10
push str.Internal_Error
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x41fb05
sub ecx, 0
je 0x41fa9f
dec ecx
je 0x41fa4a
dec ecx
jne 0x41faf8
cmp esi, dword [edx]
je 0x41f9f9
push dword [ebp - 0x26f8]
lea ecx, [esi + 0x28]
call fcn.00401d8b
jmp 0x41faf8
push dword [ebp - 0x265c]
mov esi, dword [ebp - 0x26f8]
lea ecx, [ebp - 0x26f4]
call fcn.00403477
push esi
lea ecx, [ebp - 0x26dc]
mov byte [ebp - 4], 0xd
call fcn.00403477
mov ecx, dword [ebp - 0x2700]
lea eax, [ebp - 0x26f4]
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0xe
call fcn.0040c27c
lea ecx, [ebp - 0x26f4]
call fcn.0040393c
jmp 0x41faf8
mov ebx, dword [ebp - 0x26fc]
cmp edi, dword [ebx + 0x14]
je 0x41fa63
mov eax, dword [ebp - 0x2704]
mov dword [edi + 0x28], eax
jmp 0x41faf8
push dword [ebp - 0x265c]
mov esi, dword [ebp - 0x2704]
lea ecx, [ebp - 0x26c4]
call fcn.00403477
mov dword [ebp - 0x26ac], esi
lea eax, [ebp - 0x26c4]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebx + 0x14]
mov byte [ebp - 4], 0xc
call fcn.004061b9
lea ecx, [ebp - 0x26c4]
jmp 0x41faef
mov esi, dword [ebp - 0x26fc]
cmp ebx, dword [esi + 0xc]
je 0x41fab5
mov eax, dword [ebp - 0x2704]
mov dword [ebx + 0x28], eax
jmp 0x41faf8
push dword [ebp - 0x265c]
lea ecx, [ebp - 0x2684]
call fcn.00403477
mov eax, dword [ebp - 0x2704]
mov dword [ebp - 0x266c], eax
lea eax, [ebp - 0x2684]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [esi + 0xc]
mov byte [ebp - 4], 0xb
call fcn.004061b9
lea ecx, [ebp - 0x2684]
push 0
push 1
call fcn.00401ba5
xor ebx, ebx
inc ebx
jmp 0x41fb41
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ebx, dword [ebp - 0x2724]
jmp 0x41fb41
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
push dword [ebp + 8]
lea eax, [ebp - 0x2714]
push str.CUninstallActions::SetVariable_invalid_parameters.___s_
push eax
call fcn.00406ea6
add esp, 0xc
push 0x10
push str.Internal_Error
push dword [ebp - 0x2714]
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x2714]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0x26f8]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0x271c]
lea ecx, [ecx - 0x10]
call fcn.00409a06
push 0x406490
push 9
push 4
lea eax, [ebp - 0x2668]
push eax
mov byte [ebp - 4], 1
call fcn.00438e50
lea ecx, [ebp - 0x2730]
call fcn.004052ea
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.00409a06
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00438628
leave
ret 4