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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x1401740a0]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov rsi, rdx
mov r13, rcx
xor r15d, r15d
mov r14d, r15d
mov dword [rsp + 0x30], r15d
test rdx, rdx
je 0x140059ae9
movzx eax, word [rdx]
test ax, ax
je 0x140059ae9
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r15w
lea rdi, [r15 - 1]
cmp ax, 0x5c
jne 0x1400594a7
cmp word [rdx + 2], ax
je 0x1400594a7
mov r8, rdx
lea rdx, [rbp + 0x30]
call fcn.140059b50
mov rbx, rax
lea rax, [rbp - 0x60]
cmp rax, rbx
je 0x140059465
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x140059435
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059430
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059b18
call fcn.1400f5c2c
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r15w
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 7
mov word [rbx], r15w
mov rdx, qword [rbp + 0x48]
cmp rdx, 8
jb 0x1400594c4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400594a0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059b18
call fcn.1400f5c2c
jmp 0x1400594c4
mov r8, rdi
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400594b0
lea rcx, [rbp - 0x60]
call fcn.140043ce0
call fcn.14003cbe0
mov rcx, qword [rax]
cmp dword [rcx], 0
je 0x1400596bc
lea rbx, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rbx, qword [rbp - 0x60]
mov dword [rsp + 0x50], 0x80728054
mov dword [rsp + 0x54], 0x80698079
mov dword [rsp + 0x58], 0x8067806e
mov dword [rsp + 0x5c], 0x80748020
mov dword [rsp + 0x60], 0x8020806f
mov dword [rsp + 0x64], 0x80728061
mov dword [rsp + 0x68], 0x80688063
mov dword [rsp + 0x6c], 0x80768069
mov dword [rsp + 0x70], 0x80208065
mov dword [rsp + 0x74], 0x80698066
mov dword [rsp + 0x78], 0x8065806c
mov dword [rsp + 0x7c], 0x805b8020
mov dword [rbp - 0x80], 0x807d807b
mov dword [rbp - 0x7c], 0x8020805d
mov dword [rbp - 0x78], 0x803e802d
mov dword [rbp - 0x74], 0x805b8020
mov dword [rbp - 0x70], 0x807d807b
mov dword [rbp - 0x6c], 0x8000805d
mov word [rbp - 0x68], r15w
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x10]
call fcn.14001a400
nop
mov dword [rsp + 0x30], 9
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rcx, qword [rbp + 0x10]
mov qword [rsp + 0x40], rsi
mov qword [rbp], rbx
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x30], xmm0
movups xmm1, xmmword [rbp]
movups xmmword [rbp + 0x40], xmm1
mov qword [rsp + 0x40], 0xcc
lea rax, [rbp + 0x30]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp], xmm0
mov qword [rsp + 0x40], rcx
mov rax, rdi
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400595d5
mov qword [rsp + 0x48], rax
lea r8, [rbp]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x40]
call fcn.140022420
nop
mov dword [rsp + 0x30], 0x1b
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], r15
lea r14, [rbp - 0x40]
mov r15, qword [rbp - 0x40]
mov r12, qword [rbp - 0x28]
cmp r12, 8
cmovae r14, r15
mov rbx, qword [rbp - 0x30]
cmp rbx, 8
jae 0x140059640
movups xmm0, xmmword [r14]
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 8], 7
mov esi, 7
jmp 0x140059680
mov rsi, rbx
or rsi, 7
movabs rax, 0x7ffffffffffffffe
cmp rsi, rax
cmova rsi, rax
lea rdx, [rsi + 1]
lea rcx, [rbp - 0x20]
call fcn.140043b70
mov qword [rbp - 0x20], rax
lea r8, [rbx*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.1400f8070
mov qword [rbp - 8], rsi
mov qword [rbp - 0x10], rbx
mov r14d, 0x3f
mov dword [rsp + 0x30], r14d
lea rbx, [rbp - 0x20]
cmp rsi, 8
cmovae rbx, qword [rbp - 0x20]
call fcn.14003cbe0
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, str._BDREINIT__::_CArchiveMgr::AddFileToArchive____
xor edx, edx
mov rcx, rax
call fcn.14003f620
jmp 0x1400596c4
mov r12, qword [rbp - 0x28]
mov r15, qword [rbp - 0x40]
test r14b, 4
je 0x140059722
and r14d, 0xfffffffb
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x14005970e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059709
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059b1e
call fcn.1400f5c2c
xor esi, esi
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], 7
mov word [rbp - 0x20], si
jmp 0x140059724
xor esi, esi
test r14b, 2
je 0x14005976a
and r14d, 0xfffffffd
cmp r12, 8
jb 0x14005976a
lea rdx, [r12*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x140059761
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059b24
mov rcx, r15
call fcn.1400f5c2c
nop
test r14b, 1
je 0x1400597b0
mov rdx, qword [rbp + 0x28]
cmp rdx, 8
jb 0x1400597b0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400597ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059b2a
call fcn.1400f5c2c
cmp qword [rbp - 0x50], 0
je 0x140059aa6
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rcx, qword [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140059810
test al, 0x10
jne 0x140059810
mov rax, qword [r13 + 8]
cmp rax, qword [r13 + 0x10]
je 0x1400597fa
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.140043030
add qword [r13 + 8], 0x20
mov bl, 1
jmp 0x140059aa8
lea r8, [rbp - 0x60]
mov rdx, rax
mov rcx, r13
call fcn.14005a5e0
mov bl, 1
jmp 0x140059aa8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [rsp + 0x50], 0x80728045
mov dword [rsp + 0x54], 0x806f8072
mov dword [rsp + 0x58], 0x802c8072
mov dword [rsp + 0x5c], 0x80638020
mov dword [rsp + 0x60], 0x806c8061
mov dword [rsp + 0x64], 0x8069806c
mov dword [rsp + 0x68], 0x8067806e
mov dword [rsp + 0x6c], 0x80478020
mov dword [rsp + 0x70], 0x80748065
mov dword [rsp + 0x74], 0x80698046
mov dword [rsp + 0x78], 0x8065806c
mov dword [rsp + 0x7c], 0x80748041
mov dword [rbp - 0x80], 0x80728074
mov dword [rbp - 0x7c], 0x80628069
mov dword [rbp - 0x78], 0x80748075
mov dword [rbp - 0x74], 0x80738065
mov dword [rbp - 0x70], 0x803a8057
mov dword [rbp - 0x6c], 0x807b8020
mov dword [rbp - 0x68], 0x8000807d
mov word [rbp - 0x64], si
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x10]
call fcn.14001a400
nop
lea rax, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rax, qword [rbp + 0x10]
mov dword [rbp], ebx
movaps xmm0, xmmword [rbp]
movdqa xmmword [rbp], xmm0
mov qword [rsp + 0x40], 2
lea rcx, [rbp]
mov qword [rsp + 0x48], rcx
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rsp + 0x40], rax
nop word [rax + rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140059900
mov qword [rsp + 0x48], rdi
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x30]
call fcn.140022420
nop
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rsi
lea r14, [rbp + 0x30]
mov r15, qword [rbp + 0x48]
cmp r15, 8
setae r12b
mov rsi, qword [rbp + 0x30]
cmovae r14, rsi
mov rbx, qword [rbp + 0x40]
cmp rbx, 8
jae 0x140059967
movups xmm0, xmmword [r14]
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x28], 7
mov edi, 7
jmp 0x1400599a7
mov rdi, rbx
or rdi, 7
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
cmova rdi, rax
lea rdx, [rdi + 1]
lea rcx, [rbp - 0x40]
call fcn.140043b70
mov qword [rbp - 0x40], rax
lea r8, [rbx*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.1400f8070
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x30], rbx
lea rbx, [rbp - 0x40]
cmp rdi, 8
cmovae rbx, qword [rbp - 0x40]
call fcn.14003cbe0
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, str._BDREINIT__::_CArchiveMgr::AddFileToArchive____
lea edx, [r9 + 8]
mov rcx, rax
call fcn.14003f620
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x140059a19
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059a14
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059b30
call fcn.1400f5c2c
xor eax, eax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], ax
test r12b, r12b
je 0x140059a66
lea rdx, [r15*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140059a5d
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059b36
mov rcx, rsi
call fcn.1400f5c2c
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 8
jb 0x140059aa6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059aa1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059b3c
call fcn.1400f5c2c
xor bl, bl
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x140059ae4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059adf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059b12
call fcn.1400f5c2c
movzx eax, bl
jmp 0x140059aeb
xor al, al
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.1400f5be0
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400fcb20
nop
call fcn.1400fcb20
nop
call fcn.1400fcb20
nop
call fcn.1400fcb20
nop
call fcn.1400fcb20
nop
call fcn.1400fcb20
nop
call fcn.1400fcb20
nop
call fcn.1400fcb20
int3