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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov r14, qword [rdx]
mov rsi, rcx
mov rdi, rdx
lea r13, [rsp + 0x70]
mov rbp, r8
lea r12, [rsp + 0x80]
mov qword [rsp + 0x70], r12
test r14, r14
je 0x140005d38
mov rcx, r14
call sub.msvcrt.dll_wcslen
lea rbx, [rax + rax]
mov r15, rbx
sar r15, 1
mov qword [rsp + 0x68], r15
cmp rbx, 0xe
ja 0x140005a50
mov rcx, qword [rsp + 0x70]
mov rax, r15
cmp r15, 1
je 0x140005a40
test r15, r15
jne 0x140005a20
xor r8d, r8d
mov qword [rsp + 0x78], rax
xor r9d, r9d
mov edx, pe_nt_image_headers64
mov word [rcx + rax*2], r8w
mov r8d, 7
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2200000
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rcx, qword [rsp + 0x70]
mov rbx, rax
cmp rcx, r12
je 0x1400059df
mov rax, qword [rsp + 0x80]
lea rdx, [rax + rax + 2]
call fcn.1403cd470
cmp rbx, 0xffffffffffffffff
je 0x140005a80
mov r9, rbp
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.140005460
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, rsi
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8, rbx
mov rdx, r14
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
jmp 0x140005986
movzx edx, word [r14]
mov word [rcx], dx
jmp 0x140005986
mov rcx, r13
lea rdx, [rsp + 0x68]
xor r8d, r8d
call fcn.140399a10
mov qword [rsp + 0x70], rax
mov rcx, rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x80], rax
jmp 0x140005973
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
call r14
mov ebx, eax
cmp eax, 5
je 0x140005b20
mov r12d, ebx
test rbp, rbp
je 0x140005abb
lea rax, [0x1404280e0]
cmp ebx, 1
mov dword [rbp], ebx
mov qword [rbp + 8], rax
mov eax, 2
sbb rax, 0xffffffffffffffff
mov qword [rbp + 0x10], rax
cmp ebx, 0x57
je 0x140005b10
jbe 0x140005af0
cmp ebx, 0x7b
je 0x140005b10
cmp ebx, 0xa1
je 0x140005b10
test rbp, rbp
je 0x14040cc90
movabs rax, 0xffff00000000
mov qword [rsi], rax
jmp 0x140005a03
lea eax, [rbx - 2]
cmp eax, 0x13
ja 0x140005b65
mov eax, 0x20800c
bt rax, rbx
jb 0x140005b10
cmp r12d, 0x35
je 0x140005b10
cmp r12d, 0x43
jne 0x140005acf
nop
mov qword [rsi], 1
jmp 0x140005a03
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r15d, eax
cmp eax, 0xffffffff
je 0x140005ca0
test ah, 4
je 0x140005bf0
test rbp, rbp
je 0x140005b90
lea rax, [0x1404280e0]
mov dword [rbp], 5
mov r12d, 5
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], 3
jmp 0x140005af8
cmp ebx, 0x35
je 0x140005b10
cmp ebx, 0x43
je 0x140005b10
cmp ebx, 0x20
jne 0x140005acf
movabs rax, 0xffff0000000a
mov qword [rsi], rax
jmp 0x140005a03
mov ebx, 3
mov r12d, 5
mov ecx, 0x30
call fcn.1403cd580
mov dword [rsp + 0x70], r12d
mov r8, rdi
lea r9, [rsp + 0x40]
mov rbp, rax
lea rax, [0x1404280e0]
mov qword [rsp + 0x50], rbx
lea rdx, str.boost::filesystem::status
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x70]
mov rcx, rbp
mov qword [rsp + 0x80], rbx
movaps xmmword [rsp + 0x40], xmm0
call fcn.140014a70
nop
jmp 0x14040ccad
and eax, 1
mov rcx, rdi
cmp eax, 1
sbb ebp, ebp
and ebp, 0x92
add ebp, 0x124
call fcn.140010d30
mov rdx, qword [rdi + 8]
lea rbx, [rax + rax]
mov rcx, qword [rdi]
mov qword [rsp + 0x70], r12
mov rdi, rbx
sub rdx, rax
sar rdi, 1
lea r14, [rcx + rdx*2]
mov qword [rsp + 0x68], rdi
mov rax, rdi
mov rcx, r12
cmp rbx, 0xe
ja 0x140005ce9
cmp rdi, 1
je 0x140005cdd
test rdi, rdi
je 0x140005c62
mov r8, rbx
mov rdx, r14
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
xor edx, edx
mov qword [rsp + 0x78], rax
mov word [rcx + rax*2], dx
cmp word [rcx], 0x2e
je 0x140005caa
cmp rcx, r12
je 0x140005c8a
mov rax, qword [rsp + 0x80]
lea rdx, [rax + rax + 2]
call fcn.1403cd470
xor eax, eax
and r15d, 0x10
mov dword [rsi + 4], ebp
setne al
add eax, 2
mov dword [rsi], eax
jmp 0x140005a03
call r14
mov ebx, eax
jmp 0x140005a95
movzx eax, word [rcx + 2]
and eax, 0xffffffdf
cmp ax, 0x45
jne 0x140005d13
movzx eax, word [rcx + 4]
and eax, 0xffffffdf
cmp ax, 0x58
jne 0x140005c73
movzx eax, word [rcx + 6]
and eax, 0xffffffdf
cmp ax, 0x45
jne 0x140005c73
cmp word [rcx + 8], 0
jne 0x140005c73
or ebp, 0x49
jmp 0x140005c73
movzx edx, word [r14]
mov word [rcx], dx
jmp 0x140005c62
lea rdx, [rsp + 0x68]
xor r8d, r8d
mov rcx, r13
call fcn.140399a10
mov qword [rsp + 0x70], rax
mov rcx, rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x80], rax
jmp 0x140005c3e
cmp ax, 0x43
jne 0x140005d64
movzx eax, word [rcx + 4]
and eax, 0xffffffdf
cmp ax, 0x4f
jne 0x140005d44
movzx eax, word [rcx + 6]
and eax, 0xffffffdf
cmp ax, 0x4d
je 0x140005cd1
jmp 0x140005c73
lea rcx, [0x140463d28]
call fcn.140414070
cmp ax, 0x4d
jne 0x140005c73
movzx eax, word [rcx + 6]
and eax, 0xffffffdf
cmp ax, 0x44
je 0x140005cd1
jmp 0x140005c73
cmp ax, 0x42
jne 0x140005c73
movzx eax, word [rcx + 4]
and eax, 0xffffffdf
cmp ax, 0x41
jne 0x140005c73
movzx eax, word [rcx + 6]
and eax, 0xffffffdf
cmp ax, 0x54
je 0x140005cd1
jmp 0x140005c73
mov rcx, rsi
call fcn.1401963f0
mov rcx, qword [rsp + 0x70]
cmp rcx, r12
je 0x14040cc88
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 1]
add rdx, rdx
call fcn.1403cd470
mov rcx, rbx
call fcn.1401963f0
cmp r12d, 1
mov ebx, 2
sbb rbx, 0xffffffffffffffff
jmp 0x140005b9b
lea r8, [0x140014380]
lea rdx, [0x1404e9370]
mov rcx, rbp
call fcn.1403cdb10
mov rcx, rbp
call fcn.1403cd7f0
jmp 0x14040cc62