Function at 0x140053b2c
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rax, qword [0x1403cd210]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rdi, rdx
mov r13, rcx
xor ebx, ebx
mov r15d, ebx
mov dword [rbp - 0x39], ebx
mov qword [rbp + 0x1f], rbx
mov qword [rbp + 0x27], 7
mov word [rbp + 0xf], bx
lea rcx, [rbp + 0xf]
call fcn.140062078
movzx eax, al
test eax, eax
jne 0x140053bba
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x39], eax
lea edi, [rbx + 5]
mov ecx, edi
call fcn.1400e2070
test eax, eax
je 0x140053f92
lea rax, [rbp - 0x39]
mov qword [rsp + 0x28], rax
lea rax, str.Failed_to_retreive_a_temp_path__u
lea r9d, [rbx + 0x46]
jmp 0x140053c3a
mov qword [rbp - 1], rbx
mov qword [rbp + 7], rbx
lea rdx, [rbp + 0xf]
lea rcx, [rbp - 0x11]
call fcn.140034c5c
nop
xor edx, edx
lea rcx, [rbp - 0x11]
call fcn.14004afe0
mov sil, al
mov rdx, qword [rbp + 7]
cmp rdx, 8
jb 0x140053bf9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
call fcn.1400331fc
test sil, sil
jne 0x140053c59
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x39], eax
cmp eax, 0xb7
je 0x140053ca9
mov edi, 5
mov ecx, edi
call fcn.1400e2070
test eax, eax
je 0x140053f92
lea rax, [rbp - 0x39]
mov qword [rsp + 0x28], rax
lea rax, str.Windows_temp_folder_does_not_exist_and_CSIS_was_unable_to_create_it._Error:__lu
lea r9d, [rdi + 0x4a]
mov qword [rsp + 0x20], rax
lea r8, str.CCabExtractor::PrepareDestinationDir
lea rdx, str.E:BT98e4b0b8_6261_4b66_a156_8e0ef62b3d71UBF_1CSIS_srcCSISCommonMcEmbedCabExtractor.cpp
mov ecx, edi
call fcn.140032100
jmp 0x140053f92
mov esi, 6
mov ecx, esi
call fcn.1400e2070
test eax, eax
je 0x140053ca9
lea rax, [rbp + 0xf]
cmp qword [rbp + 0x27], 8
cmovae rax, qword [rbp + 0xf]
mov qword [rbp - 0x39], rax
lea rax, [rbp - 0x39]
mov qword [rsp + 0x28], rax
lea rax, str.Windows_temp_folder_was_missing._Created_folder:__ls
mov qword [rsp + 0x20], rax
lea r9d, [rsi + 0x4f]
lea r8, str.CCabExtractor::PrepareDestinationDir
lea rdx, str.E:BT98e4b0b8_6261_4b66_a156_8e0ef62b3d71UBF_1CSIS_srcCSISCommonMcEmbedCabExtractor.cpp
mov ecx, esi
call fcn.1400323dc
cmp qword [rdi + 0x18], 8
jb 0x140053cb3
mov rdi, qword [rdi]
lea r14, [r13 + 0x28]
or rsi, 0xffffffffffffffff
test rdi, rdi
jne 0x140053cc4
mov eax, ebx
jmp 0x140053cd0
mov rax, rsi
inc rax
cmp word [rdi + rax*2], bx
jne 0x140053cc7
mov r8d, eax
mov rdx, rdi
mov rcx, r14
call fcn.140038edc
mov rcx, qword [r14]
cmp dword [rcx - 0x10], ebx
jne 0x140053dbf
mov qword [rbp - 0x21], rbx
mov qword [rbp - 0x19], 7
mov word [rbp - 0x31], bx
lea rdx, [rbp + 0xf]
cmp qword [rbp + 0x27], 8
cmovae rdx, qword [rbp + 0xf]
lea r9, str.McInstallTemp
lea rcx, [rbp - 0x31]
call fcn.140062120
test eax, eax
jne 0x140053d74
lea edi, [rax + 5]
mov ecx, edi
call fcn.1400e2070
test eax, eax
je 0x140053d50
lea rax, str.Failed_to_create_a_unique_name_of_temp_download_manager_dir.
mov qword [rsp + 0x20], rax
lea r9d, [rdi + 0x5a]
lea r8, str.CCabExtractor::PrepareDestinationDir
lea rdx, str.E:BT98e4b0b8_6261_4b66_a156_8e0ef62b3d71UBF_1CSIS_srcCSISCommonMcEmbedCabExtractor.cpp
mov ecx, edi
call fcn.14003209c
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x140053f92
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
call fcn.1400331fc
jmp 0x140053f92
lea rdx, [rbp - 0x31]
cmp qword [rbp - 0x19], 8
cmovae rdx, qword [rbp - 0x31]
test rdx, rdx
jne 0x140053d8b
mov esi, ebx
jmp 0x140053d94
inc rsi
cmp word [rdx + rsi*2], bx
jne 0x140053d8b
mov r8d, esi
mov rcx, r14
call fcn.140038edc
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x140053dbb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
call fcn.1400331fc
mov rcx, qword [r13 + 0x28]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, 1
cmp eax, 0xffffffff
je 0x140053dd3
test al, 0x10
jne 0x140053e20
mov rdx, qword [r14]
cmp dword [rdx - 8], esi
jle 0x140053de9
mov edx, dword [rdx - 0x10]
mov rcx, r14
call fcn.140039200
mov rdx, qword [r14]
mov qword [rbp - 0x21], rbx
mov r13d, 7
mov qword [rbp - 0x19], r13
mov word [rbp - 0x31], bx
lea rcx, [rbp - 0x31]
call fcn.140031d84
nop
mov r15d, esi
mov dword [rbp - 0x39], esi
mov dl, sil
lea rcx, [rbp - 0x31]
call fcn.14004afe0
test al, al
jne 0x140053e26
mov dil, bl
jmp 0x140053e29
mov r13d, 7
mov dil, sil
test sil, r15b
je 0x140053e49
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x140053e49
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
call fcn.1400331fc
test dil, dil
je 0x140053f5c
mov qword [rbp - 0x21], rbx
mov qword [rbp - 0x19], r13
mov word [rbp - 0x31], bx
mov rdx, qword [r14]
lea rcx, [rbp - 0x31]
call fcn.140031d84
nop
mov qword [rbp - 1], rbx
mov qword [rbp + 7], r13
mov word [rbp - 0x11], bx
lea rdx, str.SelfProtect
lea rcx, [rbp - 0x11]
call fcn.140031d84
nop
lea rdx, [rbp - 0x11]
lea rcx, [rbp - 0x31]
call fcn.1400622b4
nop
mov rdx, qword [rbp + 7]
cmp rdx, 8
jb 0x140053eb1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
call fcn.1400331fc
mov qword [rbp - 1], rbx
mov qword [rbp + 7], rbx
lea rdx, [rbp - 0x31]
lea rcx, [rbp - 0x11]
call fcn.140034c5c
nop
xor edx, edx
lea rcx, [rbp - 0x11]
call fcn.14004afe0
mov dil, al
mov rdx, qword [rbp + 7]
cmp rdx, 8
jb 0x140053ef0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
call fcn.1400331fc
test dil, dil
jne 0x140053f3d
mov edi, 5
mov ecx, edi
call fcn.1400e2070
test eax, eax
je 0x140053f3d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x39], eax
lea rax, [rbp - 0x39]
mov qword [rsp + 0x28], rax
lea rax, str.Failed_to_create_SelfProtect_Dir._Error_code:__lu
mov qword [rsp + 0x20], rax
lea r9d, [rdi + 0x69]
lea r8, str.CCabExtractor::PrepareDestinationDir
lea rdx, str.E:BT98e4b0b8_6261_4b66_a156_8e0ef62b3d71UBF_1CSIS_srcCSISCommonMcEmbedCabExtractor.cpp
mov ecx, edi
call fcn.140032100
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x140053f58
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
call fcn.1400331fc
mov ebx, esi
jmp 0x140053f92
mov edi, 5
mov ecx, edi
call fcn.1400e2070
test eax, eax
je 0x140053f92
lea rax, str.Failed_to_create_temp_download_manager_dir.
mov qword [rsp + 0x20], rax
lea r9d, [rdi + 0x70]
lea r8, str.CCabExtractor::PrepareDestinationDir
lea rdx, str.E:BT98e4b0b8_6261_4b66_a156_8e0ef62b3d71UBF_1CSIS_srcCSISCommonMcEmbedCabExtractor.cpp
mov ecx, edi
call fcn.14003209c
nop
mov rdx, qword [rbp + 0x27]
cmp rdx, 8
jb 0x140053fad
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf]
call fcn.1400331fc
mov eax, ebx
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140119fe0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret