Function at 0x140045bb8
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 - 0x278]
sub rsp, 0x350
mov r12d, r9d
mov edi, r8d
mov rsi, rdx
mov r13, rcx
xor r14d, r14d
lea r15, [rdx + 0x18]
mov rcx, r15
call fcn.140003f6c
lea ebx, [rax + 1]
mov r8, r15
mov edx, ebx
lea rcx, [rsp + 0x30]
call fcn.1400026d8
nop
lea rdx, [rsp + 0x30]
mov rcx, r13
call fcn.140045b4c
lea rcx, [rsp + 0x30]
call fcn.1400030c0
mov rax, qword [r15]
lea rdx, [rax + rbx*2]
lea rcx, [rsp + 0x40]
call fcn.140002958
nop
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140045b4c
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.140002e3c
nop
mov rcx, qword [rsp + 0x40]
call fcn.14005bd4c
lea rcx, [rsp + 0x30]
call fcn.1400030c0
cmp byte [rsi], r14b
je 0x140045c79
mov rdx, qword [rsi + 8]
lea rcx, [rsp + 0x30]
call fcn.1400458b8
lea rcx, [rsp + 0x30]
call fcn.1400030c0
cmp byte [rsi + 1], r14b
je 0x140045cc9
mov edx, 0x3f4
lea rcx, [rsp + 0x30]
call fcn.140043f2c
lea rdx, [0x140070cb4]
lea rcx, [rsp + 0x30]
call fcn.140002e88
lea rcx, [rsi + 0x10]
xor r8d, r8d
lea rdx, [rsp + 0x50]
call fcn.14000bc50
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.140002e88
mov r8, qword [rsp + 0x30]
mov edx, edi
mov rcx, qword [r13 + 8]
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
nop
mov rcx, qword [rsp + 0x30]
call fcn.14005bd4c
or r14d, 0xffffffff
xor ebx, ebx
mov rdx, r15
lea rcx, [rsp + 0x30]
call fcn.140002810
nop
test ebx, ebx
je 0x140045d7b
cmp byte [rsi + 2], 0
je 0x140045d50
cmp dword [rsp + 0x38], 4
jb 0x140045d50
mov ecx, dword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
add rax, 0xfffffffffffffff8
lea rcx, [rax + rcx*2]
lea rdx, str..exe
call fcn.14000449c
test al, al
jne 0x140045db1
mov ecx, dword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
add rax, 0xfffffffffffffff8
lea rcx, [rax + rcx*2]
lea rdx, str..ico
call fcn.14000449c
test al, al
jne 0x140045db1
mov rcx, qword [rsp + 0x30]
call fcn.14005bd4c
lea r11, [rsp + 0x350]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [rsp + 0x30]
call fcn.140003f6c
lea edx, [rax + 1]
lea rcx, [rsp + 0x30]
call fcn.1400033a8
mov edx, 0x2e
lea rcx, [rsp + 0x30]
call fcn.140003f40
test eax, eax
js 0x140045db1
mov edx, eax
lea rcx, [rsp + 0x30]
call fcn.1400033a8
cmp dword [rsp + 0x38], 0
jne 0x140045dc9
lea rdx, str.__file__
lea rcx, [rsp + 0x30]
call fcn.140002b58
mov edi, 0x20
cmp byte [rsi + 2], 0
je 0x140045e1c
lea rcx, [rsp + 0x50]
call fcn.140008084
lea rcx, [rsp + 0x78]
call fcn.1400029b0
nop
xor r8d, r8d
mov rdx, qword [r15]
lea rcx, [rsp + 0x50]
call fcn.140008360
test al, al
je 0x140045e12
cmp byte [rsp + 0x74], 0
jne 0x140045e12
mov eax, dword [rsp + 0x70]
shr eax, 4
test al, 1
cmove edi, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
call fcn.14005bd4c
and qword [rbp - 0x70], 0
or dword [rbp - 0x68], 0xffffffff
mov dword [rsp + 0x20], 0x114
mov r9d, 0x2b8
lea r8, [rbp - 0x70]
mov edx, edi
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test rax, rax
je 0x140045e89
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140045e89
mov eax, dword [rbp - 0x68]
test eax, eax
js 0x140045e82
cmp eax, r14d
je 0x140045e82
test eax, eax
jne 0x140045e66
test ebx, ebx
jne 0x140045e82
mov r14d, eax
mov edx, dword [rbp + 0x2a0]
test ebx, ebx
cmove edx, r12d
mov r8, rcx
mov rcx, r13
call fcn.140045ea4
jmp 0x140045e89
call qword [sym.imp.USER32.dll_DestroyIcon]
nop
mov rcx, qword [rsp + 0x30]
call fcn.14005bd4c
inc ebx
cmp ebx, 2
jb 0x140045ceb
jmp 0x140045d5a