Function at 0x1617fe9e800
Capabilities:
Get file system object information

Disassembly:
mov r11, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x820
mov qword [r11 - 0x768], 0xfffffffffffffffe
movaps xmmword [r11 - 0x48], xmm6
movaps xmmword [r11 - 0x58], xmm7
movaps xmmword [r11 - 0x68], xmm8
mov rax, qword [0x1617fefd018]
xor rax, rsp
mov qword [rsp + 0x7e8], rax
mov eax, r8d
mov dword [rsp + 0x58], eax
mov r13, rdx
mov qword [rsp + 0x1a8], rcx
mov qword [rsp + 0xb0], rcx
mov qword [r11 - 0x740], rdx
mov dword [rsp + 0x48], eax
xor r15d, r15d
mov dword [rsp + 0x40], r15d
mov qword [r11 - 0x6f0], 7
mov qword [r11 - 0x6f8], r15
mov word [r11 - 0x708], r15w
mov rdx, qword [rdx + 0x10]
mov r9, r13
cmp qword [r13 + 0x18], 8
jb 0x1617fe9e89a
mov r9, qword [r13]
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x88], 7
mov word [rsp + 0x70], r15w
lea rcx, [rsp + 0x70]
cmp rdx, 7
ja 0x1617fe9e8e3
mov qword [rsp + 0x80], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
call fcn.1617fec8190
mov word [rsp + rbx + 0x70], r15w
jmp 0x1617fe9e8e8
call fcn.1617fea6030
mov edi, 3
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x140], xmm0
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x140]
call fcn.1617fea5ad0
test eax, eax
jne 0x1617fe9ffeb
mov rdx, qword [rsp + 0x88]
cmp rdx, 8
jb 0x1617fe9e958
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1617fe9e953
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1617fe9ffff
call fcn.1617feaa344
xorps xmm0, xmm0
movups xmmword [rsp + 0x170], xmm0
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x1617fe9e974
lock inc dword [rcx + 8]
movaps xmm0, xmmword [rsp + 0x140]
movdqa xmmword [rsp + 0x170], xmm0
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x1617fe9e996
lock inc dword [rcx + 8]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x1b8], xmm1
mov rcx, qword [rsp + 0x148]
mov r12, 0xffffffffffffffff
test rcx, rcx
je 0x1617fe9e9ef
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1617fe9e9ef
mov rbx, qword [rsp + 0x148]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1617fe9e9ef
mov rcx, qword [rsp + 0x148]
mov rax, qword [rcx]
call qword [rax + 8]
nop
movsd xmm7, qword [0x1617fef1e60]
movsd xmm8, qword [0x1617fef1e68]
mov r14, qword [rsp + 0x170]
nop dword [rax + rax]
cmp r14, qword [rsp + 0x1b8]
je 0x1617fe9fba7
mov qword [rsp + 0x138], 7
mov qword [rsp + 0x130], r15
mov word [rsp + 0x120], r15w
lea r8, [0x1617ff02178]
lea rdx, [0x1617fea6750]
lea rcx, [0x1617ff02170]
call fcn.1617fea9260
test eax, eax
je 0x1617fea0049
mov r8d, 6
lea rdx, [rsp + 0xc0]
mov rcx, r14
call fcn.1617fe9c170
lea r8, [0x1617ff02178]
lea rdx, [0x1617fea6750]
lea rcx, [0x1617ff02170]
call fcn.1617fea9260
test eax, eax
je 0x1617fea0049
cmp dword [rsp + 0xc8], 0
jne 0x1617fe9faf1
mov rax, qword [rsp + 0xc0]
cmp eax, 4
je 0x1617fe9faf1
ja 0x1617fe9faf1
lea rsi, [r14 + 0x20]
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call fcn.1617fe9b790
nop
mov rdx, rax
lea rcx, [rsp + 0x180]
call fcn.1617fea53a0
or edi, 4
mov dword [rsp + 0x40], edi
mov rdx, qword [rsp + 0xe8]
cmp rdx, 8
jb 0x1617fe9eb2e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1617fe9eb29
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1617fea0005
call fcn.1617feaa344
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xe8], 7
mov word [rsp + 0xd0], r15w
lea r9, [rsp + 0x180]
cmp qword [rsp + 0x198], 8
cmovae r9, qword [rsp + 0x180]
mov rdx, r12
nop dword [rax + rax]
inc rdx
cmp word [r9 + rdx*2], 0
jne 0x1617fe9eb70
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1617fe9ebce
lea rdi, [rcx + rdx]
mov qword [rsp + 0x130], rdi
lea rbx, [rsp + 0x120]
cmp r8, 8
cmovae rbx, qword [rsp + 0x120]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
mov rdx, r9
call fcn.1617fec8190
mov word [rbx + rdi*2], r15w
jmp 0x1617fe9ebe0
mov qword [rsp + 0x20], rdx
lea rcx, [rsp + 0x120]
call fcn.1617fe9a6e0
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x1617fe9ebed
mov rcx, qword [rsi]
mov r9d, 0xffffffff
mov r8d, 0x21
lea rdx, [rsp + 0x1c8]
call fcn.1617fea8c38
mov ebx, eax
movabs rdi, 0x8000000000000000
test eax, eax
cmove rdi, qword [rsp + 0x1c8]
mov qword [rsp + 0x50], rdi
lea r8, [0x1617ff02178]
lea rdx, [0x1617fea6750]
lea rcx, [0x1617ff02170]
call fcn.1617fea9260
test eax, eax
je 0x1617fea000b
test ebx, ebx
je 0x1617fe9ed2b
mov rdx, qword [rsp + 0x198]
cmp rdx, 8
jb 0x1617fe9ec94
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1617fe9ec8f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1617fea0035
call fcn.1617feaa344
mov word [rsp + 0x180], r15w
mov qword [rsp + 0x198], 7
mov qword [rsp + 0x190], r15
mov rdx, qword [rsp + 0x138]
cmp rdx, 8
jb 0x1617fe9ecf9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x120]
cmp rdx, 0x1000
mov rax, rcx
jb 0x1617fe9ecf4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1617fea003b
call fcn.1617feaa344
mov edi, dword [rsp + 0x40]
lea rdx, [rsp + 0x4f0]
mov rcx, qword [r14 + 0x40]
call fcn.1617fea8b50
test eax, eax
jne 0x1617fe9fb42
lea rdx, [rsp + 0x4f0]
mov rcx, r14
call fcn.1617fe9c3e0
jmp 0x1617fe9ea10
call fcn.1617fea8964
mov rbx, rax
call fcn.1617fea8964
lea rcx, [rbx + rdi]
sub rcx, rax
movabs rax, 0x19db1ded53e8000
sub rcx, rax
movabs rax, 0xd6bf94d5e57a42bd
imul rcx
add rdx, rcx
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rsp + 0x1a0], rdx
cmp rdx, 0xffffffffffffffff
je 0x1617fe9ef75
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x208]
call fcn.1617fece170
mov ecx, 0xc
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
lea rcx, [0x1617ff021b0]
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
lea rbx, [0x1617ff021b0]
mov qword [rsp + 0x20], rbx
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea r9, [rsp + 0x208]
mov r8, rbx
mov edx, 0x28
lea rcx, [rsp + 0x7b0]
call fcn.1617fed10a0
mov ecx, 0x18
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
lea rcx, [0x1617ff021b0]
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
lea rbx, [0x1617ff021b0]
mov qword [rsp + 0x20], rbx
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rdx, r12
nop dword [rax + rax]
inc rdx
cmp word [rbx + rdx*2], 0
jne 0x1617fe9ee70
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1617fe9eed1
lea rdi, [rdx + rcx]
mov qword [rsp + 0x130], rdi
lea rbx, [rsp + 0x120]
cmp r8, 8
cmovae rbx, qword [rsp + 0x120]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
lea rdx, [0x1617ff021b0]
call fcn.1617fec8190
mov word [rbx + rdi*2], r15w
jmp 0x1617fe9eee6
mov qword [rsp + 0x20], rdx
mov r9, rbx
lea rcx, [rsp + 0x120]
call fcn.1617fe9a6e0
lea rax, [rsp + 0x7b0]
mov rdx, r12
inc rdx
cmp word [rax + rdx*2], 0
jne 0x1617fe9eef1
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1617fe9ef56
lea rdi, [rdx + rcx]
mov qword [rsp + 0x130], rdi
lea rbx, [rsp + 0x120]
cmp r8, 8
cmovae rbx, qword [rsp + 0x120]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
lea rdx, [rsp + 0x7b0]
call fcn.1617fec8190
mov word [rbx + rdi*2], r15w
jmp 0x1617fe9f126
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x7b0]
lea rcx, [rsp + 0x120]
call fcn.1617fe9a6e0
jmp 0x1617fe9f126
mov ecx, 0x18
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
lea rcx, [0x1617ff021b0]
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
lea rbx, [0x1617ff021b0]
mov qword [rsp + 0x20], rbx
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rdx, r12
inc rdx
cmp word [rbx + rdx*2], 0
jne 0x1617fe9efd5
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1617fe9f036
lea rdi, [rdx + rcx]
mov qword [rsp + 0x130], rdi
lea rbx, [rsp + 0x120]
cmp r8, 8
cmovae rbx, qword [rsp + 0x120]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
lea rdx, [0x1617ff021b0]
call fcn.1617fec8190
mov word [rbx + rdi*2], r15w
jmp 0x1617fe9f04b
mov qword [rsp + 0x20], rdx
mov r9, rbx
lea rcx, [rsp + 0x120]
call fcn.1617fe9a6e0
mov ecx, 0x1c
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
lea rcx, [0x1617ff021b0]
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
lea rbx, [0x1617ff021b0]
mov qword [rsp + 0x20], rbx
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rdx, r12
nop dword [rax + rax]
inc rdx
cmp word [rbx + rdx*2], 0
jne 0x1617fe9f0b0
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1617fe9f111
lea rdi, [rdx + rcx]
mov qword [rsp + 0x130], rdi
lea rbx, [rsp + 0x120]
cmp r8, 8
cmovae rbx, qword [rsp + 0x120]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
lea rdx, [0x1617ff021b0]
call fcn.1617fec8190
mov word [rbx + rdi*2], r15w
jmp 0x1617fe9f126
mov qword [rsp + 0x20], rdx
mov r9, rbx
lea rcx, [rsp + 0x120]
call fcn.1617fe9a6e0
mov ecx, 0x18
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
lea rcx, [0x1617ff021b0]
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
lea rbx, [0x1617ff021b0]
mov qword [rsp + 0x20], rbx
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rdx, r12
inc rdx
cmp word [rbx + rdx*2], 0
jne 0x1617fe9f186
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1617fe9f1e7
lea rdi, [rcx + rdx]
mov qword [rsp + 0x130], rdi
lea rbx, [rsp + 0x120]
cmp r8, 8
cmovae rbx, qword [rsp + 0x120]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
lea rdx, [0x1617ff021b0]
call fcn.1617fec8190
mov word [rbx + rdi*2], r15w
jmp 0x1617fe9f1fc
mov qword [rsp + 0x20], rdx
mov r9, rbx
lea rcx, [rsp + 0x120]
call fcn.1617fe9a6e0
mov r8d, 3
lea rdx, [rsp + 0x90]
mov rcx, r14
call fcn.1617fe9c170
mov edx, dword [rsp + 0x98]
mov rax, qword [rsp + 0x90]
test edx, edx
je 0x1617fe9f234
lea ecx, [rax - 1]
test ecx, 0xfffffff7
jne 0x1617fea0011
cmp eax, 3
jne 0x1617fe9f2e3
lea ecx, [rax + 0x16]
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
lea rcx, [0x1617ff021b0]
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
lea rbx, [0x1617ff021b0]
mov qword [rsp + 0x20], rbx
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rdx, r12
nop dword [rax + rax]
inc rdx
cmp word [rbx + rdx*2], 0
jne 0x1617fe9f2a0
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rax, r8
sub rax, rcx
cmp rdx, rax
jbe 0x1617fe9f415
mov qword [rsp + 0x20], rdx
mov r9, rbx
lea rcx, [rsp + 0x120]
call fcn.1617fe9a6e0
jmp 0x1617fe9f466
lea rcx, [rsp + 0x180]
cmp qword [rsp + 0x198], 8
cmovae rcx, qword [rsp + 0x180]
mov dword [rsp + 0x20], 0x410
mov r9d, 0x2b8
lea r8, [rsp + 0x230]
xor edx, edx
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test rax, rax
je 0x1617fe9f38d
lea rax, [rsp + 0x448]
mov rdx, r12
nop dword [rax + rax]
inc rdx
cmp word [rax + rdx*2], 0
jne 0x1617fe9f330
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1617fe9f36e
lea rdi, [rcx + rdx]
cmp r8, 8
lea r8, [rdx + rdx]
lea rdx, [rsp + 0x448]
jmp 0x1617fe9f428
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x448]
lea rcx, [rsp + 0x120]
call fcn.1617fe9a6e0
jmp 0x1617fe9f466
mov ecx, 0x1d
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
lea rcx, [0x1617ff021b0]
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
lea rbx, [0x1617ff021b0]
mov qword [rsp + 0x20], rbx
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rdx, r12
nop dword [rax]
inc rdx
cmp word [rbx + rdx*2], 0
jne 0x1617fe9f3f0
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1617fe9f451
lea rdi, [rcx + rdx]
cmp r8, 8
lea r8, [rdx + rdx]
lea rdx, [0x1617ff021b0]
lea rbx, [rsp + 0x120]
cmovae rbx, qword [rsp + 0x120]
lea rcx, [rbx + rcx*2]
mov qword [rsp + 0x130], rdi
call fcn.1617fec8190
mov word [rbx + rdi*2], r15w
jmp 0x1617fe9f466
mov qword [rsp + 0x20], rdx
mov r9, rbx
lea rcx, [rsp + 0x120]
call fcn.1617fe9a6e0
mov r8d, 3
lea rdx, [rsp + 0xa0]
mov rcx, r14
call fcn.1617fe9c170
mov edx, dword [rsp + 0xa8]
mov rax, qword [rsp + 0xa0]
test edx, edx
je 0x1617fe9f49e
lea ecx, [rax - 1]
test ecx, 0xfffffff7
jne 0x1617fea0020
cmp eax, 2
jne 0x1617fe9f944
cmp qword [rsi + 0x18], 8
jb 0x1617fe9f4b1
mov rsi, qword [rsi]
mov r9d, 0xffffffff
mov r8d, 9
lea rdx, [rsp + 0x1e8]
mov rcx, rsi
call fcn.1617fea8c38
mov ebx, eax
mov rsi, r12
test eax, eax
cmove rsi, qword [rsp + 0x1f0]
lea r8, [0x1617ff02178]
lea rdx, [0x1617fea6750]
lea rcx, [0x1617ff02170]
call fcn.1617fea9260
test eax, eax
je 0x1617fea002f
test ebx, ebx
jne 0x1617fe9f874
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x740], xmm0
movups xmmword [rsp + 0x750], xmm0
movups xmmword [rsp + 0x760], xmm0
movups xmmword [rsp + 0x770], xmm0
movups xmmword [rsp + 0x780], xmm0
movups xmmword [rsp + 0x790], xmm0
mov dword [rsp + 0x7a0], eax
xorps xmm6, xmm6
test rsi, rsi
js 0x1617fe9f552
cvtsi2sd xmm6, rsi
jmp 0x1617fe9f56a
mov rcx, rsi
shr rcx, 1
mov rax, rsi
and eax, 1
or rcx, rax
cvtsi2sd xmm6, rcx
addsd xmm6, xmm6
mov ecx, 0x54
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
lea rcx, [0x1617ff021b0]
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
lea rax, [0x1617ff021b0]
mov qword [rsp + 0x20], rax
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp rsi, 0x400
jb 0x1617fe9f6f1
mulsd xmm6, xmm7
mov ecx, 0x55
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
lea rsi, [0x1617ff021b0]
mov rcx, rsi
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rsi
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
comisd xmm6, xmm8
jb 0x1617fe9f6f8
mulsd xmm6, xmm7
mov ecx, 0x56
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
mov rcx, rsi
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rsi
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
comisd xmm6, xmm8
jb 0x1617fe9f6f8
mulsd xmm6, xmm7
mov ecx, 0x57
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
mov rcx, rsi
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rsi
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
jmp 0x1617fe9f6f8
lea rsi, [0x1617ff021b0]
mov r9, rsi
movaps xmm2, xmm6
movq r8, xmm6
lea rdx, [0x1617fef1da0]
lea rcx, [rsp + 0x740]
call fcn.1617fea5cf0
mov ecx, 0x18
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
mov rcx, rsi
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rsi
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rdx, r12
nop dword [rax]
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x1617fe9f770
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1617fe9f7cd
lea rdi, [rcx + rdx]
mov qword [rsp + 0x130], rdi
lea rbx, [rsp + 0x120]
cmp r8, 8
cmovae rbx, qword [rsp + 0x120]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
mov rdx, rsi
call fcn.1617fec8190
mov word [rbx + rdi*2], r15w
jmp 0x1617fe9f7e2
mov qword [rsp + 0x20], rdx
mov r9, rsi
lea rcx, [rsp + 0x120]
call fcn.1617fe9a6e0
lea rax, [rsp + 0x740]
mov rdx, r12
nop dword [rax]
inc rdx
cmp word [rax + rdx*2], 0
jne 0x1617fe9f7f0
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1617fe9f855
lea rdi, [rcx + rdx]
mov qword [rsp + 0x130], rdi
lea rbx, [rsp + 0x120]
cmp r8, 8
cmovae rbx, qword [rsp + 0x120]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
lea rdx, [rsp + 0x740]
call fcn.1617fec8190
mov word [rbx + rdi*2], r15w
jmp 0x1617fe9f94b
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x740]
lea rcx, [rsp + 0x120]
call fcn.1617fe9a6e0
jmp 0x1617fe9f94b
mov ecx, 0x1d
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
lea rsi, [0x1617ff021b0]
mov rcx, rsi
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rsi
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rdx, r12
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x1617fe9f8d0
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1617fe9f92d
lea rdi, [rcx + rdx]
mov qword [rsp + 0x130], rdi
lea rbx, [rsp + 0x120]
cmp r8, 8
cmovae rbx, qword [rsp + 0x120]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
mov rdx, rsi
call fcn.1617fec8190
mov word [rbx + rdi*2], r15w
jmp 0x1617fe9f94b
mov qword [rsp + 0x20], rdx
mov r9, rsi
lea rcx, [rsp + 0x120]
call fcn.1617fe9a6e0
jmp 0x1617fe9f94b
lea rsi, [0x1617ff021b0]
mov ecx, 0x17
call fcn.1617fea6ea0
mov rdi, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
mov rcx, rsi
call fcn.1617fec85a0
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rsi
mov r9d, r12d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rdx, r12
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x1617fe9f9a0
mov rcx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1617fe9f9fd
lea rdi, [rcx + rdx]
mov qword [rsp + 0x130], rdi
lea rbx, [rsp + 0x120]
cmp r8, 8
cmovae rbx, qword [rsp + 0x120]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
mov rdx, rsi
call fcn.1617fec8190
mov word [rbx + rdi*2], r15w
jmp 0x1617fe9fa12
mov qword [rsp + 0x20], rdx
mov r9, rsi
lea rcx, [rsp + 0x120]
call fcn.1617fe9a6e0
mov rdi, qword [rsp + 0x130]
lea r9, [rsp + 0x120]
cmp qword [rsp + 0x138], 8
cmovae r9, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x168]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x1617fe9fa8b
lea rax, [rdi + rsi]
mov qword [rsp + 0x160], rax
lea rbx, [rsp + 0x150]
cmp rcx, 8
cmovae rbx, qword [rsp + 0x150]
lea r8, [rdi + rdi]
lea rcx, [rbx + rsi*2]
mov rdx, r9
call fcn.1617fec8190
lea rax, [rdi + rsi]
mov word [rbx + rax*2], r15w
jmp 0x1617fe9faa1
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rsp + 0x150]
call fcn.1617fe9a6e0
nop
mov rdx, qword [rsp + 0x198]
cmp rdx, 8
jb 0x1617fe9ec94
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1617fe9ec8f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1617fea0035
jmp 0x1617fe9ec8f
mov rdx, qword [rsp + 0x138]
cmp rdx, 8
jb 0x1617fe9ecfd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1617fe9fb38
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1617fea003b
call fcn.1617feaa344
jmp 0x1617fe9ecfd
cmp eax, 0x12
jne 0x1617fea0041
mov r14, r15
mov qword [rsp + 0x170], r15
mov rbx, qword [rsp + 0x178]
mov qword [rsp + 0x178], r15
test rbx, rbx
je 0x1617fe9ea10
mov eax, r12d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1617fe9ea00
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1617fe9ea00
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
jmp 0x1617fe9ea00
mov rcx, qword [rsp + 0x1c0]
test rcx, rcx
je 0x1617fe9fbed
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1617fe9fbed
mov rbx, qword [rsp + 0x1c0]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1617fe9fbed
mov rcx, qword [rsp + 0x1c0]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x178]
test rcx, rcx
je 0x1617fe9fc33
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1617fe9fc33
mov rbx, qword [rsp + 0x178]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1617fe9fc33
mov rcx, qword [rsp + 0x178]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x1617fe9fc79
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1617fe9fc79
mov rbx, qword [rsp + 0x148]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1617fe9fc79
mov rcx, qword [rsp + 0x148]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov ebx, dword [rsp + 0x160]
inc ebx
mov eax, 2
mul rbx
cmovo rax, r12
mov rcx, rax
call fcn.1617feaa3b4
mov r14, rax
lea r8, [rbx + rbx]
xor edx, edx
mov rcx, rax
call fcn.1617fec85a0
lea r8, [rsp + 0x150]
cmp qword [rsp + 0x168], 8
cmovae r8, qword [rsp + 0x150]
mov r9, r12
mov edx, ebx
mov rcx, r14
call fcn.1617fed10bc
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, r14
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rdi, eax
lea ecx, [rdi + 1]
mov ebx, ecx
call fcn.1617feaa3b4
mov rsi, rax
mov r8d, ebx
xor edx, edx
mov rcx, rax
call fcn.1617fec85a0
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rsi
mov r9d, r12d
mov r8, r14
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xorps xmm0, xmm0
movups xmmword [rsp + 0x140], xmm0
mov dword [rsp + 0x148], edi
mov rcx, rdi
call fcn.1617feaa3b4
mov qword [rsp + 0x140], rax
mov r8, rdi
mov rdx, rsi
mov rcx, rax
call fcn.1617fec8190
mov rbx, qword [rsp + 0x1a8]
mov r8d, dword [rsp + 0x58]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x140]
call fcn.1617fea78d0
mov rdx, rax
lea rcx, [rbx + 0x80018]
call fcn.1617fea73a0
mov qword [rsp + 0x1b0], r15
xor ecx, ecx
call fcn.1617feaa3b4
mov qword [rsp + 0x1a8], rax
mov r8d, dword [rsp + 0x58]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x1a8]
call fcn.1617fea78d0
mov rdx, rax
lea rcx, [rbx + 0x80018]
call fcn.1617fea73a0
mov rcx, r14
call fcn.1617feaa344
mov rcx, rsi
call fcn.1617feaa344
nop
mov rdx, qword [rsp + 0x168]
cmp rdx, 8
jb 0x1617fe9fe2f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1617fe9fe2a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1617fea004f
call fcn.1617feaa344
mov qword [rsp + 0x160], r15
mov qword [rsp + 0x168], 7
mov word [rsp + 0x150], r15w
mov rdx, qword [r13 + 0x18]
cmp rdx, 8
jb 0x1617fe9fe8c
lea rdx, [rdx*2 + 2]
mov rcx, qword [r13]
cmp rdx, 0x1000
jb 0x1617fe9fe87
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1617fe9ffe5
mov rcx, r8
call fcn.1617feaa344
mov qword [r13 + 0x10], r15
mov qword [r13 + 0x18], 7
mov word [r13], r15w
jmp 0x1617fe9ff61
mov al, 1
mov rcx, qword [rsp + 0x7e8]
xor rcx, rsp
call fcn.1617feaa320
lea r11, [rsp + 0x820]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.1617fecaf50
nop
lea r8, [rsp + 0x70]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.1617fe9c0f0
nop
call fcn.1617fecaf50
nop
call fcn.1617fecaf50
int3
call fcn.1617fecdd80
int3
mov r8, rsi
lea rcx, str.directory_entry::status
call fcn.1617fe9c0f0
mov r8, rsi
lea rcx, str.directory_entry::status
call fcn.1617fe9c0f0
call fcn.1617fecdd80
nop
call fcn.1617fecaf50
nop
call fcn.1617fecaf50
int3
mov edx, eax
call fcn.1617fe9bff0
nop
call fcn.1617fecdd80
nop
call fcn.1617fecaf50
int3