Function at 0x42dbd0
Capabilities:
Copy file
Query environment variable
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4619a3
mov eax, dword fs:[0]
push eax
sub esp, 0x90c
mov eax, dword [0x4745a8]
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 ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
xor eax, eax
mov edi, 0xf
mov dword [ebp - 0x914], ebx
mov dword [ebp - 0x918], esi
mov dword [ebp - 0x640], edi
mov dword [ebp - 0x644], eax
mov byte [ebp - 0x654], al
push 0x12
push str.IsUninstallPrompt:
lea ecx, [ebp - 0x670]
mov dword [ebp - 4], eax
mov dword [ebp - 0x65c], edi
mov dword [ebp - 0x660], eax
mov byte [ebp - 0x670], al
call fcn.00407c70
push 0
push 0x46c3e8
lea ecx, [ebp - 0x68c]
mov byte [ebp - 4], 1
mov dword [ebp - 0x678], edi
mov dword [ebp - 0x67c], 0
mov byte [ebp - 0x68c], 0
call fcn.00407c70
mov byte [ebp - 4], 2
test esi, esi
jne 0x42dd5e
cmp dword [ebp - 0x65c], 0x10
mov edx, dword [ebp - 0x670]
jae 0x42dc9e
lea edx, [ebp - 0x670]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42dca3
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x654]
call fcn.00407c70
push 0xe
push str.parameter_err.
lea ecx, [ebp - 0x654]
call fcn.00412810
cmp dword [ebp - 0x640], 0x10
mov eax, dword [ebp - 0x654]
jae 0x42dce0
lea eax, [ebp - 0x654]
xor esi, esi
push esi
push eax
push ebx
call fcn.00424e80
mov ebx, 0x10
add esp, 0xc
cmp dword [ebp - 0x678], ebx
jb 0x42dd09
mov eax, dword [ebp - 0x68c]
push eax
call fcn.00439f71
add esp, 4
mov dword [ebp - 0x678], edi
mov dword [ebp - 0x67c], esi
mov byte [ebp - 0x68c], 0
cmp dword [ebp - 0x65c], ebx
jb 0x42dd33
mov ecx, dword [ebp - 0x670]
push ecx
call fcn.00439f71
add esp, 4
mov dword [ebp - 0x65c], edi
mov dword [ebp - 0x660], esi
mov byte [ebp - 0x670], 0
cmp dword [ebp - 0x640], ebx
jb 0x42f0ba
mov edx, dword [ebp - 0x654]
push edx
jmp 0x42f0b2
xor esi, esi
mov dword [ebp - 0x910], esi
mov dword [ebp - 0x90c], esi
call fcn.0042af70
cmp eax, esi
jne 0x42dd8c
push 0x22
push str._utl_GetCommonProgramFiles_failed_
lea ecx, [ebp - 0x68c]
call fcn.00412810
jmp 0x42e9ca
push str.iNodeSecure_Client_reginfo
push eax
lea eax, [ebp - 0x324]
push 0x466504
push eax
call fcn.0043ac3a
push ebx
call fcn.0042cbc0
add esp, 0x14
test eax, eax
jne 0x42e0ee
push 0x2f
push str.verifying_iNodeCustom_xml_info_FAILED_with_Err
lea ecx, [ebp - 0x68c]
call fcn.00407c70
push 0x14
push str.__So_copy_bak_files_
lea ecx, [ebp - 0x68c]
call fcn.00412810
push 0x105
lea ecx, [ebp - 0x534]
push ecx
push str.SystemRoot
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea eax, [ebp - 0x534]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42ddf6
mov edx, dword [str._system32_]
mov ecx, dword [0x467c4c]
mov dword [eax], edx
mov dx, word [0x467c50]
mov dword [eax + 4], ecx
mov cl, byte [0x467c52]
mov word [eax + 8], dx
mov byte [eax + 0xa], cl
xor eax, eax
jmp 0x42de30
mov cl, byte [ebp + eax - 0x534]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42de30
lea eax, [ebp - 0x220]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42de50
mov edx, dword [str.iNodeCustom.xml]
mov esi, dword [0x467b40]
mov ebx, dword [0x467b44]
mov ecx, dword [0x467b48]
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
xor eax, eax
lea ecx, [ecx]
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp + eax - 0x118], cl
inc eax
test cl, cl
jne 0x42de80
lea edi, [ebp - 0x118]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42dea0
mov ax, word [0x466664]
mov word [edi], ax
lea eax, [ebp - 0x118]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42deb8
mov ecx, dword [0x467b48]
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
push 0
lea edx, [ebp - 0x118]
mov dword [eax + 0xc], ecx
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x42df02
push 0x26
push str.CopyFile_iNodeCustom.xml_return_false_
lea ecx, [ebp - 0x68c]
call fcn.00412810
jmp 0x42e0f8
xor eax, eax
jmp 0x42df10
mov cl, byte [ebp + eax - 0x534]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42df10
lea eax, [ebp - 0x220]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42df30
mov edx, dword [str.iNodeCustomXml.vrf]
mov esi, dword [0x467b2c]
mov ebx, dword [0x467b30]
mov ecx, dword [0x467b34]
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov cx, word [0x467b38]
mov word [eax + 0x10], cx
mov cl, byte [0x467b3a]
mov byte [eax + 0x12], cl
xor eax, eax
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp + eax - 0x118], cl
inc eax
test cl, cl
jne 0x42df71
lea edi, [ebp - 0x118]
dec edi
jmp 0x42df90
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42df90
mov ax, word [0x466664]
mov word [edi], ax
lea eax, [ebp - 0x118]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42dfa8
mov ecx, dword [0x467b34]
mov dword [eax], edx
mov dx, word [0x467b38]
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov cl, byte [0x467b3a]
mov word [eax + 0x10], dx
push 0
lea edx, [ebp - 0x118]
mov byte [eax + 0x12], cl
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x42e006
push 0x29
push str.CopyFile_iNodeCustomxml.vrf_return_false_
lea ecx, [ebp - 0x68c]
call fcn.00412810
jmp 0x42e0f8
push 0x46c3e8
lea ecx, [ebp - 0x324]
push 0
push ecx
call fcn.004293e0
add esp, 0xc
test eax, eax
jne 0x42e0ee
lea ecx, [ebp - 0x908]
call fcn.00414eb0
lea ecx, [ebp - 0x87c]
mov byte [ebp - 4], 3
call fcn.0042b8f0
push 0x104
lea edx, [ebp - 0x7b3]
push 0
push edx
mov byte [ebp - 4], 4
mov byte [ebp - 0x7b4], 0
call fcn.0043abc0
push str.iNodeCustom.xml
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x7b4]
push 0x466504
push ecx
call fcn.0043ac3a
add esp, 0x1c
lea edx, [ebp - 0x87c]
push edx
lea eax, [ebp - 0x7b4]
push eax
lea ecx, [ebp - 0x908]
call fcn.00419b50
cmp dword [ebp - 0x864], 0x10
mov eax, dword [ebp - 0x878]
jae 0x42e0aa
lea eax, [ebp - 0x878]
push eax
lea ecx, [ebp - 0x324]
push 1
push ecx
call fcn.004293e0
add esp, 0xc
test eax, eax
jne 0x42e0d2
push 0x2c
push str.verifying_iNodeCustom_xml_info_FAILED_again_
lea ecx, [ebp - 0x68c]
call fcn.00412810
lea ecx, [ebp - 0x87c]
call fcn.00412270
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 2
call fcn.00411e50
jmp 0x42e0f8
mov dword [ebp - 0x90c], 1
cmp dword [ebp - 0x67c], 0
je 0x42e187
mov edx, dword [ebp - 0x670]
mov edi, 0x10
cmp dword [ebp - 0x65c], edi
jae 0x42e11e
lea edx, [ebp - 0x670]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e123
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x654]
call fcn.00407c70
push 0xffffffffffffffff
push 0
lea edx, [ebp - 0x68c]
push edx
lea ecx, [ebp - 0x654]
call fcn.00412720
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], edi
jae 0x42e163
lea eax, [ebp - 0x654]
push 0
push eax
mov eax, dword [ebp - 0x914]
push eax
call fcn.00424e80
add esp, 0xc
push 0
push 0x46c3e8
lea ecx, [ebp - 0x68c]
call fcn.00407c70
cmp dword [ebp - 0x90c], 0
jne 0x42e3d9
lea ecx, [ebp - 0x324]
push ecx
call fcn.0042b140
add esp, 4
test eax, eax
jne 0x42e3cf
push 0x29
push str.verifying_uninstall_info_FAILED_with_Err
lea ecx, [ebp - 0x68c]
call fcn.00407c70
push 0x14
push str.__So_copy_bak_files_
lea ecx, [ebp - 0x68c]
call fcn.00412810
push 0x105
lea edx, [ebp - 0x7b4]
push edx
push str.SystemRoot
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea eax, [ebp - 0x7b4]
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42e1f0
mov ecx, dword [str._system32_]
mov edx, dword [0x467c4c]
mov dword [eax], ecx
mov cx, word [0x467c50]
mov dword [eax + 4], edx
mov dl, byte [0x467c52]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
xor eax, eax
nop
mov cl, byte [ebp + eax - 0x7b4]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42e220
lea edi, [ebp - 0x220]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e240
mov ecx, 5
mov esi, str.iNodeUninstallInfo.xml
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp + eax - 0x118], cl
inc eax
test cl, cl
jne 0x42e260
lea edi, [ebp - 0x118]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e280
mov ax, word [0x466664]
mov word [edi], ax
lea edi, [ebp - 0x118]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e298
mov ebx, dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, 5
mov esi, str.iNodeUninstallInfo.xml
rep movsd dword es:[edi], dword [esi]
push 0
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x118]
push ecx
lea edx, [ebp - 0x220]
push edx
movsb byte es:[edi], byte [esi]
call ebx
test eax, eax
jne 0x42e2e2
push 0x2d
push str.CopyFile_iNodeUninstallInfo.xml_return_false_
lea ecx, [ebp - 0x68c]
call fcn.00412810
jmp 0x42e3d9
xor eax, eax
jmp 0x42e2f0
mov cl, byte [ebp + eax - 0x7b4]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42e2f0
lea edi, [ebp - 0x220]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e310
mov ecx, 6
mov esi, str.iNodeUninstallInfoXml.vrf
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor eax, eax
jmp 0x42e330
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp + eax - 0x118], cl
inc eax
test cl, cl
jne 0x42e330
lea edi, [ebp - 0x118]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e350
mov ax, word [0x466664]
mov word [edi], ax
lea edi, [ebp - 0x118]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e368
mov ecx, 6
mov esi, str.iNodeUninstallInfoXml.vrf
rep movsd dword es:[edi], dword [esi]
push 0
lea ecx, [ebp - 0x118]
push ecx
lea edx, [ebp - 0x220]
push edx
movsw word es:[edi], word [esi]
call ebx
test eax, eax
jne 0x42e3a8
push 0x30
push str.CopyFile_iNodeUninstallInfoxml.vrf_return_false_
lea ecx, [ebp - 0x68c]
call fcn.00412810
jmp 0x42e3d9
lea eax, [ebp - 0x324]
push eax
call fcn.0042b140
add esp, 4
test eax, eax
jne 0x42e3cf
push 0x2a
push str.verifying_Uninstall_xml_info_FAILED_again_
lea ecx, [ebp - 0x68c]
call fcn.00412810
jmp 0x42e3d9
mov dword [ebp - 0x90c], 2
cmp dword [ebp - 0x67c], 0
je 0x42e468
mov edx, dword [ebp - 0x670]
mov edi, 0x10
cmp dword [ebp - 0x65c], edi
jae 0x42e3ff
lea edx, [ebp - 0x670]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e404
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x654]
call fcn.00407c70
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x68c]
push ecx
lea ecx, [ebp - 0x654]
call fcn.00412720
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], edi
jae 0x42e444
lea eax, [ebp - 0x654]
mov edx, dword [ebp - 0x914]
push 0
push eax
push edx
call fcn.00424e80
add esp, 0xc
push 0
push 0x46c3e8
lea ecx, [ebp - 0x68c]
call fcn.00407c70
cmp dword [ebp - 0x90c], 0
jne 0x42e6e2
mov eax, dword [ebp - 0x914]
push eax
call fcn.0042c180
add esp, 4
test eax, eax
jne 0x42e6d8
push 0x2f
push str.verifying_iNodeCustom_ini_info_FAILED_with_Err
lea ecx, [ebp - 0x68c]
call fcn.00407c70
push 0x14
push str.__So_copy_bak_files_
lea ecx, [ebp - 0x68c]
call fcn.00412810
push 0x105
lea ecx, [ebp - 0x7b4]
push ecx
push str.SystemRoot
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea eax, [ebp - 0x7b4]
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42e4d0
mov edx, dword [str._system32_]
mov ecx, dword [0x467c4c]
mov dword [eax], edx
mov dx, word [0x467c50]
mov dword [eax + 4], ecx
mov cl, byte [0x467c52]
mov word [eax + 8], dx
mov byte [eax + 0xa], cl
xor eax, eax
nop
mov cl, byte [ebp + eax - 0x7b4]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42e500
lea eax, [ebp - 0x220]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42e520
mov edx, dword [str.iNodeCustom.ini]
mov esi, dword [0x467c2c]
mov ebx, dword [0x467c30]
mov ecx, dword [0x467c34]
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
xor eax, eax
lea ecx, [ecx]
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp + eax - 0x118], cl
inc eax
test cl, cl
jne 0x42e550
lea edi, [ebp - 0x118]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e570
mov ax, word [0x466664]
mov word [edi], ax
lea eax, [ebp - 0x118]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42e588
mov ecx, dword [0x467c34]
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
push 0
lea edx, [ebp - 0x118]
mov dword [eax + 0xc], ecx
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x42e5d2
push 0x26
push str.CopyFile_iNodeCustom.ini_return_false_
lea ecx, [ebp - 0x68c]
call fcn.00412810
jmp 0x42e6e2
xor eax, eax
jmp 0x42e5e0
mov cl, byte [ebp + eax - 0x7b4]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42e5e0
lea eax, [ebp - 0x220]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42e600
mov edx, dword [str.iNodeCustom.vrf]
mov esi, dword [0x467c3c]
mov ebx, dword [0x467c40]
mov ecx, dword [0x467c44]
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
xor eax, eax
lea ecx, [ecx]
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp + eax - 0x118], cl
inc eax
test cl, cl
jne 0x42e630
lea edi, [ebp - 0x118]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e650
mov ax, word [0x466664]
mov word [edi], ax
lea eax, [ebp - 0x118]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42e668
mov ecx, dword [0x467c44]
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
push 0
lea edx, [ebp - 0x118]
mov dword [eax + 0xc], ecx
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x42e6af
push 0x26
push str.CopyFile_iNodeCustom.vrf_return_false_
lea ecx, [ebp - 0x68c]
call fcn.00412810
jmp 0x42e6e2
lea ecx, [ebp - 0x324]
push 0
push ecx
call fcn.00428fe0
add esp, 8
test eax, eax
jne 0x42e6d8
push 0x2c
push str.verifying_iNodeCustom_ini_info_FAILED_again_
lea ecx, [ebp - 0x68c]
call fcn.00412810
jmp 0x42e6e2
mov dword [ebp - 0x90c], 3
cmp dword [ebp - 0x67c], 0
je 0x42e774
mov edx, dword [ebp - 0x670]
mov edi, 0x10
cmp dword [ebp - 0x65c], edi
jae 0x42e708
lea edx, [ebp - 0x670]
mov eax, edx
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e710
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x654]
call fcn.00407c70
push 0xffffffffffffffff
push 0
lea edx, [ebp - 0x68c]
push edx
lea ecx, [ebp - 0x654]
call fcn.00412720
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], edi
jae 0x42e750
lea eax, [ebp - 0x654]
push 0
push eax
mov eax, dword [ebp - 0x914]
push eax
call fcn.00424e80
add esp, 0xc
push 0
push 0x46c3e8
lea ecx, [ebp - 0x68c]
call fcn.00407c70
cmp dword [ebp - 0x90c], 0
jne 0x42e9ca
lea ecx, [ebp - 0x324]
push ecx
call fcn.00429860
add esp, 4
test eax, eax
jne 0x42e9c0
push 0x2d
push str.verifying_uninstall_ini_info_FAILED_with_Err
lea ecx, [ebp - 0x68c]
call fcn.00407c70
push 0x14
push str.__So_copy_bak_files_
lea ecx, [ebp - 0x68c]
call fcn.00412810
push 0x105
lea edx, [ebp - 0x7b4]
push edx
push str.SystemRoot
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea eax, [ebp - 0x7b4]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42e7e0
mov ecx, dword [str._system32_]
mov edx, dword [0x467c4c]
mov dword [eax], ecx
mov cx, word [0x467c50]
mov dword [eax + 4], edx
mov dl, byte [0x467c52]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
xor eax, eax
nop
mov cl, byte [ebp + eax - 0x7b4]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42e810
lea edi, [ebp - 0x220]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e830
mov ecx, 5
mov esi, str.iNodeUninstallInfo.ini
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp + eax - 0x118], cl
inc eax
test cl, cl
jne 0x42e850
lea edi, [ebp - 0x118]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e870
mov ax, word [0x466664]
mov word [edi], ax
lea edi, [ebp - 0x118]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e888
mov ebx, dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, 5
mov esi, str.iNodeUninstallInfo.ini
rep movsd dword es:[edi], dword [esi]
push 0
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x118]
push ecx
lea edx, [ebp - 0x220]
push edx
movsb byte es:[edi], byte [esi]
call ebx
test eax, eax
jne 0x42e8d2
push 0x2d
push str.CopyFile_iNodeUninstallInfo.ini_return_false_
lea ecx, [ebp - 0x68c]
call fcn.00412810
jmp 0x42e9ca
xor eax, eax
jmp 0x42e8e0
mov cl, byte [ebp + eax - 0x7b4]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42e8e0
lea edi, [ebp - 0x220]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e900
mov ecx, 5
mov esi, str.iNodeUninstallInfo.vrf
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp + eax - 0x118], cl
inc eax
test cl, cl
jne 0x42e920
lea edi, [ebp - 0x118]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e940
mov ax, word [0x466664]
mov word [edi], ax
lea edi, [ebp - 0x118]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e958
mov ecx, 5
mov esi, str.iNodeUninstallInfo.vrf
rep movsd dword es:[edi], dword [esi]
push 0
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x118]
push ecx
lea edx, [ebp - 0x220]
push edx
movsb byte es:[edi], byte [esi]
call ebx
test eax, eax
jne 0x42e999
push 0x2d
push str.CopyFile_iNodeUninstallInfo.vrf_return_false_
lea ecx, [ebp - 0x68c]
call fcn.00412810
jmp 0x42e9ca
lea eax, [ebp - 0x324]
push eax
call fcn.00429860
add esp, 4
test eax, eax
jne 0x42e9c0
push 0x2a
push str.verifying_Uninstall_ini_info_FAILED_again_
lea ecx, [ebp - 0x68c]
call fcn.00412810
jmp 0x42e9ca
mov dword [ebp - 0x90c], 4
cmp dword [ebp - 0x67c], 0
mov ebx, 0x10
je 0x42ea45
mov edx, dword [ebp - 0x670]
cmp dword [ebp - 0x65c], ebx
jae 0x42e9ec
lea edx, [ebp - 0x670]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e9f1
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x654]
call fcn.00407c70
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x68c]
push ecx
lea ecx, [ebp - 0x654]
call fcn.00412720
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], ebx
jae 0x42ea31
lea eax, [ebp - 0x654]
mov edi, dword [ebp - 0x914]
push 0
push eax
push edi
call fcn.00424e80
add esp, 0xc
jmp 0x42ea4b
mov edi, dword [ebp - 0x914]
push 0x104
lea edx, [ebp - 0x42b]
push 0
push edx
mov byte [ebp - 0x42c], 0
call fcn.0043abc0
mov eax, dword [ebp - 0x90c]
add esp, 0xc
cmp eax, 4
ja case.default.0x42ea77
jmp dword [eax*4 + 0x42f33c]
lea eax, [ebp - 0x910]
push eax
push str.Uninstall
push str.SOFTWAREiNode
push 0x80000002
call fcn.00423ef0
add esp, 0x10
test eax, eax
mov eax, dword [ebp - 0x670]
jne 0x42ebbf
cmp dword [ebp - 0x65c], ebx
jae 0x42eab8
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x654]
call fcn.004077c0
push 0x1d
push str.Get_Uninstall_from_reg_failed
lea ecx, [ebp - 0x654]
call fcn.00412810
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], ebx
jae 0x42eaea
lea eax, [ebp - 0x654]
push 0
push eax
push edi
call fcn.00424e80
lea ecx, [ebp - 0x910]
push ecx
push str.Uninstall
push str.SOFTWAREH3CiNode
push 0x80000002
call fcn.00423ef0
add esp, 0x1c
test eax, eax
jne 0x42ebe5
mov eax, dword [ebp - 0x670]
cmp dword [ebp - 0x65c], ebx
jae 0x42eb2d
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x654]
call fcn.004077c0
push 0x21
push str.Get_Uninstall_from_old_reg_failed
lea ecx, [ebp - 0x654]
call fcn.00412810
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], ebx
jae 0x42eb5f
lea eax, [ebp - 0x654]
push 0
push eax
push edi
call fcn.00424e80
add esp, 0xc
mov eax, str.SOFTWAREiNode
mov edx, dword [ebp - 0x918]
push 0x80
push edx
push str.UninstallPwd
push eax
push 0x80000002
call fcn.00423fc0
add esp, 0x14
test eax, eax
mov eax, dword [ebp - 0x670]
jne 0x42ebec
cmp dword [ebp - 0x65c], ebx
jae 0x42eba7
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x654]
call fcn.004077c0
push 0x2b
push str.Get_UninstallPwd_from_reg_fail_Return_true.
jmp 0x42efae
cmp dword [ebp - 0x65c], ebx
jae 0x42ebcd
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x654]
call fcn.004077c0
push 0x1b
push str.Get_Uninstall_from_reg_succ
jmp 0x42eb40
mov eax, str.SOFTWAREH3CiNode
jmp 0x42eb70
cmp dword [ebp - 0x65c], ebx
jae 0x42ebfa
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x654]
call fcn.004077c0
push 0x1f
push str.Get_UninstallPwd_from_reg_Succ.
jmp 0x42efae
push str.iNodeCustom.xml
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x42c]
push 0x466504
push ecx
call fcn.0043ac3a
add esp, 0x10
lea ecx, [ebp - 0x7d0]
call fcn.0042ba70
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], 5
call fcn.00414eb0
lea edx, [ebp - 0x7d0]
push edx
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], 6
call fcn.00418d60
mov eax, dword [ebp - 0x7bc]
mov dword [ebp - 0x910], eax
cmp eax, 1
jne 0x42ed3d
mov esi, dword [ebp - 0x740]
test esi, esi
je 0x42ed3d
push 0x80
lea ecx, [ebp - 0x8ff]
push 0
push ecx
mov byte [ebp - 0x900], 0
call fcn.0043abc0
mov eax, dword [ebp - 0x750]
add esp, 0xc
cmp dword [ebp - 0x73c], ebx
jae 0x42ecbd
lea eax, [ebp - 0x750]
push esi
push eax
lea edx, [ebp - 0x900]
push 0x80
push edx
call fcn.0042fe60
mov ecx, dword [ebp - 0x918]
push 0x80
lea eax, [ebp - 0x900]
push eax
push ecx
call fcn.0043af30
mov eax, dword [ebp - 0x670]
add esp, 0x1c
cmp dword [ebp - 0x65c], ebx
jae 0x42ecff
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x654]
call fcn.004077c0
push 0x2a
push str.Get_UninstallPwd_from_NodeCustom.xml_succ.
lea ecx, [ebp - 0x654]
call fcn.00412810
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], ebx
jae 0x42ed31
lea eax, [ebp - 0x654]
push 0
push eax
push edi
call fcn.00424e80
add esp, 0xc
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], 5
call fcn.00411e50
lea ecx, [ebp - 0x7d0]
mov byte [ebp - 4], 2
call fcn.00411f30
jmp 0x42efd9
push str.iNodeUninstallInfo.xml
lea edx, [ebp - 0x324]
push edx
lea eax, [ebp - 0x42c]
push 0x466504
push eax
call fcn.0043ac3a
add esp, 0x10
lea ecx, [ebp - 0x6ac]
call fcn.0042bc40
mov bl, 7
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], bl
call fcn.00414eb0
lea ecx, [ebp - 0x6ac]
push ecx
lea edx, [ebp - 0x42c]
push edx
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], 8
call fcn.00419dd0
mov eax, dword [ebp - 0x6ac]
mov dword [ebp - 0x910], eax
cmp eax, 1
jne 0x42ee5a
cmp dword [ebp - 0x698], 0
je 0x42ee5a
mov eax, dword [ebp - 0x6a8]
mov esi, 0x10
cmp dword [ebp - 0x694], esi
jae 0x42edf3
lea eax, [ebp - 0x6a8]
push 0x80
push eax
mov eax, dword [ebp - 0x918]
push eax
call fcn.0043af30
mov eax, dword [ebp - 0x670]
add esp, 0xc
cmp dword [ebp - 0x65c], esi
jae 0x42ee1c
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x654]
call fcn.004077c0
push 0x32
push str.Get_UninstallPwd_from_iNodeUninstallInfo.xml_succ.
lea ecx, [ebp - 0x654]
call fcn.00412810
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], esi
jae 0x42ee4e
lea eax, [ebp - 0x654]
push 0
push eax
push edi
call fcn.00424e80
add esp, 0xc
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], bl
call fcn.00411e50
lea ecx, [ebp - 0x6ac]
mov byte [ebp - 4], 2
call fcn.0042b800
mov ebx, 0x10
jmp 0x42efd9
push str.iNodeCustom.ini
lea ecx, [ebp - 0x324]
push ecx
lea edx, [ebp - 0x42c]
push 0x466504
push edx
call fcn.0043ac3a
add esp, 0x10
lea eax, [ebp - 0x42c]
push eax
push 0
push str.Uninstall
push str.Functions
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x918]
lea ecx, [ebp - 0x42c]
push ecx
push 0x80
push edx
push 0x46c3e8
push str.Install
push str.Functions
mov dword [ebp - 0x910], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x42efd9
mov eax, dword [ebp - 0x670]
cmp dword [ebp - 0x65c], ebx
jae 0x42ef04
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x654]
call fcn.004077c0
push 0x2b
push str.Get_UninstallPwd_from_iNodeCustom.ini_succ.
jmp 0x42efae
push str.iNodeUninstallInfo.ini
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x42c]
push 0x466504
push ecx
call fcn.0043ac3a
add esp, 0x10
lea edx, [ebp - 0x42c]
push edx
push 0
push str.Uninstall
push str.Functions
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x918]
mov dword [ebp - 0x910], eax
lea eax, [ebp - 0x42c]
push eax
push 0x80
push ecx
push 0x46c3e8
push str.Install
push str.Functions
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x42efd9
mov eax, dword [ebp - 0x670]
cmp dword [ebp - 0x65c], ebx
jae 0x42ef9b
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x654]
call fcn.004077c0
push 0x32
push str.Get_UninstallPwd_from_iNodeUninstallInfo.ini_succ.
lea ecx, [ebp - 0x654]
call fcn.00412810
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], ebx
jae 0x42efcd
lea eax, [ebp - 0x654]
push 0
push eax
push edi
call fcn.00424e80
add esp, 0xc
cmp dword [ebp - 0x910], 0
jne 0x42f0d8
mov edx, dword [ebp - 0x670]
cmp dword [ebp - 0x65c], ebx
jae 0x42effa
lea edx, [ebp - 0x670]
mov eax, edx
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f000
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x654]
call fcn.00407c70
push 0x18
push str._dwResult__return_false.
lea ecx, [ebp - 0x654]
call fcn.00412810
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], ebx
jae 0x42f03c
lea eax, [ebp - 0x654]
push 0
push eax
push edi
call fcn.00424e80
add esp, 0xc
cmp dword [ebp - 0x678], ebx
jb 0x42f05f
mov edx, dword [ebp - 0x68c]
push edx
call fcn.00439f71
add esp, 4
xor edi, edi
mov esi, 0xf
mov byte [ebp - 0x68c], 0
mov dword [ebp - 0x67c], edi
mov dword [ebp - 0x678], esi
cmp dword [ebp - 0x65c], ebx
jb 0x42f090
mov eax, dword [ebp - 0x670]
push eax
call fcn.00439f71
add esp, 4
mov byte [ebp - 0x670], 0
mov dword [ebp - 0x660], edi
mov dword [ebp - 0x65c], esi
cmp dword [ebp - 0x640], ebx
jb 0x42f0ba
mov ecx, dword [ebp - 0x654]
push ecx
call fcn.00439f71
add esp, 4
xor eax, eax
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.00439bf4
mov esp, ebp
pop ebp
ret
push 0x104
lea edx, [ebp - 0x638]
push edx
push str.DisplayVersion
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall2DBC9F17_9894_4220_9A9C_2CF7AA59E0FD
push 0x80000002
call fcn.00423fc0
mov edx, dword [ebp - 0x670]
add esp, 0x14
test eax, eax
jne 0x42f27f
cmp dword [ebp - 0x65c], ebx
jae 0x42f117
lea edx, [ebp - 0x670]
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f120
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x654]
call fcn.00407c70
push 0x29
push str.Get_Version_from_new_reg_failed__try_old.
lea ecx, [ebp - 0x654]
call fcn.00412810
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], ebx
jae 0x42f15c
lea eax, [ebp - 0x654]
push 0
push eax
push edi
call fcn.00424e80
push 0x104
lea eax, [ebp - 0x638]
push eax
push str.DisplayVersion
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallCEF10E49_05ED_4427_A434_76F630409441
push 0x80000002
call fcn.00423fc0
add esp, 0x20
test eax, eax
mov eax, dword [ebp - 0x670]
jne 0x42f208
cmp dword [ebp - 0x65c], ebx
jae 0x42f1a4
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x654]
call fcn.004077c0
push 0x2e
push str.Get_Version_from_old_reg_failed__return_false.
lea ecx, [ebp - 0x654]
call fcn.00412810
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], ebx
jae 0x42f1d6
lea eax, [ebp - 0x654]
push 0
push eax
push edi
call fcn.00424e80
add esp, 0xc
lea ecx, [ebp - 0x68c]
call fcn.00407790
lea ecx, [ebp - 0x670]
call fcn.00407790
lea ecx, [ebp - 0x654]
call fcn.00407790
jmp 0x42f0ba
cmp dword [ebp - 0x65c], ebx
jae 0x42f216
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x654]
call fcn.004077c0
push 0x2b
push str.Get_Version_from_old_reg_succ__return_true.
lea ecx, [ebp - 0x654]
call fcn.00412810
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], ebx
jae 0x42f248
lea eax, [ebp - 0x654]
push 0
push eax
push edi
call fcn.00424e80
add esp, 0xc
lea ecx, [ebp - 0x68c]
call fcn.00407790
lea ecx, [ebp - 0x670]
call fcn.00407790
lea ecx, [ebp - 0x654]
call fcn.00407790
mov eax, 1
jmp 0x42f0bc
cmp dword [ebp - 0x65c], ebx
jae 0x42f28d
lea edx, [ebp - 0x670]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f292
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x654]
call fcn.00407c70
push 0x1b
push str.Get_Version_from_reg_succ.
lea ecx, [ebp - 0x654]
call fcn.00412810
lea eax, [ebp - 0x638]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f2c3
sub eax, edx
push eax
lea ecx, [ebp - 0x638]
push ecx
lea ecx, [ebp - 0x654]
call fcn.00412810
mov eax, dword [ebp - 0x654]
cmp dword [ebp - 0x640], ebx
jae 0x42f2f3
lea eax, [ebp - 0x654]
push 0
push eax
push edi
call fcn.00424e80
mov edx, dword [ebp - 0x670]
add esp, 0xc
cmp dword [ebp - 0x65c], ebx
jae 0x42f313
lea edx, [ebp - 0x670]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f318
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x654]
call fcn.00407c70
push 0x22
push str.Need_prompt_uninstall_password_Dlg
jmp 0x42f229