Function at 0x49af40
Capabilities:
Create directory

Disassembly:
push ebp
lea ebp, [esp - 0x3c]
sub esp, 0x3c
push 0xffffffffffffffff
push 0x543a50
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x595c60]
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 [0x5970a0], eax
je 0x49afa6
push 0x597090
jmp 0x49afcb
cmp dword [0x597058], 0
je 0x49afb6
push 0x597048
jmp 0x49afcb
cmp dword [0x5970b8], 0
je 0x49afc6
push 0x5970a8
jmp 0x49afcb
push 0x597078
lea ecx, [ebp + 0x20]
call fcn.0047c410
cmp dword [ebp + 0x34], 8
mov eax, dword [ebp + 0x20]
jae 0x49afdf
lea eax, [ebp + 0x20]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsNetworkPathW]
cmp eax, 1
jne 0x49b17a
mov eax, dword [0x59e598]
mov dword [ebp + 4], 0x57
test al, 1
jne 0x49b020
or dword [0x59e598], 1
mov byte [ebp - 4], 1
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x49b035
cmp byte [eax + 0x19], 2
jb 0x49b035
mov al, 1
jmp 0x49b037
xor al, al
cmp byte [0x59e5a8], 0
jne 0x49b051
cmp byte [0x59e5a9], 0
jne 0x49b051
test al, al
je 0x49b50c
sub esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 8]
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 0x171
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Network_location_is_invalid_for_Quarantine_directory.
mov ecx, eax
call fcn.0047f130
lea edx, [ebp + 0x20]
mov ecx, eax
call fcn.004a0d80
mov byte [ebp - 4], 3
cmp dword [ebp + 0x1c], 0x10
jb 0x49b0e0
mov eax, dword [ebp + 8]
test eax, eax
je 0x49b0e0
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 5
cmp dword [esi + 0x14], 0x10
jb 0x49b0fd
mov esi, dword [esi]
mov eax, dword [0x59e598]
test al, 1
jne 0x49b128
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 6
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 5
push esi
push 2
mov ecx, 0x59e5a8
call fcn.004a0b40
cmp dword [ebp + 0x1c], 0x10
jb 0x49b14b
mov eax, dword [ebp + 8]
test eax, eax
je 0x49b14b
push eax
call fcn.005074d4
add esp, 4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
jmp 0x49b505
cmp dword [ebp + 0x34], 8
mov ecx, dword [ebp + 0x20]
jae 0x49b186
lea ecx, [ebp + 0x20]
call fcn.004f41b0
test eax, eax
je 0x49b2da
mov eax, dword [0x59e598]
mov dword [ebp + 4], 0x57
test al, 1
jne 0x49b1c4
or dword [0x59e598], 1
mov byte [ebp - 4], 8
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x49b1d9
cmp byte [eax + 0x19], 2
jb 0x49b1d9
mov al, 1
jmp 0x49b1db
xor al, al
cmp byte [0x59e5a8], 0
jne 0x49b1f5
cmp byte [0x59e5a9], 0
jne 0x49b1f5
test al, al
je 0x49b50c
sub esp, 8
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0xb
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 0x177
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Removable_media_location_is_invalid_for_Quarantine_directory.
mov ecx, eax
call fcn.0047f130
lea edx, [ebp + 0x20]
mov ecx, eax
call fcn.004a0d80
mov byte [ebp - 4], 0xa
cmp dword [ebp + 0x1c], 0x10
jb 0x49b284
mov eax, dword [ebp + 8]
test eax, eax
je 0x49b284
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0xc
cmp dword [esi + 0x14], 0x10
jb 0x49b2a1
mov esi, dword [esi]
call fcn.004a0950
push esi
push 2
mov ecx, eax
call fcn.004a0b40
cmp dword [ebp + 0x1c], 0x10
jb 0x49b2c6
mov eax, dword [ebp + 8]
test eax, eax
je 0x49b2c6
push eax
call fcn.005074d4
add esp, 4
mov byte [ebp - 4], 9
jmp 0x49b14f
cmp dword [ebp + 0x34], 8
mov eax, dword [ebp + 0x20]
jae 0x49b2e6
lea eax, [ebp + 0x20]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
je 0x49b3f6
mov dword [ebp + 4], 0x57
call fcn.004a0950
mov edx, eax
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x49b318
cmp byte [eax + 0x19], 2
jb 0x49b318
mov cl, 1
jmp 0x49b31a
xor cl, cl
cmp byte [edx], 0
jne 0x49b32d
cmp byte [edx + 1], 0
jne 0x49b32d
test cl, cl
je 0x49b50c
sub esp, 8
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xf
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0x10
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 0x17d
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Quarantine_path_is_relative.
mov ecx, eax
call fcn.0047f130
lea edx, [ebp + 0x20]
mov ecx, eax
call fcn.004a0d80
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xf
call fcn.0047ac60
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0x11
cmp dword [esi + 0x14], 0x10
jb 0x49b3cb
mov esi, dword [esi]
call fcn.004a0950
push esi
push 2
mov ecx, eax
call fcn.004a0b40
lea ecx, [ebp + 8]
call fcn.0047ac60
mov byte [ebp - 4], 0xe
jmp 0x49b14f
cmp dword [ebp + 0x34], 8
mov ecx, dword [ebp + 0x20]
jae 0x49b402
lea ecx, [ebp + 0x20]
call fcn.004f3f00
test al, al
jne 0x49b797
cmp dword [ebp + 0x34], 8
mov ecx, dword [ebp + 0x20]
jae 0x49b41b
lea ecx, [ebp + 0x20]
call fcn.004f3fa0
test al, al
je 0x49b55e
push 2
mov dword [ebp + 4], 0x57
call fcn.004a0950
mov ecx, eax
call fcn.004a0b00
test al, al
je 0x49b50c
sub esp, 8
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x14
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0x15
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 0x189
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Failed_to_configure_Quarantine_directory.
mov ecx, eax
call fcn.0047f130
lea edx, [ebp + 0x20]
mov ecx, eax
call fcn.004a0d80
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x14
call fcn.0047ac60
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0x16
cmp dword [esi + 0x14], 0x10
jb 0x49b4e3
mov esi, dword [esi]
call fcn.004a0950
push esi
push 2
mov ecx, eax
call fcn.004a0b40
lea ecx, [ebp + 8]
call fcn.0047ac60
lea ecx, [ebp - 0xa8]
call fcn.004790d0
mov dword [ebp - 4], 0
mov eax, dword [0x59e598]
test al, 1
jne 0x49b536
or dword [0x59e598], 1
mov byte [ebp - 4], 0x1d
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x49b648
cmp byte [eax + 0x19], 2
jb 0x49b648
mov al, 1
jmp 0x49b64a
cmp dword [ebp + 0x34], 8
mov eax, dword [ebp + 0x20]
jae 0x49b56a
lea eax, [ebp + 0x20]
push 0
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
je 0x49b797
cmp eax, 0x50
je 0x49b797
cmp eax, 0xb7
je 0x49b797
push 2
call fcn.004a0950
mov ecx, eax
call fcn.004a0b00
test al, al
je 0x49b50c
sub esp, 8
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x19
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0x1a
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 0x190
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Failed_to_create_Quarantine_directory.
mov ecx, eax
call fcn.0047f130
lea edx, [ebp + 0x20]
mov ecx, eax
call fcn.004a0d80
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x19
call fcn.0047ac60
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0x1b
jmp 0x49b4db
xor al, al
cmp byte [0x59e5a8], 0
jne 0x49b664
cmp byte [0x59e5a9], 0
jne 0x49b664
test al, al
je 0x49b786
sub esp, 8
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x1f
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0x20
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 0x19a
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Quarantine_directory_configuration_failed_so_falling_back_to_Install_directory
mov ecx, eax
call fcn.0047f130
mov edx, 0x597078
mov ecx, eax
call fcn.004a0d80
mov byte [ebp - 4], 0x1f
cmp dword [ebp + 0x1c], 0x10
jb 0x49b6f5
mov eax, dword [ebp + 8]
test eax, eax
je 0x49b6f5
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0x21
cmp dword [esi + 0x14], 0x10
jb 0x49b712
mov esi, dword [esi]
mov eax, dword [0x59e598]
test al, 1
jne 0x49b73d
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 0x22
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0x21
push esi
push 2
mov ecx, 0x59e5a8
call fcn.004a0b40
cmp dword [ebp + 0x1c], 0x10
jb 0x49b760
mov eax, dword [ebp + 8]
test eax, eax
je 0x49b760
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1e
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
mov dword [ebp - 4], 0
push 0xffffffffffffffff
push 0
push 0x597078
lea ecx, [ebp + 0x20]
call fcn.0047c410
lea ecx, [ebp + 0x20]
call fcn.00496000
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.0047c410
call fcn.004a72d0
add esp, 0x18
cmp dword [ebp + 0x34], 8
jb 0x49b7e1
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x49b7e1
push eax
call fcn.005074d4
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.00506c7d
lea esp, [ebp + 0x3c]
pop ebp
ret