Function at 0x140022f80
Capabilities:
Get file system object information

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5b8]
sub rsp, 0x690
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1402cf910]
xor rax, rsp
mov qword [rbp + 0x570], rax
mov rdi, rcx
mov rax, qword [rcx + 0x170]
mov r15, qword [rax + 0x128]
test r15, r15
je 0x140023bbb
lea r9, [r15 + 0x10]
lea r8, [0x1402855ec]
mov edx, 0x100
lea rcx, [rbp + 0x220]
call fcn.140004d90
lea rcx, [rdi + 0x338]
lea rdx, [rbp + 0x220]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], 0
jne 0x140023006
mov r8d, eax
lea rdx, [rbp + 0x220]
call fcn.140003400
lea r9, [r15 + 0x90]
lea r8, [0x1402855ec]
mov edx, 0x100
lea rcx, [rbp + 0x220]
call fcn.140004d90
lea rcx, [rdi + 0x340]
lea rdx, [rbp + 0x220]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], 0
jne 0x140023053
mov r8d, eax
lea rdx, [rbp + 0x220]
call fcn.140003400
lea r9, [r15 + 0xd0]
lea r8, [0x1402855ec]
mov edx, 0x100
lea rcx, [rbp + 0x220]
call fcn.140004d90
lea rcx, [rdi + 0x348]
lea rdx, [rbp + 0x220]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400230a0
mov r8d, eax
lea rdx, [rbp + 0x220]
call fcn.140003400
mov r9d, dword [r15 + 0x12c]
lea r8, [0x14028346c]
mov edx, 0x100
lea rcx, [rbp + 0x220]
call fcn.140004d90
lea rcx, [rdi + 0x320]
lea rdx, [rbp + 0x220]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400230f0
mov r8d, eax
lea rdx, [rbp + 0x220]
call fcn.140003400
mov r9, qword [r15 + 0x104]
lea r8, str._I64d
mov edx, 0x100
lea rcx, [rbp + 0x220]
call fcn.140004d90
lea rcx, [rdi + 0x328]
lea rdx, [rbp + 0x220]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140023140
mov r8d, eax
lea rdx, [rbp + 0x220]
call fcn.140003400
mov rbx, qword [r15 + 0x104]
xor edx, edx
mov r8d, 0xc8
lea rcx, [rbp + 0x4a0]
call fcn.1401f0eb0
xorps xmm6, xmm6
cvtsi2sd xmm6, rbx
movabs rax, 0xe8d4a51000
cmp rbx, rax
jl 0x14002319c
divsd xmm6, qword [0x140292450]
lea r8, [0x14028e09c]
jmp 0x1400231c5
cmp rbx, 0x3b9aca00
jl 0x1400231b6
divsd xmm6, qword [0x140292448]
lea r8, [0x140282f34]
jmp 0x1400231c5
divsd xmm6, qword [0x140292438]
lea r8, [0x140282f2c]
mov edx, 0x64
lea rcx, [rbp + 0x4a0]
call fcn.1401fa754
lea rax, [rbp + 0x4a0]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm6
movq r9, xmm6
lea r8, str._.0f__s
mov edx, 0x64
lea rcx, [rbp + 0x220]
call fcn.140002ed0
lea rcx, [rdi + 0x330]
lea rdx, [rbp + 0x220]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140023220
mov r8d, eax
lea rdx, [rbp + 0x220]
call fcn.140003400
lea rdx, [r15 + 0x130]
lea rcx, [rdi + 0x350]
test rdx, rdx
jne 0x140023250
xor eax, eax
jmp 0x14002326a
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140023260
mov r8d, eax
call fcn.140003400
lea r9, [rdi + 0xfd8]
lea r8, [rdi + 0x1e58]
mov ecx, dword [r15 + 0x2b0]
mov dword [rsp + 0x28], ecx
xor edx, edx
mov dword [rsp + 0x20], 0x77
mov rcx, rdi
cmp dword [r15 + 0xc], 0x11
jne 0x14002351b
call fcn.140022e40
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x7d
lea r9, [rdi + 0x10c0]
lea r8, [rdi + 0x1e60]
mov edx, 1
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x11a8]
lea r8, [rdi + 0x1e68]
mov eax, dword [r15 + 0x314]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x8c
mov edx, 2
mov rcx, rdi
call fcn.140022e40
mov eax, dword [r15 + 0x2c8]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x80
lea r9, [rdi + 0x1290]
lea r8, [rdi + 0x1e70]
mov edx, 3
mov rcx, rdi
call fcn.140022e40
mov eax, dword [r15 + 0x300]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x88
lea r9, [rdi + 0x1378]
lea r8, [rdi + 0x1e78]
mov edx, 4
mov rcx, rdi
call fcn.140022e40
mov eax, dword [r15 + 0x310]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x8b
lea r9, [rdi + 0x1460]
lea r8, [rdi + 0x1e80]
mov edx, 5
mov rcx, rdi
call fcn.140022e40
mov eax, dword [r15 + 0x304]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x87
lea r9, [rdi + 0x1548]
lea r8, [rdi + 0x1e88]
mov edx, 6
mov rcx, rdi
call fcn.140022e40
mov eax, dword [r15 + 0x30c]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x8a
lea r9, [rdi + 0x1630]
lea r8, [rdi + 0x1e90]
mov edx, 7
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x1718]
lea r8, [rdi + 0x1e98]
mov eax, dword [r15 + 0x308]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x89
mov edx, 8
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x1800]
lea r8, [rdi + 0x1ea0]
mov eax, dword [r15 + 0x318]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x8d
mov edx, 9
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x18e8]
lea r8, [rdi + 0x1ea8]
mov eax, dword [r15 + 0x31c]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x8e
mov edx, 0xa
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x19d0]
lea r8, [rdi + 0x1eb0]
mov eax, dword [r15 + 0x320]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x8f
mov edx, VariantTimeToDosDateTime
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x1ab8]
lea r8, [rdi + 0x1eb8]
xor r13d, r13d
mov dword [rsp + 0x28], r13d
mov ebx, 0xffffffff
mov dword [rsp + 0x20], ebx
lea edx, [r13 + 0xc]
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x1ba0]
lea r8, [rdi + 0x1ec0]
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], ebx
lea edx, [r13 + 0xd]
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x1c88]
lea r8, [rdi + 0x1ec8]
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], ebx
lea edx, [r13 + 0xe]
mov rcx, rdi
call fcn.140022e40
mov eax, r13d
jmp 0x1400237b3
call fcn.140022e40
mov eax, dword [r15 + 0x2dc]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x7d
lea r9, [rdi + 0x10c0]
lea r8, [rdi + 0x1e60]
mov edx, 1
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x11a8]
lea r8, [rdi + 0x1e68]
mov eax, dword [r15 + 0x2c8]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x80
mov edx, 2
mov rcx, rdi
call fcn.140022e40
mov eax, dword [r15 + 0x2cc]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x81
lea r9, [rdi + 0x1290]
lea r8, [rdi + 0x1e70]
mov edx, 3
mov rcx, rdi
call fcn.140022e40
mov eax, dword [r15 + 0x2e4]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x82
lea r9, [rdi + 0x1378]
lea r8, [rdi + 0x1e78]
mov edx, 4
mov rcx, rdi
call fcn.140022e40
mov eax, dword [r15 + 0x2b4]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x78
lea r9, [rdi + 0x1460]
lea r8, [rdi + 0x1e80]
mov edx, 5
mov rcx, rdi
call fcn.140022e40
mov eax, dword [r15 + 0x2e0]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x85
lea r9, [rdi + 0x1548]
lea r8, [rdi + 0x1e88]
mov edx, 6
mov rcx, rdi
call fcn.140022e40
mov eax, dword [r15 + 0x2f0]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x86
lea r9, [rdi + 0x1630]
lea r8, [rdi + 0x1e90]
mov edx, 7
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x1718]
lea r8, [rdi + 0x1e98]
mov eax, dword [r15 + 0x2c4]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x7f
mov edx, 8
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x1800]
lea r8, [rdi + 0x1ea0]
mov eax, dword [r15 + 0x2d0]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x83
mov edx, 9
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x18e8]
lea r8, [rdi + 0x1ea8]
mov eax, dword [r15 + 0x2d8]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x79
mov edx, 0xa
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x19d0]
lea r8, [rdi + 0x1eb0]
mov eax, dword [r15 + 0x2b8]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x7a
mov edx, VariantTimeToDosDateTime
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x1ab8]
lea r8, [rdi + 0x1eb8]
mov eax, dword [r15 + 0x2f4]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x84
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x1ba0]
lea r8, [rdi + 0x1ec0]
mov eax, dword [r15 + 0x2bc]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x7b
mov edx, 0xd
mov rcx, rdi
call fcn.140022e40
lea r9, [rdi + 0x1c88]
lea r8, [rdi + 0x1ec8]
mov eax, dword [r15 + 0x2c0]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x7c
mov edx, 0xe
mov rcx, rdi
call fcn.140022e40
mov ebx, 0x7e
mov eax, dword [r15 + 0x2d4]
xor r13d, r13d
lea r9, [rdi + 0x1d70]
lea r8, [rdi + 0x1ed0]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
mov edx, 0xf
mov rcx, rdi
call fcn.140022e40
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1009
mov rcx, qword [rdi + 0x278]
call qword [sym.imp.USER32.dll_SendMessageW]
movabs rax, 0x5c003a0063
mov qword [rbp + 0x210], rax
mov esi, r13d
cmp dword [r15 + 0x334], 0
jle 0x140023bb1
lea r12, [rdi + 0x238]
lea r14, [r15 + 0x38c]
movsd xmm6, qword [0x1402923e8]
movsxd rax, esi
imul rbx, rax, 0xa9
lea r8, [r15 + 0x39d]
add r8, rbx
mov edx, 0x40
lea rcx, [rbp + 0x420]
call fcn.1401fa754
lea rcx, [rbp + 0x420]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140023860
cmp rax, 1
jbe 0x140023888
lea r8, [0x140284f78]
mov edx, 0x40
lea rcx, [rbp + 0x420]
call fcn.1401fa7bc
mov eax, dword [r14 - 0x54]
cmp eax, 1
jle 0x140023902
add ax, 0x41
mov word [rbp + 0x210], ax
mov dword [rsp + 0x20], 0x101
mov r9d, 0x2b8
lea r8, [rsp + 0x50]
xor edx, edx
lea rcx, [rbp + 0x210]
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test rax, rax
je 0x1400238cd
mov eax, dword [rsp + 0x58]
mov dword [rdi + 0x188], eax
mov word [rbp + 0x214], r13w
lea rax, [rbp + 0x210]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x420]
lea r8, str._s__s_
mov edx, 0x100
lea rcx, [rbp + 0x220]
call fcn.140004d90
jmp 0x14002391a
lea r8, [rbp + 0x420]
mov edx, 0x100
lea rcx, [rbp + 0x220]
call fcn.1401fa754
mov ecx, 0x188
mov rax, rdi
mov eax, dword [rax + rcx]
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
lea r9, [rbp + 0x220]
mov r8d, esi
mov edx, 3
mov rcx, r12
call fcn.140072ea4
mov r9, qword [r14 - 0x10]
test r9, r9
jle 0x140023987
lea r8, [0x1402870d8]
mov edx, 0x100
lea rcx, [rbp + 0x220]
call fcn.140004d90
lea r9, [rbp + 0x220]
mov r8d, 1
mov edx, esi
mov rcx, r12
call fcn.14007331c
mov r9, qword [r14 - 8]
lea r8, [0x1402870d8]
mov edx, 0x100
lea rcx, [rbp + 0x220]
call fcn.140004d90
lea r9, [rbp + 0x220]
mov r8d, 1
mov edx, esi
mov rcx, r12
call fcn.14007331c
mov r9, qword [r14]
lea r8, [0x1402870d8]
mov edx, 0x100
lea rcx, [rbp + 0x220]
call fcn.140004d90
lea r9, [rbp + 0x220]
mov r8d, 2
mov edx, esi
mov rcx, r12
call fcn.14007331c
xorps xmm1, xmm1
cvtsi2sd xmm1, qword [r14]
mulsd xmm1, xmm6
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [r14 - 8]
divsd xmm1, xmm0
movaps xmm3, xmm6
subsd xmm3, xmm1
movq r9, xmm3
lea r8, str._.0f__
mov edx, 0x100
lea rcx, [rbp + 0x220]
call fcn.140004d90
lea r9, [rbp + 0x220]
mov r8d, 3
mov edx, esi
mov rcx, r12
call fcn.14007331c
lea r9, [r15 + 0x33c]
add r9, rbx
mov r8d, 4
mov edx, esi
mov rcx, r12
call fcn.14007331c
mov r9d, dword [r14 + 0x51]
test r9d, r9d
je 0x140023a9e
movzx eax, r9w
shr r9d, 0x10
mov dword [rsp + 0x20], eax
lea r8, str._04X__04X
mov edx, 0x100
lea rcx, [rbp + 0x220]
call fcn.140004d90
lea r9, [rbp + 0x220]
mov r8d, 5
mov edx, esi
mov rcx, r12
call fcn.14007331c
mov r9b, 1
mov ebx, 0x200
mov r10, qword [r14 + 8]
test r10, r10
jle 0x140023ae0
nop
cmp rbx, 0x200000
jge 0x140023ae5
lea r8, [rbx + rbx]
mov rax, r10
cqo
idiv r8
mov ecx, r13d
movzx eax, r9b
test rdx, rdx
cmove ecx, eax
movzx r9d, cl
cmove rbx, r8
test cl, cl
jne 0x140023ab0
jmp 0x140023ae5
mov ebx, 0x200000
call fcn.14006e454
mov rcx, rax
test rax, rax
je 0x140023bf0
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x40]
cmp rbx, 0x200
jne 0x140023b27
mov r8d, 7
lea rdx, str.0.5_KB
call fcn.140003400
jmp 0x140023b66
mov rax, rbx
cqo
cmp rbx, 0x100000
jge 0x140023b4c
and edx, 0x3ff
lea r8, [rdx + rax]
sar r8, 0xa
lea rdx, str._I64d_KB
jmp 0x140023b61
and edx, 0xfffff
lea r8, [rdx + rax]
sar r8, 0x14
lea rdx, str._I64d_MB
call fcn.1400039a0
mov rbx, qword [rsp + 0x40]
mov r9, rbx
mov r8d, 6
mov edx, esi
mov rcx, r12
call fcn.14007331c
nop
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140023b9b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc esi
add r14, 0xa9
cmp esi, dword [r15 + 0x334]
jl 0x140023826
xor edx, edx
mov rcx, rdi
call fcn.1400679f0
mov rcx, qword [rbp + 0x570]
xor rcx, rsp
call fcn.1401ee030
lea r11, [rsp + 0x690]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80004005
call fcn.1400037e0
int3