Function at 0x44f610
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ba2cb
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x5603e8]
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
lea eax, [ebp - 0xa8]
push eax
mov esi, ecx
lea ecx, [ebp - 0xb0]
xor ebx, ebx
push ecx
lea edx, [ebp - 0xac]
push edx
lea eax, [ebp - 0xa4]
push eax
mov byte [ebp - 0xb8], bl
mov byte [ebp - 0x9f], bl
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xa8], ebx
call fcn.00414370
add esp, 0x10
call fcn.00414350
mov dword [ebp - 0xc0], eax
mov eax, dword [esi + 8]
cmp dword [eax + 0x14], 8
mov byte [ebp - 0x9d], bl
mov byte [ebp - 0x9e], 1
jb 0x44f6ad
mov eax, dword [eax]
push eax
push 0xffffffffffffffff
push str.compatiblemso
push str.installinfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, eax
cmp edi, 1
sete cl
mov dword [ebp - 0xc4], edi
mov byte [ebp - 0xb4], cl
call fcn.0044b150
mov ecx, esi
call fcn.0044f360
push ebx
mov ecx, esi
call fcn.0044c240
mov ecx, esi
call fcn.0044eaa0
test al, al
je 0x44f9ed
mov ecx, esi
call fcn.0044e640
mov ecx, esi
call fcn.0044cec0
sub eax, ebx
je 0x44f71c
sub eax, 0x378
je 0x44f746
dec eax
je 0x44f9e6
jmp 0x44f9ed
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
lea edx, [ebp - 0x9d]
push edx
mov edx, dword [ebp - 0xa4]
push eax
push ecx
push edx
push edi
mov ecx, esi
call fcn.0044d510
mov byte [ebp - 0x9e], al
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0xa8]
jne 0x44f7a6
cmp eax, ebx
mov eax, str._assoword
jne 0x44f762
mov eax, str._unassoword
push eax
lea ecx, [ebp - 0x2c]
call fcn.00405cd0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [esi + 0x38]
push ecx
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.0044d030
cmp dword [ebp - 0x18], 8
mov dword [ebp - 4], 0xffffffff
jb 0x44f796
mov edx, dword [ebp - 0x2c]
push edx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], ax
mov edx, str._assopdf
cmp dword [ebp - 0xa8], ebx
jne 0x44f7b8
mov edx, str._unassopdf
xor ecx, ecx
mov eax, edx
mov dword [ebp - 0x6c], 7
mov dword [ebp - 0x70], ebx
mov word [ebp - 0x80], cx
lea edi, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x44f7d0
sub eax, edi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0x80]
call fcn.00405660
lea edx, [ebp - 0x80]
push edx
lea edi, [esi + 0x38]
push edi
mov ecx, esi
mov dword [ebp - 4], 1
call fcn.0044d030
cmp dword [ebp - 0x6c], 8
mov dword [ebp - 4], 0xffffffff
jb 0x44f818
mov eax, dword [ebp - 0x80]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
xor ecx, ecx
mov eax, 7
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x70], ebx
mov word [ebp - 0x80], cx
mov edx, str._assoepub
cmp dword [ebp - 0xa8], ebx
jne 0x44f83b
mov edx, str._unassoepub
mov dword [ebp - 0x88], eax
xor eax, eax
mov word [ebp - 0x9c], ax
mov eax, edx
lea ecx, [eax + 2]
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0xbc], ecx
jmp 0x44f860
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x44f860
sub eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0x9c]
sar eax, 1
push eax
push edx
call fcn.00405660
lea edx, [ebp - 0x9c]
push edx
push edi
mov ecx, esi
mov dword [ebp - 4], 2
call fcn.0044d030
cmp dword [ebp - 0x88], 8
mov dword [ebp - 4], 0xffffffff
jb 0x44f8b5
mov eax, dword [ebp - 0x9c]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
xor ecx, ecx
mov eax, 7
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x8c], ebx
mov word [ebp - 0x9c], cx
mov edx, str._assopic
cmp dword [ebp - 0xc0], ebx
jne 0x44f8e1
mov edx, str._unassopic
mov dword [ebp - 0x50], eax
xor eax, eax
mov word [ebp - 0x64], ax
mov eax, edx
lea ecx, [eax + 2]
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0xbc], ecx
jmp 0x44f900
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x44f900
sub eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0x64]
sar eax, 1
push eax
push edx
call fcn.00405660
lea edx, [ebp - 0x64]
push edx
push edi
mov ecx, esi
mov dword [ebp - 4], 3
call fcn.0044d030
cmp dword [ebp - 0x50], 8
mov dword [ebp - 4], 0xffffffff
jb 0x44f949
mov eax, dword [ebp - 0x64]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xa8]
push edx
mov edx, dword [ebp - 0xac]
xor ecx, ecx
push eax
mov eax, dword [ebp - 0xa4]
mov word [ebp - 0x64], cx
mov ecx, dword [ebp - 0xb0]
push ecx
push edx
push eax
mov ecx, esi
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], ebx
call fcn.0044b7c0
mov eax, dword [ebp - 0xc4]
mov byte [ebp - 0x9d], 1
cmp eax, 0xffffffff
jne 0x44f9b6
cmp dword [ebp - 0xa4], ebx
je 0x44f9b4
cmp dword [ebp - 0xac], ebx
je 0x44f9b4
cmp dword [ebp - 0xb0], ebx
je 0x44f9b4
mov eax, 1
jmp 0x44f9b6
xor eax, eax
cmp eax, ebx
setne cl
movzx edx, cl
push edx
push edi
mov ecx, esi
call fcn.0044d450
test al, al
je 0x44f9ed
push edi
mov ecx, esi
mov byte [ebp - 0x9f], 1
call fcn.0044f1a0
test al, al
je 0x44f9ed
cmp byte [ebp - 0x9e], bl
je 0x44f9ed
mov byte [ebp - 0xb8], 1
call fcn.0044b3b0
cmp byte [ebp - 0xb8], bl
je 0x44fab8
push 0xc
xor eax, eax
push str._rebuildicon
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], ax
call fcn.00405660
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [esi + 0x54]
push edx
mov ecx, esi
mov dword [ebp - 4], 4
call fcn.0044d030
mov edi, 8
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x18], edi
jb 0x44fa50
mov eax, dword [ebp - 0x2c]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
push str.office6
lea ecx, [esi + 0x38]
push ecx
lea edx, [ebp - 0x2c]
push edx
call fcn.0040ca60
add esp, 0xc
mov dword [ebp - 4], 5
cmp dword [eax + 0x14], edi
jb 0x44fa73
mov eax, dword [eax]
push eax
call fcn.0044b4b0
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x18], edi
jb 0x44fa94
mov eax, dword [ebp - 0x2c]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
push 0x64
push ecx
mov ecx, esp
mov dword [ebp - 0xb4], esp
push ebx
push str.Version_switch_will_complete_after_restarting.
push ecx
call fcn.00449e80
add esp, 0xc
push str.change_version_ok
jmp 0x44fbe4
push 1
mov ecx, esi
call fcn.0044c240
push 0xffffffffffffffff
push ecx
mov edx, esp
mov dword [ebp - 0xc4], esp
push ebx
push str.Switching_version_is_not_successful_and_is_in_the_recovery...
push edx
call fcn.00449e80
add esp, 0xc
push str.repair_install
mov ecx, esi
call fcn.0044a0b0
cmp byte [ebp - 0x9d], bl
je 0x44fb4a
push 0x10
xor eax, eax
mov edi, 7
push str._uncompatiblemso
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], ax
call fcn.00405660
lea ecx, [ebp - 0x48]
push ecx
lea edx, [esi + 0x38]
push edx
mov ecx, esi
mov dword [ebp - 4], 6
call fcn.0044d030
cmp dword [ebp - 0x34], 8
mov dword [ebp - 4], 0xffffffff
jb 0x44fb3e
mov eax, dword [ebp - 0x48]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], cx
push ebx
push ebx
push 1
call fcn.00420940
add esp, 0xc
test eax, eax
jne 0x44fbc7
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xa8]
push edx
mov edx, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xac]
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0044e6c0
test al, al
je 0x44fbc7
cmp byte [ebp - 0x9f], bl
je 0x44fba6
lea edx, [esi + 0x54]
push edx
mov ecx, esi
call fcn.0044df80
cmp al, bl
je 0x44fbc7
push 0x64
push ecx
mov eax, esp
mov dword [ebp - 0xb4], esp
push ebx
push str.Version_switch_will_complete_after_restarting.
push eax
call fcn.00449e80
add esp, 0xc
push str.repair_succeed
jmp 0x44fbe4
mov ecx, dword [esi + 0x70]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0xb4], esp
push 0x4c6904
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::constructor_char_const__]
push str.repair_failed_
mov ecx, esi
call fcn.0044a0b0
mov edx, dword [ebp - 0xb8]
push edx
mov ecx, esi
call fcn.00401200
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.004b12f6
mov esp, ebp
pop ebp
ret