Function at 0x49c1e0
Capabilities:
Create directory
Get file attributes

Disassembly:
push ebp
lea ebp, [esp - 0x44]
sub esp, 0x44
push 0xffffffffffffffff
push 0x544328
mov eax, dword fs:[0]
push eax
sub esp, 0x134
mov eax, dword [0x596c60]
xor eax, ebp
mov dword [ebp + 0x40], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov ebx, dword [ebp + 0x4c]
mov dword [ebp + 8], ebx
mov eax, dword [0x597f88]
cmp eax, 0x597f88
je 0x49c258
test byte [eax + 0x1c], 2
je 0x49c258
cmp byte [eax + 0x19], 6
jb 0x49c258
push str.RepairFiles
push str.Entered_function
push dword [eax + 0x14]
mov edx, 0x56cf18
mov ecx, 0xb
push dword [eax + 0x10]
call fcn.00497d50
add esp, 0x10
call fcn.004a38a0
mov esi, eax
mov dword [ebp + 0xc], esi
test esi, esi
jne 0x49c4a8
push eax
push edi
push eax
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov esi, eax
mov dword [ebp + 0x24], 7
xor eax, eax
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x20], 0
mov word [ebp + 0x10], ax
cmp word [edi], ax
jne 0x49c295
xor ecx, ecx
jmp 0x49c2af
mov ecx, edi
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x49c2a0
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp + 0x10]
call fcn.0047c4b0
lea ecx, [ebp + 0x10]
mov dword [ebp - 4], 0
call fcn.00493210
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp + 0x24], 8
jb 0x49c2e5
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x49c2e5
push eax
call fcn.00507b54
add esp, 4
test esi, esi
je 0x49c49c
push 0x104
push edi
lea ecx, [ebp]
call fcn.00483c80
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
mov eax, dword [ebp + 4]
test eax, eax
je 0x49c315
push eax
call fcn.00507b54
add esp, 4
cmp ebx, 0xffffffff
je 0x49c323
test bl, 0x10
jne 0x49c499
mov eax, dword [0x59f554]
test al, 1
jne 0x49c354
or eax, 1
mov dword [0x59f554], eax
mov dword [ebp - 4], 1
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 0x49c369
cmp byte [eax + 0x19], 2
jb 0x49c369
mov al, 1
jmp 0x49c36b
xor al, al
cmp byte [0x59f560], 0
jne 0x49c385
cmp byte [0x59f561], 0
jne 0x49c385
test al, al
je 0x49c48f
sub esp, 8
mov dword [ebp - 4], 2
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 3
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xa8]
call fcn.0047ee50
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x1b4
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Failed_to_create_Install_directory.
mov ecx, eax
call fcn.0047f0b0
mov byte [ebp - 4], 3
cmp dword [ebp + 0x3c], 0x10
jb 0x49c40d
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x49c40d
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov edi, eax
mov byte [ebp - 4], 5
cmp dword [edi + 0x14], 0x10
jb 0x49c42a
mov edi, dword [edi]
call fcn.004a1320
push edi
push 2
mov ecx, eax
call fcn.004a1510
cmp dword [ebp + 0x3c], 0x10
jb 0x49c44f
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x49c44f
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 2
call fcn.0047b5a0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov dword [ebp + 0xc], esi
call fcn.004a3dc0
jmp 0x49c4a8
mov dword [ebp + 0xc], esi
call fcn.004a3dc0
jmp 0x49c4a8
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
mov esi, eax
mov dword [ebp + 0xc], eax
mov eax, dword [0x59f554]
test al, 1
jne 0x49c4d9
or eax, 1
mov dword [0x59f554], eax
mov dword [ebp - 4], 7
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 0x49c4ee
cmp byte [eax + 0x19], 6
jb 0x49c4ee
mov al, 1
jmp 0x49c4f0
xor al, al
cmp byte [0x59f560], 0
jne 0x49c50a
cmp byte [0x59f561], 0
jne 0x49c50a
test al, al
je 0x49c66e
sub esp, 8
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x140]
call fcn.0047b4d0
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 9
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x140]
call fcn.0047ee50
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
push 0x1c1
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.RepairFiles
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
push esi
mov ecx, eax
call fcn.0047b2d0
mov byte [ebp - 4], 9
cmp dword [ebp + 0x3c], 0x10
jb 0x49c5be
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x49c5be
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0x140]
call fcn.0047b620
mov edi, eax
mov byte [ebp - 4], 0xb
cmp dword [edi + 0x14], 0x10
jb 0x49c5db
mov edi, dword [edi]
mov eax, dword [0x59f554]
test al, 1
jne 0x49c606
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0xc
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0xb
push edi
push 6
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp + 0x3c], 0x10
jb 0x49c629
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x49c629
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0xf0]
mov dword [ebp + 0x3c], 0xf
mov dword [ebp + 0x38], 0
mov byte [ebp + 0x28], 0
mov byte [ebp - 4], 8
call fcn.0047b5a0
lea eax, [ebp - 0xf0]
mov dword [ebp - 0xf0], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
jmp 0x49c66e
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 + 0x40]
xor ecx, ebp
call fcn.005072fd
lea esp, [ebp + 0x44]
pop ebp
ret