Function at 0x49f170
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x544af7
mov eax, dword fs:[0]
push eax
sub esp, 0x240
mov eax, dword [0x596c60]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1a0], edx
mov edi, ecx
mov dword [ebp - 0x188], edi
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x190], eax
mov eax, dword [0x59f554]
mov dword [ebp - 0x17c], edi
mov dword [ebp - 0x180], ebx
test al, 1
jne 0x49f201
or eax, 1
mov dword [0x59f554], eax
mov dword [ebp - 4], 0
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x49f216
cmp byte [eax + 0x19], 6
jb 0x49f216
mov al, 1
jmp 0x49f218
xor al, al
cmp byte [0x59f560], 0
jne 0x49f232
cmp byte [0x59f561], 0
jne 0x49f232
test al, al
je 0x49f37a
sub esp, 8
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x24c]
call fcn.0047b4d0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x24c]
call fcn.0047ee50
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x27e
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b46c
mov ecx, eax
call fcn.0047f0b0
mov edx, str.PerformAction
mov ecx, eax
call fcn.0047f0b0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x18], 0x10
jb 0x49f2c6
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x49f2c6
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 4
cmp dword [esi + 0x14], 0x10
jb 0x49f2e3
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x49f30e
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 5
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 4
push esi
push 6
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp - 0x18], 0x10
jb 0x49f331
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x49f331
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 1
call fcn.0047b5a0
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1fc], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
jmp 0x49f373
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.00497b80
lea ecx, [ebp - 0x9c]
mov dword [ebp - 4], 7
call fcn.004f5d80
mov byte [ebp - 4], 8
call fcn.004f63d0
mov eax, dword [ebp - 0x78]
test eax, eax
jne 0x49f3b2
lea ecx, [ebp - 0x9c]
call fcn.004f6210
mov eax, dword [ebp - 0x78]
mov byte [ebp - 4], 9
test eax, eax
jne 0x49f701
push 0x19
push str.HKCCS_servicesmfencbdc
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x34], eax
mov word [ebp - 0x44], ax
call fcn.0047c4b0
mov edx, 0x25
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c]
call fcn.004f44f0
push str.services.exe
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x5c]
call fcn.0048e8b0
add esp, 4
push eax
sub esp, 8
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x9c]
push eax
call fcn.004f6370
cmp dword [ebp - 0x48], 8
jb 0x49f42f
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x49f42f
push eax
call fcn.00507b54
add esp, 4
xor eax, eax
mov dword [ebp - 0x48], 7
cmp dword [ebp - 0x18], 8
mov dword [ebp - 0x4c], 0
mov word [ebp - 0x5c], ax
jb 0x49f459
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x49f459
push eax
call fcn.00507b54
add esp, 4
xor eax, eax
mov byte [ebp - 4], 9
cmp dword [ebp - 0x30], 8
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
jb 0x49f487
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x49f487
push eax
call fcn.00507b54
add esp, 4
push 0x18
xor eax, eax
mov dword [ebp - 0x30], 7
push str.HKCCS_servicesmfencrk
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], 0
mov word [ebp - 0x44], ax
call fcn.0047c4b0
mov edx, 0x25
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x5c]
call fcn.004f44f0
push str.services.exe
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x2c]
call fcn.0048e8b0
add esp, 4
push eax
sub esp, 8
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x9c]
push eax
call fcn.004f6370
cmp dword [ebp - 0x18], 8
jb 0x49f4fe
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x49f4fe
push eax
call fcn.00507b54
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], 7
cmp dword [ebp - 0x48], 8
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
jb 0x49f528
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x49f528
push eax
call fcn.00507b54
add esp, 4
xor eax, eax
mov byte [ebp - 4], 9
cmp dword [ebp - 0x30], 8
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x4c], 0
mov word [ebp - 0x5c], ax
jb 0x49f556
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x49f556
push eax
call fcn.00507b54
add esp, 4
push 0x19
xor eax, eax
mov dword [ebp - 0x30], 7
push str.HKCCS_servicesmfencbdc
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], 0
mov word [ebp - 0x44], ax
call fcn.0047c4b0
mov edx, 0x25
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x5c]
call fcn.004f44f0
push str.services.exe
mov edx, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x2c]
call fcn.0048e8b0
add esp, 4
push eax
sub esp, 8
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x9c]
push eax
call fcn.004f63a0
cmp dword [ebp - 0x18], 8
jb 0x49f5cd
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x49f5cd
push eax
call fcn.00507b54
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], 7
cmp dword [ebp - 0x48], 8
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
jb 0x49f5f7
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x49f5f7
push eax
call fcn.00507b54
add esp, 4
xor eax, eax
mov byte [ebp - 4], 9
cmp dword [ebp - 0x30], 8
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x4c], 0
mov word [ebp - 0x5c], ax
jb 0x49f625
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x49f625
push eax
call fcn.00507b54
add esp, 4
push 0x18
xor eax, eax
mov dword [ebp - 0x30], 7
push str.HKCCS_servicesmfencrk
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], 0
mov word [ebp - 0x44], ax
call fcn.0047c4b0
mov edx, 0x25
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x5c]
call fcn.004f44f0
push str.services.exe
mov edx, eax
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2c]
call fcn.0048e8b0
add esp, 4
push eax
sub esp, 8
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x9c]
push eax
call fcn.004f63a0
cmp dword [ebp - 0x18], 8
jb 0x49f69c
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x49f69c
push eax
call fcn.00507b54
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], 7
cmp dword [ebp - 0x48], 8
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
jb 0x49f6c6
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x49f6c6
push eax
call fcn.00507b54
add esp, 4
xor eax, eax
mov byte [ebp - 4], 9
cmp dword [ebp - 0x30], 8
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x4c], 0
mov word [ebp - 0x5c], ax
jb 0x49f8a1
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x49f8a1
push eax
call fcn.00507b54
add esp, 4
jmp 0x49f8a1
mov eax, dword [0x59f554]
test al, 1
jne 0x49f72c
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x16
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 9
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x49f741
cmp byte [eax + 0x19], 3
jb 0x49f741
mov al, 1
jmp 0x49f743
xor al, al
cmp byte [0x59f560], 0
jne 0x49f75d
cmp byte [0x59f561], 0
jne 0x49f75d
test al, al
je 0x49f8a1
sub esp, 8
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x24c]
call fcn.0047b4d0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x18
call fcn.004a1680
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x24c]
mov esi, dword [ebp - 0x78]
mov edx, eax
call fcn.0047ee50
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x28d
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Failed_in_ScopedAccessProtectionExclusion_constructor._Error_code_:
mov ecx, eax
call fcn.0047f0b0
push esi
mov ecx, eax
call fcn.0047b2d0
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x18], 0x10
jb 0x49f7ed
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x49f7ed
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x1a
cmp dword [esi + 0x14], 0x10
jb 0x49f80a
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x49f835
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x1b
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0x1a
push esi
push 3
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp - 0x18], 0x10
jb 0x49f858
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x49f858
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0x17
call fcn.0047b5a0
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1fc], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
jmp 0x49f89a
mov dword [ebp - 4], 9
lea eax, [ebp - 0x2c]
mov ecx, edi
push eax
call fcn.004bd460
mov ecx, eax
mov byte [ebp - 4], 0x1d
call fcn.004970e0
mov byte [ebp - 4], 9
cmp dword [ebp - 0x18], 8
jb 0x49f8d1
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x49f8d1
push eax
call fcn.00507b54
add esp, 4
xor eax, eax
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x1b4], al
mov dword [ebp - 0x1b3], eax
mov dword [ebp - 0x1af], eax
mov dword [ebp - 0x1ab], eax
mov dword [ebp - 0x1a7], eax
mov word [ebp - 0x1a3], ax
mov byte [ebp - 0x1a1], al
lea eax, [ebp - 0x1b4]
push 1
push eax
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push 0
push 0
push 1
lea eax, [ebp - 0x1b4]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
push str.CASPERINSTALLER
push 0
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0x194], 0
push 0x1f0003
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x19c], 0xc
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov edi, eax
mov dword [ebp - 0x18c], edi
test edi, edi
je 0x49fb4f
mov ecx, dword [0x59f554]
test cl, 1
jne 0x49f9a2
or ecx, 1
mov dword [0x59f554], ecx
mov byte [ebp - 4], 0x1e
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x49f9b7
cmp byte [eax + 0x19], 3
jb 0x49f9b7
mov al, 1
jmp 0x49f9b9
xor al, al
cmp byte [0x59f560], 0
jne 0x49f9d3
cmp byte [0x59f561], 0
jne 0x49f9d3
test al, al
je 0x49fb00
sub esp, 8
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x24c]
call fcn.0047b4d0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x20
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x24c]
call fcn.0047ee50
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x29f
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Another_Instance_of_Installer_is_already_running.
mov ecx, eax
call fcn.0047f0b0
mov byte [ebp - 4], 0x20
cmp dword [ebp - 0x18], 0x10
jb 0x49fa58
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x49fa58
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x22
cmp dword [esi + 0x14], 0x10
jb 0x49fa75
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x49faa0
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x23
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0x22
push esi
push 3
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp - 0x18], 0x10
jb 0x49fac3
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x49fac3
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0x1f
call fcn.0047b5a0
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1fc], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
jmp 0x49faf9
mov dword [ebp - 4], 9
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 7
call fcn.004f5f40
cmp dword [ebp - 0x64], 0
je 0x49fb2f
cmp dword [ebp - 0x60], 8
mov eax, dword [ebp - 0x74]
jae 0x49fb28
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp dword [ebp - 0x60], 8
jb 0x49fb45
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x49fb45
push eax
call fcn.00507b54
add esp, 4
mov eax, 0x480
jmp 0x4a0476
push str.CASPERINSTALLER
push 0
push 0
lea eax, [ebp - 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x18c], eax
mov ecx, ebx
mov eax, dword [ebp + 0x14]
mov byte [0x59f3c8], al
call fcn.00498090
mov esi, eax
mov dword [ebp - 0x178], esi
test esi, esi
jne 0x4a0269
mov edi, dword [ebp - 0x188]
mov ecx, edi
call fcn.004bbd40
mov esi, eax
mov dword [ebp - 0x30], 7
xor eax, eax
mov dword [ebp - 0x178], esi
mov dword [ebp - 0x34], 0
mov word [ebp - 0x44], ax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x25
call fcn.004a8080
test eax, eax
jne 0x49fbcb
lea ecx, [ebp - 0x44]
call fcn.004967c0
mov byte [ebp - 4], 9
cmp dword [ebp - 0x30], 8
jb 0x49fbe5
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x49fbe5
push eax
call fcn.00507b54
add esp, 4
test esi, esi
jne 0x4a0269
mov eax, dword [ebp - 0x1a0]
dec eax
cmp eax, 3
ja case.default.0x49fbfd
jmp dword [eax*4 + 0x4a0494]
push 6
call fcn.004a1320
mov ecx, eax
call fcn.004a14d0
test al, al
je 0x49fceb
sub esp, 8
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x24c]
call fcn.0047b4d0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x27
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x24c]
call fcn.0047ee50
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x2ba
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Installing_AMCore
mov ecx, eax
call fcn.0047f0b0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x27
call fcn.0047abe0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x29
cmp dword [esi + 0x14], 0x10
jb 0x49fcae
mov esi, dword [esi]
call fcn.004a1320
push esi
push 6
mov ecx, eax
call fcn.004a1510
lea ecx, [ebp - 0x5c]
call fcn.0047abe0
lea ecx, [ebp - 0x24c]
call fcn.00479050
jmp 0x49fce4
mov dword [ebp - 4], 9
call fcn.004a4330
test al, al
jne 0x49fd58
mov ecx, dword [ebp - 0x190]
call fcn.004a4370
test al, al
je 0x49fd58
mov ecx, ebx
call fcn.00497de0
mov esi, eax
mov dword [ebp - 0x178], esi
test esi, esi
jne 0x49fd44
call fcn.0049b910
mov esi, eax
mov dword [ebp - 0x178], eax
test esi, esi
jne 0x49fd44
mov edx, dword [ebp - 0x184]
mov ecx, edi
call fcn.004985c0
mov esi, eax
mov dword [ebp - 0x178], esi
test esi, esi
je 0x4a0269
test ebx, ebx
je 0x4a0269
mov ecx, ebx
call fcn.00498310
jmp 0x4a0269
mov ecx, dword [ebp - 0x190]
call fcn.004a4370
push 2
test al, al
jne 0x49fe54
call fcn.004a1320
mov ecx, eax
call fcn.004a14d0
test al, al
je 0x49fe44
sub esp, 8
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x24c]
call fcn.0047b4d0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x2c
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x24c]
call fcn.0047ee50
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x2d0
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.PreRequisites__SysCore__content_etc.__not_Installed.
mov ecx, eax
call fcn.0047f0b0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x2c
call fcn.0047abe0
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x2e
cmp dword [esi + 0x14], 0x10
jb 0x49fe18
mov esi, dword [esi]
call fcn.004a1320
push esi
push 2
mov ecx, eax
call fcn.004a1510
lea ecx, [ebp - 0xfc]
call fcn.0047abe0
lea ecx, [ebp - 0x24c]
call fcn.00479050
mov dword [ebp - 4], 9
mov esi, 0x424
jmp 0x4a0263
call fcn.004a1320
mov ecx, eax
call fcn.004a14d0
test al, al
je 0x49ff31
sub esp, 8
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x24c]
call fcn.0047b4d0
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x31
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x24c]
call fcn.0047ee50
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x2d5
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.AMCore_Core_Already_Installed.
mov ecx, eax
call fcn.0047f0b0
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x31
call fcn.0047abe0
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x33
cmp dword [esi + 0x14], 0x10
jb 0x49ff05
mov esi, dword [esi]
call fcn.004a1320
push esi
push 2
mov ecx, eax
call fcn.004a1510
lea ecx, [ebp - 0xb4]
call fcn.0047abe0
lea ecx, [ebp - 0x24c]
call fcn.00479050
mov dword [ebp - 4], 9
mov esi, 0xb7
jmp 0x4a0263
push 6
call fcn.004a1320
mov ecx, eax
call fcn.004a14d0
test al, al
je 0x4a0034
sub esp, 8
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x24c]
call fcn.0047b4d0
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0x36
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x24c]
call fcn.0047ee50
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x2db
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.UnInstalling_AMCore
mov ecx, eax
call fcn.0047f0b0
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0x36
call fcn.0047abe0
lea eax, [ebp - 0xe4]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x38
cmp dword [esi + 0x14], 0x10
jb 0x49fff4
mov esi, dword [esi]
call fcn.004a1320
push esi
push 6
mov ecx, eax
call fcn.004a1510
lea ecx, [ebp - 0xe4]
call fcn.0047abe0
lea ecx, [ebp - 0x24c]
call fcn.00479050
jmp 0x4a002d
mov dword [ebp - 4], 9
mov ecx, edi
call fcn.0049ad50
mov esi, eax
mov dword [ebp - 0x178], esi
test ebx, ebx
je 0x4a0269
mov ecx, ebx
call fcn.00498310
or esi, eax
jmp 0x4a0263
push 6
call fcn.004a1320
mov ecx, eax
call fcn.004a14d0
test al, al
je 0x4a014c
sub esp, 8
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x24c]
call fcn.0047b4d0
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0x3b
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x24c]
call fcn.0047ee50
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x2e3
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Repairing_AMCore
mov ecx, eax
call fcn.0047f0b0
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0x3b
call fcn.0047abe0
lea eax, [ebp - 0x174]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x3d
cmp dword [esi + 0x14], 0x10
jb 0x4a010c
mov esi, dword [esi]
call fcn.004a1320
push esi
push 6
mov ecx, eax
call fcn.004a1510
lea ecx, [ebp - 0x174]
call fcn.0047abe0
lea ecx, [ebp - 0x24c]
call fcn.00479050
jmp 0x4a0145
mov dword [ebp - 4], 9
push ecx
push dword [ebp - 0x184]
mov edx, ebx
mov ecx, edi
call fcn.0049d2c0
add esp, 8
mov esi, eax
jmp 0x4a0263
push 6
call fcn.004a1320
mov ecx, eax
call fcn.004a14d0
test al, al
je 0x4a0253
sub esp, 8
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x24c]
call fcn.0047b4d0
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x40
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x24c]
call fcn.0047ee50
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x2eb
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Upgrading_AMCore
mov ecx, eax
call fcn.0047f0b0
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x40
call fcn.0047abe0
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x42
cmp dword [esi + 0x14], 0x10
jb 0x4a0219
mov esi, dword [esi]
call fcn.004a1320
push esi
push 6
mov ecx, eax
call fcn.004a1510
lea ecx, [ebp - 0x144]
call fcn.0047abe0
lea ecx, [ebp - 0x24c]
call fcn.00479050
jmp 0x4a024c
mov dword [ebp - 4], 9
mov ecx, edi
call fcn.0049e5c0
mov esi, eax
jmp 0x4a0263
mov esi, 0x5b9
mov dword [ebp - 0x178], esi
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x4a027a
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x59f554]
test al, 1
jne 0x4a02a1
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x44
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x4a02b6
cmp byte [eax + 0x19], 6
jb 0x4a02b6
mov al, 1
jmp 0x4a02b8
xor al, al
cmp byte [0x59f560], 0
jne 0x4a02d2
cmp byte [0x59f561], 0
jne 0x4a02d2
test al, al
je 0x4a0436
sub esp, 8
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x24c]
call fcn.0047b4d0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x46
call fcn.004a1680
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x24c]
mov edx, eax
mov dword [ebp - 0x184], esi
call fcn.0047ee50
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x2f8
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b498
mov ecx, eax
call fcn.0047f0b0
mov edx, str.PerformAction
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x571fc8
mov ecx, eax
call fcn.0047f0b0
mov edx, str._with_result
mov ecx, eax
call fcn.0047f0b0
lea edx, [ebp - 0x184]
mov ecx, eax
call fcn.004a18f0
mov byte [ebp - 4], 0x46
cmp dword [ebp - 0x18], 0x10
jb 0x4a038e
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4a038e
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0047b620
mov edi, eax
mov byte [ebp - 4], 0x48
cmp dword [edi + 0x14], 0x10
jb 0x4a03ab
mov edi, dword [edi]
mov eax, dword [0x59f554]
test al, 1
jne 0x4a03d6
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x49
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0x48
push edi
push 6
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp - 0x18], 0x10
jb 0x4a03f9
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4a03f9
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0x45
call fcn.0047b5a0
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1fc], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
jmp 0x4a042f
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 7
call fcn.004f5f40
cmp dword [ebp - 0x64], 0
je 0x4a045e
cmp dword [ebp - 0x60], 8
mov eax, dword [ebp - 0x74]
jae 0x4a0457
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp dword [ebp - 0x60], 8
jb 0x4a0474
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x4a0474
push eax
call fcn.00507b54
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005072fd
mov esp, ebp
pop ebp
ret