Function at 0x49b910
Capabilities:
Create directory

Disassembly:
push ebp
lea ebp, [esp - 0x3c]
sub esp, 0x3c
push 0xffffffffffffffff
push 0x544290
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x596c60]
xor eax, ebp
mov dword [ebp + 0x38], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor eax, eax
mov dword [ebp + 4], 0
mov dword [ebp + 0x34], 7
mov dword [ebp + 0x30], 0
mov word [ebp + 0x20], ax
mov dword [ebp - 4], eax
push 0xffffffffffffffff
push eax
cmp dword [0x5980a0], eax
je 0x49b976
push 0x598090
jmp 0x49b99b
cmp dword [0x598058], 0
je 0x49b986
push 0x598048
jmp 0x49b99b
cmp dword [0x5980b8], 0
je 0x49b996
push 0x5980a8
jmp 0x49b99b
push 0x598078
lea ecx, [ebp + 0x20]
call fcn.0047c390
cmp dword [ebp + 0x34], 8
mov eax, dword [ebp + 0x20]
jae 0x49b9af
lea eax, [ebp + 0x20]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsNetworkPathW]
cmp eax, 1
jne 0x49bb4a
mov eax, dword [0x59f554]
mov dword [ebp + 4], 0x57
test al, 1
jne 0x49b9f0
or dword [0x59f554], 1
mov byte [ebp - 4], 1
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x49ba05
cmp byte [eax + 0x19], 2
jb 0x49ba05
mov al, 1
jmp 0x49ba07
xor al, al
cmp byte [0x59f560], 0
jne 0x49ba21
cmp byte [0x59f561], 0
jne 0x49ba21
test al, al
je 0x49bedc
sub esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 8]
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 0x171
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Network_location_is_invalid_for_Quarantine_directory.
mov ecx, eax
call fcn.0047f0b0
lea edx, [ebp + 0x20]
mov ecx, eax
call fcn.004a1750
mov byte [ebp - 4], 3
cmp dword [ebp + 0x1c], 0x10
jb 0x49bab0
mov eax, dword [ebp + 8]
test eax, eax
je 0x49bab0
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 5
cmp dword [esi + 0x14], 0x10
jb 0x49bacd
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x49baf8
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 6
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 5
push esi
push 2
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp + 0x1c], 0x10
jb 0x49bb1b
mov eax, dword [ebp + 8]
test eax, eax
je 0x49bb1b
push eax
call fcn.00507b54
add esp, 4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0047b5a0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
jmp 0x49bed5
cmp dword [ebp + 0x34], 8
mov ecx, dword [ebp + 0x20]
jae 0x49bb56
lea ecx, [ebp + 0x20]
call fcn.004f4a80
test eax, eax
je 0x49bcaa
mov eax, dword [0x59f554]
mov dword [ebp + 4], 0x57
test al, 1
jne 0x49bb94
or dword [0x59f554], 1
mov byte [ebp - 4], 8
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x49bba9
cmp byte [eax + 0x19], 2
jb 0x49bba9
mov al, 1
jmp 0x49bbab
xor al, al
cmp byte [0x59f560], 0
jne 0x49bbc5
cmp byte [0x59f561], 0
jne 0x49bbc5
test al, al
je 0x49bedc
sub esp, 8
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0xb
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 0x177
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Removable_media_location_is_invalid_for_Quarantine_directory.
mov ecx, eax
call fcn.0047f0b0
lea edx, [ebp + 0x20]
mov ecx, eax
call fcn.004a1750
mov byte [ebp - 4], 0xa
cmp dword [ebp + 0x1c], 0x10
jb 0x49bc54
mov eax, dword [ebp + 8]
test eax, eax
je 0x49bc54
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0xc
cmp dword [esi + 0x14], 0x10
jb 0x49bc71
mov esi, dword [esi]
call fcn.004a1320
push esi
push 2
mov ecx, eax
call fcn.004a1510
cmp dword [ebp + 0x1c], 0x10
jb 0x49bc96
mov eax, dword [ebp + 8]
test eax, eax
je 0x49bc96
push eax
call fcn.00507b54
add esp, 4
mov byte [ebp - 4], 9
jmp 0x49bb1f
cmp dword [ebp + 0x34], 8
mov eax, dword [ebp + 0x20]
jae 0x49bcb6
lea eax, [ebp + 0x20]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
je 0x49bdc6
mov dword [ebp + 4], 0x57
call fcn.004a1320
mov edx, eax
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x49bce8
cmp byte [eax + 0x19], 2
jb 0x49bce8
mov cl, 1
jmp 0x49bcea
xor cl, cl
cmp byte [edx], 0
jne 0x49bcfd
cmp byte [edx + 1], 0
jne 0x49bcfd
test cl, cl
je 0x49bedc
sub esp, 8
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xf
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x10
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 0x17d
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Quarantine_path_is_relative.
mov ecx, eax
call fcn.0047f0b0
lea edx, [ebp + 0x20]
mov ecx, eax
call fcn.004a1750
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xf
call fcn.0047abe0
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x11
cmp dword [esi + 0x14], 0x10
jb 0x49bd9b
mov esi, dword [esi]
call fcn.004a1320
push esi
push 2
mov ecx, eax
call fcn.004a1510
lea ecx, [ebp + 8]
call fcn.0047abe0
mov byte [ebp - 4], 0xe
jmp 0x49bb1f
cmp dword [ebp + 0x34], 8
mov ecx, dword [ebp + 0x20]
jae 0x49bdd2
lea ecx, [ebp + 0x20]
call fcn.004f47d0
test al, al
jne 0x49c167
cmp dword [ebp + 0x34], 8
mov ecx, dword [ebp + 0x20]
jae 0x49bdeb
lea ecx, [ebp + 0x20]
call fcn.004f4870
test al, al
je 0x49bf2e
push 2
mov dword [ebp + 4], 0x57
call fcn.004a1320
mov ecx, eax
call fcn.004a14d0
test al, al
je 0x49bedc
sub esp, 8
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x14
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x15
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 0x189
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Failed_to_configure_Quarantine_directory.
mov ecx, eax
call fcn.0047f0b0
lea edx, [ebp + 0x20]
mov ecx, eax
call fcn.004a1750
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x14
call fcn.0047abe0
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x16
cmp dword [esi + 0x14], 0x10
jb 0x49beb3
mov esi, dword [esi]
call fcn.004a1320
push esi
push 2
mov ecx, eax
call fcn.004a1510
lea ecx, [ebp + 8]
call fcn.0047abe0
lea ecx, [ebp - 0xa8]
call fcn.00479050
mov dword [ebp - 4], 0
mov eax, dword [0x59f554]
test al, 1
jne 0x49bf06
or dword [0x59f554], 1
mov byte [ebp - 4], 0x1d
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [0x597f88]
test byte [eax + 0x1c], 2
je 0x49c018
cmp byte [eax + 0x19], 2
jb 0x49c018
mov al, 1
jmp 0x49c01a
cmp dword [ebp + 0x34], 8
mov eax, dword [ebp + 0x20]
jae 0x49bf3a
lea eax, [ebp + 0x20]
push 0
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
je 0x49c167
cmp eax, 0x50
je 0x49c167
cmp eax, 0xb7
je 0x49c167
push 2
call fcn.004a1320
mov ecx, eax
call fcn.004a14d0
test al, al
je 0x49bedc
sub esp, 8
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x19
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x1a
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 0x190
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Failed_to_create_Quarantine_directory.
mov ecx, eax
call fcn.0047f0b0
lea edx, [ebp + 0x20]
mov ecx, eax
call fcn.004a1750
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x19
call fcn.0047abe0
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x1b
jmp 0x49beab
xor al, al
cmp byte [0x59f560], 0
jne 0x49c034
cmp byte [0x59f561], 0
jne 0x49c034
test al, al
je 0x49c156
sub esp, 8
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xa8]
call fcn.0047b4d0
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x1f
call fcn.004a1680
mov edx, eax
mov byte [ebp - 4], 0x20
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 0x19a
mov ecx, eax
call fcn.0047b130
mov edx, 0x56b378
mov ecx, eax
call fcn.0047f0b0
mov edx, str.Quarantine_directory_configuration_failed_so_falling_back_to_Install_directory
mov ecx, eax
call fcn.0047f0b0
mov edx, 0x598078
mov ecx, eax
call fcn.004a1750
mov byte [ebp - 4], 0x1f
cmp dword [ebp + 0x1c], 0x10
jb 0x49c0c5
mov eax, dword [ebp + 8]
test eax, eax
je 0x49c0c5
push eax
call fcn.00507b54
add esp, 4
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b620
mov esi, eax
mov byte [ebp - 4], 0x21
cmp dword [esi + 0x14], 0x10
jb 0x49c0e2
mov esi, dword [esi]
mov eax, dword [0x59f554]
test al, 1
jne 0x49c10d
or eax, 1
mov dword [0x59f554], eax
mov byte [ebp - 4], 0x22
call fcn.004a1290
push 0x54f080
call fcn.00507cdd
add esp, 4
mov byte [ebp - 4], 0x21
push esi
push 2
mov ecx, 0x59f560
call fcn.004a1510
cmp dword [ebp + 0x1c], 0x10
jb 0x49c130
mov eax, dword [ebp + 8]
test eax, eax
je 0x49c130
push eax
call fcn.00507b54
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1e
call fcn.0047b5a0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56b700
push eax
call fcn.00528f2f
add esp, 4
mov dword [ebp - 4], 0
push 0xffffffffffffffff
push 0
push 0x598078
lea ecx, [ebp + 0x20]
call fcn.0047c390
lea ecx, [ebp + 0x20]
call fcn.004969c0
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [ebp + 0x20]
push eax
call fcn.0047c390
call fcn.004a7ca0
add esp, 0x18
cmp dword [ebp + 0x34], 8
jb 0x49c1b1
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x49c1b1
push eax
call fcn.00507b54
add esp, 4
mov eax, dword [ebp + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x38]
xor ecx, ebp
call fcn.005072fd
lea esp, [ebp + 0x3c]
pop ebp
ret