Function at 0x49b810
Capabilities:
Create directory
Get file attributes

Disassembly:
push ebp
lea ebp, [esp - 0x44]
sub esp, 0x44
push 0xffffffffffffffff
push 0x543ae8
mov eax, dword fs:[0]
push eax
sub esp, 0x134
mov eax, dword [0x595c60]
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 [0x596f88]
cmp eax, 0x596f88
je 0x49b888
test byte [eax + 0x1c], 2
je 0x49b888
cmp byte [eax + 0x19], 6
jb 0x49b888
push str.RepairFiles
push str.Entered_function
push dword [eax + 0x14]
mov edx, 0x56bf18
mov ecx, 0xb
push dword [eax + 0x10]
call fcn.00497390
add esp, 0x10
call fcn.004a2ed0
mov esi, eax
mov dword [ebp + 0xc], esi
test esi, esi
jne 0x49bad8
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 0x49b8c5
xor ecx, ecx
jmp 0x49b8df
mov ecx, edi
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x49b8d0
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp + 0x10]
call fcn.0047c530
lea ecx, [ebp + 0x10]
mov dword [ebp - 4], 0
call fcn.00492f70
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp + 0x24], 8
jb 0x49b915
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x49b915
push eax
call fcn.005074d4
add esp, 4
test esi, esi
je 0x49bacc
push 0x104
push edi
lea ecx, [ebp]
call fcn.00483d00
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
mov eax, dword [ebp + 4]
test eax, eax
je 0x49b945
push eax
call fcn.005074d4
add esp, 4
cmp ebx, 0xffffffff
je 0x49b953
test bl, 0x10
jne 0x49bac9
mov eax, dword [0x59e598]
test al, 1
jne 0x49b984
or eax, 1
mov dword [0x59e598], eax
mov dword [ebp - 4], 1
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x49b999
cmp byte [eax + 0x19], 2
jb 0x49b999
mov al, 1
jmp 0x49b99b
xor al, al
cmp byte [0x59e5a8], 0
jne 0x49b9b5
cmp byte [0x59e5a9], 0
jne 0x49b9b5
test al, al
je 0x49babf
sub esp, 8
mov dword [ebp - 4], 2
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 3
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xa8]
call fcn.0047eed0
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0x1b4
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Failed_to_create_Install_directory.
mov ecx, eax
call fcn.0047f130
mov byte [ebp - 4], 3
cmp dword [ebp + 0x3c], 0x10
jb 0x49ba3d
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x49ba3d
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov edi, eax
mov byte [ebp - 4], 5
cmp dword [edi + 0x14], 0x10
jb 0x49ba5a
mov edi, dword [edi]
call fcn.004a0950
push edi
push 2
mov ecx, eax
call fcn.004a0b40
cmp dword [ebp + 0x3c], 0x10
jb 0x49ba7f
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x49ba7f
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 2
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov dword [ebp + 0xc], esi
call fcn.004a33f0
jmp 0x49bad8
mov dword [ebp + 0xc], esi
call fcn.004a33f0
jmp 0x49bad8
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 [0x59e598]
test al, 1
jne 0x49bb09
or eax, 1
mov dword [0x59e598], eax
mov dword [ebp - 4], 7
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x49bb1e
cmp byte [eax + 0x19], 6
jb 0x49bb1e
mov al, 1
jmp 0x49bb20
xor al, al
cmp byte [0x59e5a8], 0
jne 0x49bb3a
cmp byte [0x59e5a9], 0
jne 0x49bb3a
test al, al
je 0x49bc9e
sub esp, 8
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x140]
call fcn.0047b550
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 9
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x140]
call fcn.0047eed0
mov edx, str..installer.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0x1c1
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a498
mov ecx, eax
call fcn.0047f130
mov edx, str.RepairFiles
mov ecx, eax
call fcn.0047f130
mov edx, 0x570fc8
mov ecx, eax
call fcn.0047f130
mov edx, str._with_result
mov ecx, eax
call fcn.0047f130
push esi
mov ecx, eax
call fcn.0047b350
mov byte [ebp - 4], 9
cmp dword [ebp + 0x3c], 0x10
jb 0x49bbee
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x49bbee
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0x140]
call fcn.0047b6a0
mov edi, eax
mov byte [ebp - 4], 0xb
cmp dword [edi + 0x14], 0x10
jb 0x49bc0b
mov edi, dword [edi]
mov eax, dword [0x59e598]
test al, 1
jne 0x49bc36
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 0xc
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0xb
push edi
push 6
mov ecx, 0x59e5a8
call fcn.004a0b40
cmp dword [ebp + 0x3c], 0x10
jb 0x49bc59
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x49bc59
push eax
call fcn.005074d4
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.0047b620
lea eax, [ebp - 0xf0]
mov dword [ebp - 0xf0], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
jmp 0x49bc9e
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.00506c7d
lea esp, [ebp + 0x44]
pop ebp
ret