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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x461313
mov eax, dword fs:[0]
push eax
sub esp, 0x8f0
mov eax, dword [0x4735a8]
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 - 0x8f8], ebx
mov dword [ebp - 0x8fc], esi
mov dword [ebp - 0x748], edi
mov dword [ebp - 0x74c], eax
mov byte [ebp - 0x75c], al
push 0x12
push str.IsUninstallPrompt:
lea ecx, [ebp - 0x778]
mov dword [ebp - 4], eax
mov dword [ebp - 0x764], edi
mov dword [ebp - 0x768], eax
mov byte [ebp - 0x778], al
call fcn.00407c70
push 0
push 0x46b340
lea ecx, [ebp - 0x794]
mov byte [ebp - 4], 1
mov dword [ebp - 0x780], edi
mov dword [ebp - 0x784], 0
mov byte [ebp - 0x794], 0
call fcn.00407c70
mov byte [ebp - 4], 2
test esi, esi
jne 0x42d83e
cmp dword [ebp - 0x764], 0x10
mov edx, dword [ebp - 0x778]
jae 0x42d77e
lea edx, [ebp - 0x778]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42d783
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x75c]
call fcn.00407c70
push 0xe
push str.parameter_err.
lea ecx, [ebp - 0x75c]
call fcn.00412850
cmp dword [ebp - 0x748], 0x10
mov eax, dword [ebp - 0x75c]
jae 0x42d7c0
lea eax, [ebp - 0x75c]
xor esi, esi
push esi
push eax
push ebx
call fcn.00424ac0
mov ebx, 0x10
add esp, 0xc
cmp dword [ebp - 0x780], ebx
jb 0x42d7e9
mov eax, dword [ebp - 0x794]
push eax
call fcn.00439a51
add esp, 4
mov dword [ebp - 0x780], edi
mov dword [ebp - 0x784], esi
mov byte [ebp - 0x794], 0
cmp dword [ebp - 0x764], ebx
jb 0x42d813
mov ecx, dword [ebp - 0x778]
push ecx
call fcn.00439a51
add esp, 4
mov dword [ebp - 0x764], edi
mov dword [ebp - 0x768], esi
mov byte [ebp - 0x778], 0
cmp dword [ebp - 0x748], ebx
jb 0x42eb9a
mov edx, dword [ebp - 0x75c]
push edx
jmp 0x42eb92
xor esi, esi
mov dword [ebp - 0x8f4], esi
mov dword [ebp - 0x8f0], esi
call fcn.0042aa80
cmp eax, esi
jne 0x42d86c
push 0x22
push str._utl_GetCommonProgramFiles_failed_
lea ecx, [ebp - 0x794]
call fcn.00412850
jmp 0x42e4aa
push str.iNodeSecure_Client_reginfo
push eax
lea eax, [ebp - 0x324]
push 0x465478
push eax
call fcn.0043a71a
push ebx
call fcn.0042c6a0
add esp, 0x14
test eax, eax
jne 0x42dbce
push 0x2f
push str.verifying_iNodeCustom_xml_info_FAILED_with_Err
lea ecx, [ebp - 0x794]
call fcn.00407c70
push 0x14
push str.__So_copy_bak_files_
lea ecx, [ebp - 0x794]
call fcn.00412850
push 0x105
lea ecx, [ebp - 0x63c]
push ecx
push str.SystemRoot
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea eax, [ebp - 0x63c]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42d8d6
mov edx, dword [str._system32_]
mov ecx, dword [0x466ba4]
mov dword [eax], edx
mov dx, word [0x466ba8]
mov dword [eax + 4], ecx
mov cl, byte [0x466baa]
mov word [eax + 8], dx
mov byte [eax + 0xa], cl
xor eax, eax
jmp 0x42d910
mov cl, byte [ebp + eax - 0x63c]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42d910
lea eax, [ebp - 0x220]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42d930
mov edx, dword [str.iNodeCustom.xml]
mov esi, dword [0x466a98]
mov ebx, dword [0x466a9c]
mov ecx, dword [0x466aa0]
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 0x42d960
lea edi, [ebp - 0x118]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42d980
mov ax, word [0x4655d0]
mov word [edi], ax
lea eax, [ebp - 0x118]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42d998
mov ecx, dword [0x466aa0]
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 0x42d9e2
push 0x26
push str.CopyFile_iNodeCustom.xml_return_false_
lea ecx, [ebp - 0x794]
call fcn.00412850
jmp 0x42dbd8
xor eax, eax
jmp 0x42d9f0
mov cl, byte [ebp + eax - 0x63c]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42d9f0
lea eax, [ebp - 0x220]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42da10
mov edx, dword [str.iNodeCustomXml.vrf]
mov esi, dword [0x466a84]
mov ebx, dword [0x466a88]
mov ecx, dword [0x466a8c]
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov cx, word [0x466a90]
mov word [eax + 0x10], cx
mov cl, byte [0x466a92]
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 0x42da51
lea edi, [ebp - 0x118]
dec edi
jmp 0x42da70
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42da70
mov ax, word [0x4655d0]
mov word [edi], ax
lea eax, [ebp - 0x118]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42da88
mov ecx, dword [0x466a8c]
mov dword [eax], edx
mov dx, word [0x466a90]
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov cl, byte [0x466a92]
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 0x42dae6
push 0x29
push str.CopyFile_iNodeCustomxml.vrf_return_false_
lea ecx, [ebp - 0x794]
call fcn.00412850
jmp 0x42dbd8
push 0x46b340
lea ecx, [ebp - 0x324]
push 0
push ecx
call fcn.00428ef0
add esp, 0xc
test eax, eax
jne 0x42dbce
lea ecx, [ebp - 0x8ec]
call fcn.00414cf0
lea ecx, [ebp - 0x860]
mov byte [ebp - 4], 3
call fcn.0042b400
push 0x104
lea edx, [ebp - 0x42b]
push 0
push edx
mov byte [ebp - 4], 4
mov byte [ebp - 0x42c], 0
call fcn.0043a6a0
push str.iNodeCustom.xml
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x42c]
push 0x465478
push ecx
call fcn.0043a71a
add esp, 0x1c
lea edx, [ebp - 0x860]
push edx
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x8ec]
call fcn.00419900
cmp dword [ebp - 0x848], 0x10
mov eax, dword [ebp - 0x85c]
jae 0x42db8a
lea eax, [ebp - 0x85c]
push eax
lea ecx, [ebp - 0x324]
push 1
push ecx
call fcn.00428ef0
add esp, 0xc
test eax, eax
jne 0x42dbb2
push 0x2c
push str.verifying_iNodeCustom_xml_info_FAILED_again_
lea ecx, [ebp - 0x794]
call fcn.00412850
lea ecx, [ebp - 0x860]
call fcn.004122e0
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 2
call fcn.00411ef0
jmp 0x42dbd8
mov dword [ebp - 0x8f0], 1
cmp dword [ebp - 0x784], 0
je 0x42dc67
mov edx, dword [ebp - 0x778]
mov edi, 0x10
cmp dword [ebp - 0x764], edi
jae 0x42dbfe
lea edx, [ebp - 0x778]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42dc03
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x75c]
call fcn.00407c70
push 0xffffffffffffffff
push 0
lea edx, [ebp - 0x794]
push edx
lea ecx, [ebp - 0x75c]
call fcn.00412760
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], edi
jae 0x42dc43
lea eax, [ebp - 0x75c]
push 0
push eax
mov eax, dword [ebp - 0x8f8]
push eax
call fcn.00424ac0
add esp, 0xc
push 0
push 0x46b340
lea ecx, [ebp - 0x794]
call fcn.00407c70
cmp dword [ebp - 0x8f0], 0
jne 0x42deb9
lea ecx, [ebp - 0x324]
push ecx
call fcn.0042ac50
add esp, 4
test eax, eax
jne 0x42deaf
push 0x29
push str.verifying_uninstall_info_FAILED_with_Err
lea ecx, [ebp - 0x794]
call fcn.00407c70
push 0x14
push str.__So_copy_bak_files_
lea ecx, [ebp - 0x794]
call fcn.00412850
push 0x105
lea edx, [ebp - 0x42c]
push edx
push str.SystemRoot
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea eax, [ebp - 0x42c]
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42dcd0
mov ecx, dword [str._system32_]
mov edx, dword [0x466ba4]
mov dword [eax], ecx
mov cx, word [0x466ba8]
mov dword [eax + 4], edx
mov dl, byte [0x466baa]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
xor eax, eax
nop
mov cl, byte [ebp + eax - 0x42c]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42dd00
lea edi, [ebp - 0x220]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42dd20
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 0x42dd40
lea edi, [ebp - 0x118]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42dd60
mov ax, word [0x4655d0]
mov word [edi], ax
lea edi, [ebp - 0x118]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42dd78
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 0x42ddc2
push 0x2d
push str.CopyFile_iNodeUninstallInfo.xml_return_false_
lea ecx, [ebp - 0x794]
call fcn.00412850
jmp 0x42deb9
xor eax, eax
jmp 0x42ddd0
mov cl, byte [ebp + eax - 0x42c]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42ddd0
lea edi, [ebp - 0x220]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42ddf0
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 0x42de10
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp + eax - 0x118], cl
inc eax
test cl, cl
jne 0x42de10
lea edi, [ebp - 0x118]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42de30
mov ax, word [0x4655d0]
mov word [edi], ax
lea edi, [ebp - 0x118]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42de48
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 0x42de88
push 0x30
push str.CopyFile_iNodeUninstallInfoxml.vrf_return_false_
lea ecx, [ebp - 0x794]
call fcn.00412850
jmp 0x42deb9
lea eax, [ebp - 0x324]
push eax
call fcn.0042ac50
add esp, 4
test eax, eax
jne 0x42deaf
push 0x2a
push str.verifying_Uninstall_xml_info_FAILED_again_
lea ecx, [ebp - 0x794]
call fcn.00412850
jmp 0x42deb9
mov dword [ebp - 0x8f0], 2
cmp dword [ebp - 0x784], 0
je 0x42df48
mov edx, dword [ebp - 0x778]
mov edi, 0x10
cmp dword [ebp - 0x764], edi
jae 0x42dedf
lea edx, [ebp - 0x778]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42dee4
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x75c]
call fcn.00407c70
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x794]
push ecx
lea ecx, [ebp - 0x75c]
call fcn.00412760
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], edi
jae 0x42df24
lea eax, [ebp - 0x75c]
mov edx, dword [ebp - 0x8f8]
push 0
push eax
push edx
call fcn.00424ac0
add esp, 0xc
push 0
push 0x46b340
lea ecx, [ebp - 0x794]
call fcn.00407c70
cmp dword [ebp - 0x8f0], 0
jne 0x42e1c2
mov eax, dword [ebp - 0x8f8]
push eax
call fcn.0042bc60
add esp, 4
test eax, eax
jne 0x42e1b8
push 0x2f
push str.verifying_iNodeCustom_ini_info_FAILED_with_Err
lea ecx, [ebp - 0x794]
call fcn.00407c70
push 0x14
push str.__So_copy_bak_files_
lea ecx, [ebp - 0x794]
call fcn.00412850
push 0x105
lea ecx, [ebp - 0x42c]
push ecx
push str.SystemRoot
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea eax, [ebp - 0x42c]
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42dfb0
mov edx, dword [str._system32_]
mov ecx, dword [0x466ba4]
mov dword [eax], edx
mov dx, word [0x466ba8]
mov dword [eax + 4], ecx
mov cl, byte [0x466baa]
mov word [eax + 8], dx
mov byte [eax + 0xa], cl
xor eax, eax
nop
mov cl, byte [ebp + eax - 0x42c]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42dfe0
lea eax, [ebp - 0x220]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42e000
mov edx, dword [str.iNodeCustom.ini]
mov esi, dword [0x466b84]
mov ebx, dword [0x466b88]
mov ecx, dword [0x466b8c]
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 0x42e030
lea edi, [ebp - 0x118]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e050
mov ax, word [0x4655d0]
mov word [edi], ax
lea eax, [ebp - 0x118]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42e068
mov ecx, dword [0x466b8c]
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 0x42e0b2
push 0x26
push str.CopyFile_iNodeCustom.ini_return_false_
lea ecx, [ebp - 0x794]
call fcn.00412850
jmp 0x42e1c2
xor eax, eax
jmp 0x42e0c0
mov cl, byte [ebp + eax - 0x42c]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42e0c0
lea eax, [ebp - 0x220]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42e0e0
mov edx, dword [str.iNodeCustom.vrf]
mov esi, dword [0x466b94]
mov ebx, dword [0x466b98]
mov ecx, dword [0x466b9c]
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 0x42e110
lea edi, [ebp - 0x118]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e130
mov ax, word [0x4655d0]
mov word [edi], ax
lea eax, [ebp - 0x118]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42e148
mov ecx, dword [0x466b9c]
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 0x42e18f
push 0x26
push str.CopyFile_iNodeCustom.vrf_return_false_
lea ecx, [ebp - 0x794]
call fcn.00412850
jmp 0x42e1c2
lea ecx, [ebp - 0x324]
push 0
push ecx
call fcn.00428af0
add esp, 8
test eax, eax
jne 0x42e1b8
push 0x2c
push str.verifying_iNodeCustom_ini_info_FAILED_again_
lea ecx, [ebp - 0x794]
call fcn.00412850
jmp 0x42e1c2
mov dword [ebp - 0x8f0], 3
cmp dword [ebp - 0x784], 0
je 0x42e254
mov edx, dword [ebp - 0x778]
mov edi, 0x10
cmp dword [ebp - 0x764], edi
jae 0x42e1e8
lea edx, [ebp - 0x778]
mov eax, edx
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e1f0
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x75c]
call fcn.00407c70
push 0xffffffffffffffff
push 0
lea edx, [ebp - 0x794]
push edx
lea ecx, [ebp - 0x75c]
call fcn.00412760
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], edi
jae 0x42e230
lea eax, [ebp - 0x75c]
push 0
push eax
mov eax, dword [ebp - 0x8f8]
push eax
call fcn.00424ac0
add esp, 0xc
push 0
push 0x46b340
lea ecx, [ebp - 0x794]
call fcn.00407c70
cmp dword [ebp - 0x8f0], 0
jne 0x42e4aa
lea ecx, [ebp - 0x324]
push ecx
call fcn.00429370
add esp, 4
test eax, eax
jne 0x42e4a0
push 0x2d
push str.verifying_uninstall_ini_info_FAILED_with_Err
lea ecx, [ebp - 0x794]
call fcn.00407c70
push 0x14
push str.__So_copy_bak_files_
lea ecx, [ebp - 0x794]
call fcn.00412850
push 0x105
lea edx, [ebp - 0x42c]
push edx
push str.SystemRoot
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea eax, [ebp - 0x42c]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42e2c0
mov ecx, dword [str._system32_]
mov edx, dword [0x466ba4]
mov dword [eax], ecx
mov cx, word [0x466ba8]
mov dword [eax + 4], edx
mov dl, byte [0x466baa]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
xor eax, eax
nop
mov cl, byte [ebp + eax - 0x42c]
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, 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 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 [0x4655d0]
mov word [edi], ax
lea edi, [ebp - 0x118]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e368
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 0x42e3b2
push 0x2d
push str.CopyFile_iNodeUninstallInfo.ini_return_false_
lea ecx, [ebp - 0x794]
call fcn.00412850
jmp 0x42e4aa
xor eax, eax
jmp 0x42e3c0
mov cl, byte [ebp + eax - 0x42c]
mov byte [ebp + eax - 0x220], cl
inc eax
test cl, cl
jne 0x42e3c0
lea edi, [ebp - 0x220]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e3e0
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 0x42e400
lea edi, [ebp - 0x118]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e420
mov ax, word [0x4655d0]
mov word [edi], ax
lea edi, [ebp - 0x118]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42e438
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 0x42e479
push 0x2d
push str.CopyFile_iNodeUninstallInfo.vrf_return_false_
lea ecx, [ebp - 0x794]
call fcn.00412850
jmp 0x42e4aa
lea eax, [ebp - 0x324]
push eax
call fcn.00429370
add esp, 4
test eax, eax
jne 0x42e4a0
push 0x2a
push str.verifying_Uninstall_ini_info_FAILED_again_
lea ecx, [ebp - 0x794]
call fcn.00412850
jmp 0x42e4aa
mov dword [ebp - 0x8f0], 4
cmp dword [ebp - 0x784], 0
mov ebx, 0x10
je 0x42e525
mov edx, dword [ebp - 0x778]
cmp dword [ebp - 0x764], ebx
jae 0x42e4cc
lea edx, [ebp - 0x778]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e4d1
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x75c]
call fcn.00407c70
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x794]
push ecx
lea ecx, [ebp - 0x75c]
call fcn.00412760
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], ebx
jae 0x42e511
lea eax, [ebp - 0x75c]
mov edi, dword [ebp - 0x8f8]
push 0
push eax
push edi
call fcn.00424ac0
add esp, 0xc
jmp 0x42e52b
mov edi, dword [ebp - 0x8f8]
push 0x104
lea edx, [ebp - 0x533]
push 0
push edx
mov byte [ebp - 0x534], 0
call fcn.0043a6a0
mov eax, dword [ebp - 0x8f0]
add esp, 0xc
cmp eax, 4
ja case.default.0x42e557
jmp dword [eax*4 + 0x42ee1c]
lea eax, [ebp - 0x8f4]
push eax
push str.Uninstall
push str.SOFTWAREiNode
push 0x80000002
call fcn.00423ba0
add esp, 0x10
test eax, eax
mov eax, dword [ebp - 0x778]
jne 0x42e69f
cmp dword [ebp - 0x764], ebx
jae 0x42e598
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x75c]
call fcn.004077c0
push 0x1d
push str.Get_Uninstall_from_reg_failed
lea ecx, [ebp - 0x75c]
call fcn.00412850
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], ebx
jae 0x42e5ca
lea eax, [ebp - 0x75c]
push 0
push eax
push edi
call fcn.00424ac0
lea ecx, [ebp - 0x8f4]
push ecx
push str.Uninstall
push str.SOFTWAREH3CiNode
push 0x80000002
call fcn.00423ba0
add esp, 0x1c
test eax, eax
jne 0x42e6c5
mov eax, dword [ebp - 0x778]
cmp dword [ebp - 0x764], ebx
jae 0x42e60d
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x75c]
call fcn.004077c0
push 0x21
push str.Get_Uninstall_from_old_reg_failed
lea ecx, [ebp - 0x75c]
call fcn.00412850
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], ebx
jae 0x42e63f
lea eax, [ebp - 0x75c]
push 0
push eax
push edi
call fcn.00424ac0
add esp, 0xc
mov eax, str.SOFTWAREiNode
mov edx, dword [ebp - 0x8fc]
push 0x80
push edx
push str.UninstallPwd
push eax
push 0x80000002
call fcn.00423c70
add esp, 0x14
test eax, eax
mov eax, dword [ebp - 0x778]
jne 0x42e6cc
cmp dword [ebp - 0x764], ebx
jae 0x42e687
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x75c]
call fcn.004077c0
push 0x2b
push str.Get_UninstallPwd_from_reg_fail_Return_true.
jmp 0x42ea8e
cmp dword [ebp - 0x764], ebx
jae 0x42e6ad
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x75c]
call fcn.004077c0
push 0x1b
push str.Get_Uninstall_from_reg_succ
jmp 0x42e620
mov eax, str.SOFTWAREH3CiNode
jmp 0x42e650
cmp dword [ebp - 0x764], ebx
jae 0x42e6da
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x75c]
call fcn.004077c0
push 0x1f
push str.Get_UninstallPwd_from_reg_Succ.
jmp 0x42ea8e
push str.iNodeCustom.xml
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x534]
push 0x465478
push ecx
call fcn.0043a71a
add esp, 0x10
lea ecx, [ebp - 0x110]
call fcn.0042b560
lea ecx, [ebp - 0x840]
mov byte [ebp - 4], 5
call fcn.00414cf0
lea edx, [ebp - 0x110]
push edx
lea eax, [ebp - 0x534]
push eax
lea ecx, [ebp - 0x840]
mov byte [ebp - 4], 6
call fcn.00418b70
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x8f4], eax
cmp eax, 1
jne 0x42e81d
mov esi, dword [ebp - 0x8c]
test esi, esi
je 0x42e81d
push 0x80
lea ecx, [ebp - 0x8e3]
push 0
push ecx
mov byte [ebp - 0x8e4], 0
call fcn.0043a6a0
mov eax, dword [ebp - 0x9c]
add esp, 0xc
cmp dword [ebp - 0x88], ebx
jae 0x42e79d
lea eax, [ebp - 0x9c]
push esi
push eax
lea edx, [ebp - 0x8e4]
push 0x80
push edx
call fcn.0042f940
mov ecx, dword [ebp - 0x8fc]
push 0x80
lea eax, [ebp - 0x8e4]
push eax
push ecx
call fcn.0043aa10
mov eax, dword [ebp - 0x778]
add esp, 0x1c
cmp dword [ebp - 0x764], ebx
jae 0x42e7df
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x75c]
call fcn.004077c0
push 0x2a
push str.Get_UninstallPwd_from_NodeCustom.xml_succ.
lea ecx, [ebp - 0x75c]
call fcn.00412850
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], ebx
jae 0x42e811
lea eax, [ebp - 0x75c]
push 0
push eax
push edi
call fcn.00424ac0
add esp, 0xc
lea ecx, [ebp - 0x840]
mov byte [ebp - 4], 5
call fcn.00411ef0
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 2
call fcn.00411fd0
jmp 0x42eab9
push str.iNodeUninstallInfo.xml
lea edx, [ebp - 0x324]
push edx
lea eax, [ebp - 0x534]
push 0x465478
push eax
call fcn.0043a71a
add esp, 0x10
lea ecx, [ebp - 0x7b4]
call fcn.0042b720
mov bl, 7
lea ecx, [ebp - 0x840]
mov byte [ebp - 4], bl
call fcn.00414cf0
lea ecx, [ebp - 0x7b4]
push ecx
lea edx, [ebp - 0x534]
push edx
lea ecx, [ebp - 0x840]
mov byte [ebp - 4], 8
call fcn.00419b80
mov eax, dword [ebp - 0x7b4]
mov dword [ebp - 0x8f4], eax
cmp eax, 1
jne 0x42e93a
cmp dword [ebp - 0x7a0], 0
je 0x42e93a
mov eax, dword [ebp - 0x7b0]
mov esi, 0x10
cmp dword [ebp - 0x79c], esi
jae 0x42e8d3
lea eax, [ebp - 0x7b0]
push 0x80
push eax
mov eax, dword [ebp - 0x8fc]
push eax
call fcn.0043aa10
mov eax, dword [ebp - 0x778]
add esp, 0xc
cmp dword [ebp - 0x764], esi
jae 0x42e8fc
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x75c]
call fcn.004077c0
push 0x32
push str.Get_UninstallPwd_from_iNodeUninstallInfo.xml_succ.
lea ecx, [ebp - 0x75c]
call fcn.00412850
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], esi
jae 0x42e92e
lea eax, [ebp - 0x75c]
push 0
push eax
push edi
call fcn.00424ac0
add esp, 0xc
lea ecx, [ebp - 0x840]
mov byte [ebp - 4], bl
call fcn.00411ef0
lea ecx, [ebp - 0x7b4]
mov byte [ebp - 4], 2
call fcn.0042b310
mov ebx, 0x10
jmp 0x42eab9
push str.iNodeCustom.ini
lea ecx, [ebp - 0x324]
push ecx
lea edx, [ebp - 0x534]
push 0x465478
push edx
call fcn.0043a71a
add esp, 0x10
lea eax, [ebp - 0x534]
push eax
push 0
push str.Uninstall
push str.Functions
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x8fc]
lea ecx, [ebp - 0x534]
push ecx
push 0x80
push edx
push 0x46b340
push str.Install
push str.Functions
mov dword [ebp - 0x8f4], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x42eab9
mov eax, dword [ebp - 0x778]
cmp dword [ebp - 0x764], ebx
jae 0x42e9e4
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x75c]
call fcn.004077c0
push 0x2b
push str.Get_UninstallPwd_from_iNodeCustom.ini_succ.
jmp 0x42ea8e
push str.iNodeUninstallInfo.ini
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x534]
push 0x465478
push ecx
call fcn.0043a71a
add esp, 0x10
lea edx, [ebp - 0x534]
push edx
push 0
push str.Uninstall
push str.Functions
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x8fc]
mov dword [ebp - 0x8f4], eax
lea eax, [ebp - 0x534]
push eax
push 0x80
push ecx
push 0x46b340
push str.Install
push str.Functions
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x42eab9
mov eax, dword [ebp - 0x778]
cmp dword [ebp - 0x764], ebx
jae 0x42ea7b
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x75c]
call fcn.004077c0
push 0x32
push str.Get_UninstallPwd_from_iNodeUninstallInfo.ini_succ.
lea ecx, [ebp - 0x75c]
call fcn.00412850
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], ebx
jae 0x42eaad
lea eax, [ebp - 0x75c]
push 0
push eax
push edi
call fcn.00424ac0
add esp, 0xc
cmp dword [ebp - 0x8f4], 0
jne 0x42ebb8
mov edx, dword [ebp - 0x778]
cmp dword [ebp - 0x764], ebx
jae 0x42eada
lea edx, [ebp - 0x778]
mov eax, edx
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42eae0
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x75c]
call fcn.00407c70
push 0x18
push str._dwResult__return_false.
lea ecx, [ebp - 0x75c]
call fcn.00412850
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], ebx
jae 0x42eb1c
lea eax, [ebp - 0x75c]
push 0
push eax
push edi
call fcn.00424ac0
add esp, 0xc
cmp dword [ebp - 0x780], ebx
jb 0x42eb3f
mov edx, dword [ebp - 0x794]
push edx
call fcn.00439a51
add esp, 4
xor edi, edi
mov esi, 0xf
mov byte [ebp - 0x794], 0
mov dword [ebp - 0x784], edi
mov dword [ebp - 0x780], esi
cmp dword [ebp - 0x764], ebx
jb 0x42eb70
mov eax, dword [ebp - 0x778]
push eax
call fcn.00439a51
add esp, 4
mov byte [ebp - 0x778], 0
mov dword [ebp - 0x768], edi
mov dword [ebp - 0x764], esi
cmp dword [ebp - 0x748], ebx
jb 0x42eb9a
mov ecx, dword [ebp - 0x75c]
push ecx
call fcn.00439a51
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.004396d4
mov esp, ebp
pop ebp
ret
push 0x104
lea edx, [ebp - 0x740]
push edx
push str.DisplayVersion
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall2DBC9F17_9894_4220_9A9C_2CF7AA59E0FD
push 0x80000002
call fcn.00423c70
mov edx, dword [ebp - 0x778]
add esp, 0x14
test eax, eax
jne 0x42ed5f
cmp dword [ebp - 0x764], ebx
jae 0x42ebf7
lea edx, [ebp - 0x778]
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ec00
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x75c]
call fcn.00407c70
push 0x29
push str.Get_Version_from_new_reg_failed__try_old.
lea ecx, [ebp - 0x75c]
call fcn.00412850
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], ebx
jae 0x42ec3c
lea eax, [ebp - 0x75c]
push 0
push eax
push edi
call fcn.00424ac0
push 0x104
lea eax, [ebp - 0x740]
push eax
push str.DisplayVersion
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallCEF10E49_05ED_4427_A434_76F630409441
push 0x80000002
call fcn.00423c70
add esp, 0x20
test eax, eax
mov eax, dword [ebp - 0x778]
jne 0x42ece8
cmp dword [ebp - 0x764], ebx
jae 0x42ec84
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x75c]
call fcn.004077c0
push 0x2e
push str.Get_Version_from_old_reg_failed__return_false.
lea ecx, [ebp - 0x75c]
call fcn.00412850
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], ebx
jae 0x42ecb6
lea eax, [ebp - 0x75c]
push 0
push eax
push edi
call fcn.00424ac0
add esp, 0xc
lea ecx, [ebp - 0x794]
call fcn.00407790
lea ecx, [ebp - 0x778]
call fcn.00407790
lea ecx, [ebp - 0x75c]
call fcn.00407790
jmp 0x42eb9a
cmp dword [ebp - 0x764], ebx
jae 0x42ecf6
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x75c]
call fcn.004077c0
push 0x2b
push str.Get_Version_from_old_reg_succ__return_true.
lea ecx, [ebp - 0x75c]
call fcn.00412850
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], ebx
jae 0x42ed28
lea eax, [ebp - 0x75c]
push 0
push eax
push edi
call fcn.00424ac0
add esp, 0xc
lea ecx, [ebp - 0x794]
call fcn.00407790
lea ecx, [ebp - 0x778]
call fcn.00407790
lea ecx, [ebp - 0x75c]
call fcn.00407790
mov eax, 1
jmp 0x42eb9c
cmp dword [ebp - 0x764], ebx
jae 0x42ed6d
lea edx, [ebp - 0x778]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ed72
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x75c]
call fcn.00407c70
push 0x1b
push str.Get_Version_from_reg_succ.
lea ecx, [ebp - 0x75c]
call fcn.00412850
lea eax, [ebp - 0x740]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42eda3
sub eax, edx
push eax
lea ecx, [ebp - 0x740]
push ecx
lea ecx, [ebp - 0x75c]
call fcn.00412850
mov eax, dword [ebp - 0x75c]
cmp dword [ebp - 0x748], ebx
jae 0x42edd3
lea eax, [ebp - 0x75c]
push 0
push eax
push edi
call fcn.00424ac0
mov edx, dword [ebp - 0x778]
add esp, 0xc
cmp dword [ebp - 0x764], ebx
jae 0x42edf3
lea edx, [ebp - 0x778]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42edf8
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x75c]
call fcn.00407c70
push 0x22
push str.Need_prompt_uninstall_password_Dlg
jmp 0x42ed09