Function at 0x180234050
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f8]
sub rsp, 0x2f8
mov qword [rbp + 0xd0], 0xfffffffffffffffe
mov rsi, rdx
mov r12, rcx
xor eax, eax
mov dword [rsp + 0x40], eax
mov qword [rdx], rax
mov dword [rdx + 8], eax
mov dword [rdx + 0x10], eax
mov dword [rdx + 0x18], eax
mov qword [rdx + 0x20], rax
mov dword [rdx + 0x28], eax
mov dword [rdx + 0x30], eax
mov qword [rdx + 0x38], rax
mov r15d, 1
mov dword [rsp + 0x40], r15d
lea rax, [0x1802bccc0]
mov qword [rbp + 0x258], rax
mov rax, qword [rcx + 0x100]
mov rax, qword [rax + 0xfc458]
mov qword [rsp + 0x48], rax
lea r14, [rax - 0x10]
lea rbx, [0x1802bccb0]
cmp r14, rbx
je 0x1802340ea
mov eax, r15d
lock xadd dword [r14], eax
mov rax, qword [0x180417298]
cmp byte [rax], 0
setne r13b
or edi, 0xffffffff
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0
je 0x1802343a4
mov rcx, qword [rcx + 0xf8]
add rcx, 0x480
lea rdx, [rbp + 0x110]
call fcn.1801edef0
lea r8, [rsp + 0x48]
mov rdx, rax
lea rcx, [rbp + 0x120]
call fcn.1800eb420
lea r8, [0x1802daaac]
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.1800eb4b0
nop
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.1800e7430
mov rax, qword [rsp + 0x70]
mov qword [rbp + 0x258], rax
mov rcx, qword [rbp + 0x60]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x180234182
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, edi
jne 0x180234182
call fcn.1800a0c6c
mov rax, qword [rsp + 0x70]
cmp byte [rax], 0
je 0x1802341b0
lea rdx, [rbp + 0x258]
lea rcx, [rbp + 0xe8]
call fcn.180016d90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x1802343a4
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x90], rax
cmp r14, rbx
je 0x1802341c9
mov eax, r15d
lock xadd dword [r14], eax
lea r8, [rbp + 0x90]
lea rdx, [rsp + 0x50]
lea rcx, [0x180423a60]
call fcn.1801ed2b0
nop
mov rbx, qword [rsp + 0x50]
mov rax, qword [0x180416ef0]
cmp rbx, rax
je 0x180234212
mov qword [rbp + 0xc0], rax
mov qword [rbp - 0x28], rbx
lea rdx, [rbp + 0xc0]
lea rcx, [rbp - 0x28]
call fcn.180019ca0
test eax, eax
jne 0x180234277
test r13b, r13b
je 0x180234277
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x50], rax
lea rbx, [0x1802bccb0]
cmp r14, rbx
je 0x180234234
mov eax, r15d
lock xadd dword [r14], eax
lea r8, [rbp + 0x50]
lea rdx, [rbp - 0x18]
lea rcx, [0x180423870]
call fcn.1801ed2b0
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rax]
mov qword [rsp + 0x50], rdx
mov qword [rax], rcx
mov rcx, qword [rbp - 0x18]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x180234277
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180234277
call fcn.1800a0c6c
mov rbx, qword [rsp + 0x50]
mov rax, qword [0x180416ef0]
cmp rbx, rax
je 0x18023437d
mov qword [rbp + 0x58], rax
mov qword [rbp - 8], rbx
lea rdx, [rbp + 0x58]
lea rcx, [rbp - 8]
call fcn.180019ca0
test eax, eax
je 0x18023437d
mov qword [rbp + 0x68], rbx
add rbx, 0xfffffffffffffff0
lea rax, [0x1802bccb0]
cmp rbx, rax
je 0x1802342c4
mov eax, r15d
lock xadd dword [rbx], eax
xor r8d, r8d
lea rdx, [rbp + 0x68]
mov rcx, qword [r12 + 0xf8]
call fcn.1801f1ff0
mov rcx, qword [r12 + 0xf8]
add rcx, 0x480
lea rdx, [rbp + 0x118]
call fcn.1801edef0
lea r8, [rsp + 0x48]
mov rdx, rax
lea rcx, [rbp + 0xf8]
call fcn.1800eb420
lea r8, [0x1802daab4]
mov rdx, rax
lea rcx, [rbp + 0x78]
call fcn.1800eb4b0
nop
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.1800e7430
mov rax, qword [rbp + 0x258]
mov rcx, qword [rbp + 8]
mov qword [rbp + 0x258], rcx
lea rcx, [rax - 0x10]
lea rbx, [0x1802bccb0]
cmp rcx, rbx
je 0x18023435c
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18023435c
call fcn.1800a0c6c
nop
mov rcx, qword [rbp + 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x180234384
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180234384
call fcn.1800a0c6c
jmp 0x180234384
lea rbx, [0x1802bccb0]
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x1802343a4
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1802343a4
call fcn.1800a0c6c
mov byte [rbp + 0x250], 0
cmp byte [0x180423c19], 0
je 0x1802343fd
mov rax, qword [0x180423b38]
test rax, rax
jne 0x1802343fd
call qword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x180421b48]
cmp eax, ecx
jae 0x1802343da
add ecx, 0xfffffc18
cmp eax, ecx
jae 0x1802343e0
mov dword [0x180421b48], eax
sub eax, dword [0x180423c10]
cmp eax, dword [0x180423c14]
jbe 0x1802343fd
mov edx, r15d
lea rcx, [0x180423b28]
call fcn.1800ea8b0
lea rdx, [rbp + 0x170]
lea rcx, [0x180423a60]
call fcn.1801edcc0
nop
mov rax, qword [rbp + 0x258]
cmp byte [rax], 0
je 0x1802344b4
lea rdx, [rbp + 0x258]
lea rcx, [rbp + 0x128]
call fcn.180016d90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
jne 0x1802344b4
lea rdx, [rbp + 0x98]
lea rcx, [0x180423a60]
call fcn.1801edef0
mov rbx, rax
mov dword [rsp + 0x40], 3
mov rcx, qword [r12 + 0xf8]
add rcx, 0x480
lea rdx, [rbp + 0x28]
call fcn.1801edef0
mov dword [rsp + 0x40], 7
mov rcx, qword [rbx]
mov qword [rbp + 0x108], rcx
cmp byte [rcx], 0
je 0x1802344b0
mov qword [rbp + 0x18], rcx
mov rax, qword [rax]
mov qword [rbp + 0x88], rax
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x88]
call fcn.18001aec0
test eax, eax
js 0x1802344b4
mov bl, 1
jmp 0x1802344b6
xor bl, bl
mov ecx, dword [rsp + 0x40]
lea r12, [0x1802bccb0]
test cl, 4
je 0x1802344eb
and dword [rsp + 0x40], 0xfffffffb
mov rcx, qword [rbp + 0x28]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x1802344eb
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1802344eb
call fcn.1800a0c6c
nop
mov ecx, dword [rsp + 0x40]
test cl, 2
je 0x18023451b
and dword [rsp + 0x40], 0xfffffffd
mov rcx, qword [rbp + 0x98]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x18023451b
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x18023451b
call fcn.1800a0c6c
test bl, bl
je 0x180234574
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x38], rax
lea rcx, [rax - 0x10]
cmp rcx, r12
je 0x18023453a
mov eax, r15d
lock xadd dword [rcx], eax
lea rdx, [rbp + 0x38]
lea rcx, [0x180423a60]
call fcn.1801ed4c0
test eax, eax
je 0x180234574
jg 0x180234559
mov byte [rbp + 0x250], 0
jmp 0x180234574
mov r9b, 1
movzx r8d, r9b
mov edx, eax
lea rcx, [rbp + 0x170]
call fcn.180223eb0
mov byte [rbp + 0x250], al
lea rax, str.Factory
mov qword [rbp + 0xa8], rax
lea rdx, [rbp + 0xa8]
lea rcx, [rsp + 0x58]
call fcn.18001a440
nop
movzx eax, byte [rbp + 0x250]
mov byte [rsp + 0x28], al
lea r8, [rbp + 0x170]
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1802238a0
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x1802345d4
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1802345d4
call fcn.1800a0c6c
xor r12b, r12b
xor eax, eax
mov qword [rbp - 0x80], rax
mov dword [rbp - 0x78], eax
mov dword [rbp - 0x70], eax
mov dword [rbp - 0x68], eax
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x58], eax
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], rax
test r13b, r13b
je 0x180234854
cmp byte [0x180423a29], al
je 0x18023464e
mov rax, qword [0x180423948]
test rax, rax
jne 0x18023464e
call qword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x180421b48]
cmp eax, ecx
jae 0x18023462b
add ecx, 0xfffffc18
cmp eax, ecx
jae 0x180234631
mov dword [0x180421b48], eax
sub eax, dword [0x180423a20]
cmp eax, dword [0x180423a24]
jbe 0x18023464e
mov edx, r15d
lea rcx, [0x180423938]
call fcn.1800ea8b0
lea rdx, [rbp + 0x1b0]
lea rcx, [0x180423870]
call fcn.1801edcc0
mov rbx, rax
lea rax, [rbp - 0x80]
cmp rax, rbx
je 0x18023468c
mov rcx, qword [rbx + 0x38]
mov qword [rbp - 0x48], rcx
lea rcx, [rbp - 0x80]
call fcn.180224450
lea rdx, [rbx + 0x20]
lea rcx, [rbp - 0x60]
call fcn.18009a320
nop
lea rcx, [rbp + 0x1d0]
call fcn.18009a160
nop
mov rcx, qword [rbp + 0x1b0]
call fcn.1800a09c8
mov rax, qword [rbp + 0x258]
cmp byte [rax], 0
je 0x180234748
lea rdx, [rbp + 0x258]
lea rcx, [rbp + 0xd8]
call fcn.180016d90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
jne 0x180234748
lea rdx, [rbp - 0x40]
lea rcx, [0x180423870]
call fcn.1801edef0
mov rbx, rax
or dword [rsp + 0x40], 8
mov rcx, qword [rbp + 0x240]
mov rcx, qword [rcx + 0xf8]
add rcx, 0x480
lea rdx, [rbp + 0xc8]
call fcn.1801edef0
or dword [rsp + 0x40], 0x10
mov rcx, qword [rbx]
mov qword [rbp + 0xe0], rcx
cmp byte [rcx], 0
je 0x180234744
mov qword [rbp + 0x48], rcx
mov rax, qword [rax]
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0xb8]
call fcn.18001aec0
test eax, eax
js 0x180234748
mov bl, 1
jmp 0x18023474a
xor bl, bl
mov ecx, dword [rsp + 0x40]
lea r13, [0x1802bccb0]
test cl, 0x10
je 0x180234782
and dword [rsp + 0x40], 0xffffffef
mov rcx, qword [rbp + 0xc8]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x180234782
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180234782
call fcn.1800a0c6c
nop
mov ecx, dword [rsp + 0x40]
test cl, 8
je 0x1802347af
and dword [rsp + 0x40], 0xfffffff7
mov rcx, qword [rbp - 0x40]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x1802347af
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1802347af
call fcn.1800a0c6c
test bl, bl
je 0x180234805
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0xb0], rax
lea rcx, [rax - 0x10]
cmp rcx, r13
je 0x1802347d1
mov eax, r15d
lock xadd dword [rcx], eax
lea rdx, [rbp + 0xb0]
lea rcx, [0x180423870]
call fcn.1801ed4c0
test eax, eax
je 0x180234805
jg 0x1802347ef
xor r12b, r12b
jmp 0x180234805
mov r9b, 1
movzx r8d, r9b
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.180223eb0
movzx r12d, al
cmp dword [rbp - 0x50], 0
jle 0x180234854
mov ecx, 0x38
call fcn.1800a103c
xor ecx, ecx
test rax, rax
je 0x180234845
mov dword [rax], ecx
lea rdx, [0x1802bccc0]
mov qword [rax + 8], rdx
mov dword [rax + 0x10], ecx
mov dword [rax + 0x14], 0x101
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], rcx
mov qword [rax + 0x30], rcx
jmp 0x180234848
mov rax, rcx
mov r8, rax
lea rcx, [rbp - 0x60]
call fcn.18009a1c0
lea rax, str.Choose_Location...
mov qword [rbp + 0x70], rax
lea rdx, [rbp + 0x70]
lea rcx, [rsp + 0x68]
call fcn.18001a440
nop
mov byte [rsp + 0x20], 0
mov r9b, 1
lea r8, [rsp + 0x68]
mov edx, 6
lea rcx, [rbp - 0x80]
call fcn.180224210
nop
mov rcx, qword [rsp + 0x68]
add rcx, 0xfffffffffffffff0
lea rbx, [0x1802bccb0]
cmp rcx, rbx
je 0x1802348b1
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1802348b1
call fcn.1800a0c6c
lea rax, str.Custom
mov qword [rbp + 0xa0], rax
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x60]
call fcn.18001a440
nop
mov byte [rsp + 0x28], r12b
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.1802238a0
nop
mov rcx, qword [rsp + 0x60]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x180234908
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180234908
call fcn.1800a0c6c
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0
je 0x1802349f0
lea rdx, [rbp + 0x20]
lea rcx, [0x180423a60]
call fcn.1801edef0
mov rbx, rax
or dword [rsp + 0x40], 0x20
mov r13, qword [rbp + 0x240]
mov rcx, qword [r13 + 0xf8]
add rcx, 0x480
lea rdx, [rbp + 0x10]
call fcn.1801edef0
nop
or dword [rsp + 0x40], 0x40
mov rdx, qword [rbx]
mov qword [rbp + 0xf0], rdx
mov r8, qword [rax]
cmp r8, rdx
je 0x1802349f7
mov qword [rbp + 0x80], rdx
mov qword [rbp - 0x38], r8
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x38]
call fcn.180019ca0
test eax, eax
je 0x1802349f7
lea rdx, [rbp]
lea rcx, [0x180423870]
call fcn.1801edef0
mov rbx, rax
or dword [rsp + 0x40], 0x80
mov rcx, qword [r13 + 0xf8]
add rcx, 0x480
lea rdx, [rbp - 0x10]
call fcn.1801edef0
or dword [rsp + 0x40], 0x100
mov rcx, qword [rbx]
mov qword [rbp + 0x100], rcx
mov rdx, qword [rax]
cmp rdx, rcx
je 0x1802349f7
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x20], rdx
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x20]
call fcn.180019ca0
test eax, eax
je 0x1802349f7
mov bl, 1
jmp 0x1802349f9
mov r13, qword [rbp + 0x240]
xor bl, bl
lea rdx, [0x1802bccb0]
test dword [rsp + 0x40], 0x100
je 0x180234a38
and dword [rsp + 0x40], 0xfffffeff
mov rcx, qword [rbp - 0x10]
add rcx, 0xfffffffffffffff0
cmp rcx, rdx
je 0x180234a38
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180234a38
call fcn.1800a0c6c
lea rdx, [0x1802bccb0]
mov ecx, dword [rsp + 0x40]
test cl, cl
jns 0x180234a68
and dword [rsp + 0x40], 0xffffff7f
mov rcx, qword [rbp]
add rcx, 0xfffffffffffffff0
cmp rcx, rdx
je 0x180234a68
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180234a68
call fcn.1800a0c6c
nop
mov ecx, dword [rsp + 0x40]
lea rdx, [0x1802bccb0]
test cl, 0x40
je 0x180234aa3
and dword [rsp + 0x40], 0xffffffbf
mov rcx, qword [rbp + 0x10]
add rcx, 0xfffffffffffffff0
cmp rcx, rdx
je 0x180234aa3
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180234aa3
call fcn.1800a0c6c
lea rdx, [0x1802bccb0]
mov ecx, dword [rsp + 0x40]
test cl, 0x20
je 0x180234ad0
and dword [rsp + 0x40], 0xffffffdf
mov rcx, qword [rbp + 0x20]
add rcx, 0xfffffffffffffff0
cmp rcx, rdx
je 0x180234ad0
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180234ad0
call fcn.1800a0c6c
test bl, bl
je 0x180234bdd
mov rbx, qword [r13 + 0xf8]
add rbx, 0x480
xor edx, edx
mov rcx, rbx
call fcn.1801ede60
lea rdx, [rbp + 0x130]
mov rcx, rbx
call fcn.1801edcc0
nop
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x30], rax
lea rax, [0x1802bccb0]
cmp r14, rax
je 0x180234b1a
lock xadd dword [r14], r15d
mov r9b, 1
movzx r8d, r9b
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x130]
call fcn.180223f70
test al, al
jne 0x180234b53
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea r8, [rsp + 0x48]
mov edx, 0x493e0
lea rcx, [rbp + 0x130]
call fcn.180224210
cmp byte [rbp + 0x250], 0
jne 0x180234b65
test r12b, r12b
jne 0x180234b65
mov bl, 1
jmp 0x180234b67
xor ebx, ebx
lea rax, str.Current
mov qword [rbp + 0x40], rax
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x78]
call fcn.18001a440
nop
mov byte [rsp + 0x28], bl
lea r8, [rbp + 0x130]
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.1802238a0
nop
mov rcx, qword [rsp + 0x78]
add rcx, 0xfffffffffffffff0
lea rbx, [0x1802bccb0]
cmp rcx, rbx
je 0x180234bc2
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180234bc2
call fcn.1800a0c6c
nop
lea rcx, [rbp + 0x150]
call fcn.18009a160
nop
mov rcx, qword [rbp + 0x130]
call fcn.1800a09c8
jmp 0x180234be4
lea rbx, [0x1802bccb0]
mov rax, qword [r13 + 0xf0]
mov r8d, 0x10014
mov rdx, qword [rax + 0x188]
mov rcx, rsi
call fcn.180223b00
mov rax, qword [r13 + 0xf0]
mov r8d, 0x10015
mov rdx, qword [rax + 0x188]
mov rcx, rsi
call fcn.180223b00
mov rax, qword [r13 + 0xf0]
mov r8d, 0x10016
mov rdx, qword [rax + 0x188]
mov rcx, rsi
call fcn.180223b00
mov rax, qword [r13 + 0xf0]
mov r8d, 0x10017
mov rdx, qword [rax + 0x188]
mov rcx, rsi
call fcn.180223b00
nop
lea rcx, [rbp - 0x60]
call fcn.18009a160
nop
mov rcx, qword [rbp - 0x80]
call fcn.1800a09c8
nop
lea rcx, [rbp + 0x190]
call fcn.18009a160
nop
mov rcx, qword [rbp + 0x170]
call fcn.1800a09c8
nop
cmp r14, rbx
je 0x180234c9f
mov eax, edi
lock xadd dword [r14], eax
dec eax
cmp eax, 0xffffffff
jne 0x180234c9f
mov rcx, r14
call fcn.1800a0c6c
nop
mov rcx, qword [rbp + 0x258]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x180234cc0
lock xadd dword [rcx], edi
lea eax, [rdi - 1]
cmp eax, 0xffffffff
jne 0x180234cc0
call fcn.1800a0c6c
mov rax, rsi
add rsp, 0x2f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret