Function at 0x1400a24c0
Capabilities:
Get file system object information

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x370]
sub rsp, 0x470
mov rax, qword [0x140185220]
xor rax, rsp
mov qword [rbp + 0x360], rax
mov rsi, rdx
mov qword [rsp + 0x58], rdx
mov r15, rcx
mov qword [rsp + 0x60], rcx
xor r13d, r13d
cmp dword [rdx + 0x10], 0xfffffffd
jne 0x1400a2515
mov edx, dword [rdx + 0x18]
test edx, edx
js 0x1400a2515
call fcn.1400a4140
cmp dword [rsi + 0x10], 0xffffff8d
jne 0x1400a2544
cmp byte [r15 + 0x50], r13b
jne 0x1400a2544
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1032
mov rcx, qword [rsi]
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [r15 + 0x1cc], eax
mov rcx, r15
call fcn.14009fab0
cmp dword [rsi + 0x10], 0xffffff9b
jne 0x1400a257f
test byte [rsi + 0x24], 2
jne 0x1400a2556
test byte [rsi + 0x20], 2
je 0x1400a257f
cmp byte [r15 + 0x50], r13b
jne 0x1400a257f
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1032
mov rcx, qword [rsi]
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [r15 + 0x1cc], eax
mov rcx, r15
call fcn.14009fab0
cmp dword [rsi + 0x10], 0xffffff93
jne 0x1400a26aa
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov r14, r13
mov qword [rsp + 0x78], r13
mov edx, 0x3f6
mov rcx, qword [r15 + 0x10]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov r12, rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, rax
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x1400a25d3
lea rcx, [rsp + 0x68]
call fcn.14004ab50
jmp 0x1400a3bae
mov edx, 0x423
mov rcx, qword [r15 + 0x10]
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, 1
sete byte [rsp + 0x30]
mov edx, 0x100c
mov r9d, 2
lea r8, [r9 - 3]
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdi, qword [rsp + 0x70]
cmp eax, 0xffffffff
je 0x1400a2684
movzx esi, byte [rsp + 0x30]
movsxd rbx, eax
test sil, sil
jne 0x1400a2624
mov rax, qword [r15 + 0x198]
mov eax, dword [rax + rbx*8 + 4]
cdqe
imul r8, rax, 0x70
add r8, qword [r15 + 0x180]
cmp rdi, r14
je 0x1400a264c
mov rdx, r8
mov rcx, rdi
call fcn.14004aff0
add rdi, 0x20
mov qword [rsp + 0x70], rdi
jmp 0x1400a2663
mov rdx, rdi
lea rcx, [rsp + 0x68]
call fcn.14004ac70
mov r14, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov r9d, 2
mov r8, rbx
mov edx, 0x100c
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
jne 0x1400a2611
mov rsi, qword [rsp + 0x58]
sub rdi, qword [rsp + 0x68]
sar rdi, 5
test rdi, rdi
je 0x1400a26a0
mov rdx, r12
lea rcx, [rsp + 0x68]
call fcn.140051e50
nop
lea rcx, [rsp + 0x68]
call fcn.14004ab50
lea rdi, [0x140000000]
movabs rbx, 0x4924924924924925
cmp dword [rsi + 0x10], 0xffffff94
jne 0x1400a2af7
mov edx, 0x423
mov rcx, qword [r15 + 0x10]
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, 1
sete r8b
mov byte [rsp + 0x31], r8b
movzx edx, byte [r15 + 0x1d0]
test dl, dl
sete al
mov byte [r15 + 0x1d0], al
mov byte [rsp + 0x30], 0
movsxd rax, dword [rsi + 0x1c]
cmp eax, 6
ja case.default.0x1400a2710
mov ecx, dword [rdi + rax*4 + 0xa3c08]
add rcx, rdi
jmp rcx
lea rbx, [r15 + 0x180]
mov byte [rsp + 0x20], 0
mov r8, rbx
test dl, dl
lea rdx, [rsp + 0x38]
lea r9, [0x1400df2f0]
je 0x1400a2853
lea r9, [0x1400dfdb0]
jmp 0x1400a2853
test r8b, r8b
je case.default.0x1400a2710
lea rbx, [r15 + 0x180]
mov byte [rsp + 0x20], 0
mov r8, rbx
test dl, dl
lea rdx, [rsp + 0x38]
lea r9, [0x1400df540]
je 0x1400a2853
lea r9, [0x1400e0000]
jmp 0x1400a2853
test r8b, r8b
je case.default.0x1400a2710
lea rbx, [r15 + 0x180]
mov byte [rsp + 0x20], 0
mov r8, rbx
test dl, dl
lea rdx, [rsp + 0x38]
lea r9, [0x1400df550]
je 0x1400a2853
lea r9, [0x1400e0010]
jmp 0x1400a2853
lea rbx, [r15 + 0x180]
mov byte [rsp + 0x20], 0
mov r8, rbx
test dl, dl
lea rdx, [rsp + 0x38]
lea r9, [0x1400df560]
je 0x1400a2853
lea r9, [0x1400e0020]
jmp 0x1400a2853
lea rbx, [r15 + 0x180]
mov byte [rsp + 0x20], 0
mov r8, rbx
test dl, dl
lea rdx, [rsp + 0x38]
lea r9, [0x1400df960]
je 0x1400a2853
lea r9, [0x1400e0420]
jmp 0x1400a2853
lea rbx, [r15 + 0x180]
mov byte [rsp + 0x20], 0
mov r8, rbx
test dl, dl
lea rdx, [rsp + 0x38]
lea r9, [0x1400df930]
je 0x1400a2853
lea r9, [0x1400e03f0]
jmp 0x1400a2853
lea rbx, [r15 + 0x180]
mov byte [rsp + 0x20], 0
mov r8, rbx
test dl, dl
lea rdx, [rsp + 0x38]
lea r9, [0x1400df940]
je 0x1400a2853
lea r9, [0x1400e0400]
call fcn.1400b3b00
mov byte [rsp + 0x30], 1
lea rdi, [r15 + 0x198]
mov rcx, qword [rdi]
mov rdx, qword [rdi + 8]
sub rdx, rcx
sar rdx, 3
cmp rcx, qword [rdi + 8]
je 0x1400a287f
mov qword [r15 + 0x1a0], rcx
mov rax, qword [rdi + 0x10]
sub rax, rcx
sar rax, 3
cmp rdx, rax
jbe 0x1400a28aa
movabs rax, 0x1fffffffffffffff
cmp rdx, rax
ja 0x1400a3bde
mov rcx, rdi
call fcn.1400b22b0
mov r12d, r13d
mov dword [rsp + 0x40], r13d
mov rax, qword [rbx + 8]
mov rdx, qword [rbx]
mov qword [rsp + 0x48], rdx
cmp rdx, rax
je 0x1400a295a
mov r15, rax
nop word [rax + rax]
mov eax, r13d
mov dword [rsp + 0x50], eax
mov rcx, qword [rdx + 0x30]
mov qword [rsp + 0x38], rcx
mov rbx, qword [rdx + 0x28]
cmp rbx, rcx
je 0x1400a293a
mov ecx, r13d
mov r14d, r13d
mov rsi, qword [rsp + 0x38]
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x1400a290b
mov dword [rdx], eax
mov dword [rdx + 4], r12d
add qword [rdi + 8], 8
jmp 0x1400a2920
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x40]
mov rcx, rdi
call fcn.1400b6f90
mov ecx, r14d
lea eax, [rcx + 1]
mov ecx, eax
mov dword [rsp + 0x50], eax
add rbx, 4
mov r14d, eax
cmp rbx, rsi
jne 0x1400a28f4
mov rdx, qword [rsp + 0x48]
inc r12d
mov dword [rsp + 0x40], r12d
add rdx, 0x70
mov qword [rsp + 0x48], rdx
cmp rdx, r15
jne 0x1400a28d0
mov rsi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
movabs rbx, 0x4924924924924925
mov edx, 0x3f6
mov rcx, qword [r15 + 0x10]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov r12, rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xb]
mov rcx, rax
call qword [sym.imp.USER32.dll_SendMessageW]
cmp byte [rsp + 0x31], 0
je 0x1400a29b4
mov rcx, qword [r15 + 0x188]
sub rcx, qword [r15 + 0x180]
mov rax, rbx
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jmp 0x1400a29c6
mov rdx, qword [r15 + 0x1a0]
sub rdx, qword [r15 + 0x198]
sar rdx, 3
mov r9d, 3
mov r8, rdx
mov edx, 0x102f
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, r15
call fcn.1400ae580
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], rax
mov dword [rbp + 0x30], 4
xor r9d, r9d
xor r8d, r8d
mov edx, 0x101f
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageW]
mov rbx, rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1200
mov rcx, rax
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jle 0x1400a2a7a
mov rdi, r13
mov r14d, eax
nop word [rax + rax]
lea r9, [rbp + 0x30]
mov r8, rdi
mov edx, 0x120b
mov rcx, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
and dword [rbp + 0x4c], 0xfffff9ff
lea r9, [rbp + 0x30]
mov r8, rdi
mov edx, 0x120c
mov rcx, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
inc rdi
sub r14, 1
jne 0x1400a2a40
cmp byte [rsp + 0x30], 0
je 0x1400a2ac5
movsxd r8, dword [rsi + 0x1c]
lea r9, [rbp + 0x30]
mov edx, 0x120b
mov rcx, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 0x200
mov ecx, 0x400
cmp byte [r15 + 0x1d0], 0
cmovne eax, ecx
or dword [rbp + 0x4c], eax
movsxd r8, dword [rsi + 0x1c]
lea r9, [rbp + 0x30]
mov edx, 0x120c
mov rcx, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
lea edx, [r9 + 0xb]
lea r8d, [r9 + 1]
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9d, 0x485
xor r8d, r8d
xor edx, edx
mov rcx, r12
call qword [sym.imp.USER32.dll_RedrawWindow]
movabs rbx, 0x4924924924924925
cmp dword [rsi + 0x10], 0xffffff62
jne 0x1400a2fa7
movsxd rdi, dword [rsi + 0x2c]
mov edx, 0x423
mov rcx, qword [r15 + 0x10]
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, 1
je 0x1400a2b27
mov rcx, qword [r15 + 0x198]
mov edi, dword [rcx + rdi*8 + 4]
mov rcx, qword [rsi + 0x20]
mov word [rcx], r13w
mov r8, qword [r15 + 0x180]
mov rcx, qword [r15 + 0x188]
sub rcx, r8
mov rax, rbx
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp edx, edi
jle 0x1400a2fa7
movsxd rax, edi
imul rdx, rax, 0x70
add rdx, r8
lea rcx, [rbp + 0x30]
call fcn.1400a3c40
nop
mov r12, qword [rbp + 0x40]
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
sub rax, r12
cmp rax, 1
jb 0x1400a3be4
lea rax, [rbp + 0x30]
cmp qword [rbp + 0x48], 8
cmovae rax, qword [rbp + 0x30]
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
lea r14, [r12 + 1]
mov edi, 7
lea rbx, [rsp + 0x68]
lea edx, [rdi + 3]
cmp r14, rdi
jbe 0x1400a2bfc
mov rdi, r14
or rdi, 7
cmp rdi, rcx
jbe 0x1400a2bda
mov rdi, rcx
jmp 0x1400a2be1
cmp rdi, rdx
cmovb rdi, rdx
lea rdx, [rdi + 1]
lea rcx, [rsp + 0x68]
call fcn.14004b1e0
mov rbx, rax
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], rdi
lea rdi, [r12 + r12]
mov r8, rdi
mov rdx, rax
mov rcx, rbx
call fcn.140118050
mov eax, 0xa
mov word [rbx + rdi], ax
mov word [rbx + r14*2], r13w
call fcn.14005b9c0
mov rdi, rax
mov r8d, 0x96
mov rdx, qword [r15 + 8]
lea rcx, [rbp - 0x58]
call fcn.14006ac50
nop
lea rdx, [rbp - 0x58]
mov rcx, rdi
call fcn.14004e260
cmp rax, qword [rdi]
je 0x1400a2c5d
cmp qword [rax + 0x50], 0
lea rdx, [rax + 0x40]
jne 0x1400a2c61
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x38]
call fcn.14004aff0
nop
lea rcx, [rbp - 0x58]
call fcn.14004b2f0
mov qword [rsp + 0x48], r13
mov rcx, qword [rbp + 0x78]
mov rax, rcx
mov rdx, qword [rbp + 0x70]
sub rax, rdx
sar rax, 5
mov edi, 5
cmp rax, rdi
cmova rax, rdi
test rax, rax
je 0x1400a2e1e
mov rdi, r13
mov qword [rsp + 0x40], r13
mov esi, 5
nop dword [rax]
add rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.14004aff0
nop
lea rcx, [rbp - 0x58]
call fcn.140091280
mov rbx, rax
lea r12, [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x1400a2ce1
mov rdx, qword [rax]
mov rcx, qword [r12]
lea r14, [rdx + rcx*2]
jmp 0x1400a2cee
mov rax, qword [r12]
lea r14, [rbx + rax*2]
mov rdi, rbx
jb 0x1400a2cf1
mov rdi, qword [rbx]
cmp rdi, r14
je 0x1400a2d0b
movzx ecx, word [rdi]
call fcn.140123fcc
test eax, eax
je 0x1400a2d0b
add rdi, 2
cmp rdi, r14
jne 0x1400a2cf6
mov rcx, qword [rbx + 0x18]
cmp rcx, 8
jb 0x1400a2d1a
mov rax, qword [rbx]
jmp 0x1400a2d1f
mov rax, rbx
jb 0x1400a2d41
mov r9, rax
sub r9, qword [rbx]
sar r9, 1
sub rdi, rax
sar rdi, 1
mov r14, qword [r12]
mov rax, r14
sub rax, r9
cmp rax, rdi
cmovb rdi, rax
jmp 0x1400a2d67
mov r9, rbx
sub r9, rbx
sar r9, 1
sub rdi, rbx
sar rdi, 1
mov r14, qword [r12]
mov rax, r14
sub rax, r9
cmp rax, rdi
cmovb rdi, rax
cmp rcx, 8
jb 0x1400a2d6a
mov rbx, qword [rbx]
lea rcx, [rbx + r9*2]
sub r14, rdi
lea rdx, [rcx + rdi*2]
mov r8, r14
sub r8, r9
lea r8, [r8*2 + 2]
call fcn.140118050
mov qword [r12], r14
lea r9, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae r9, qword [rbp - 0x58]
mov rax, qword [rbp + 0x58]
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 8
cmovae rdx, qword [rbp - 0x38]
mov r14, qword [rsp + 0x48]
mov r8d, dword [rax + r14*4]
lea rcx, [rbp - 0x18]
call fcn.140062b60
nop
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14004dfb0
nop
lea rcx, [rbp - 0x18]
call fcn.14004b2f0
nop
lea rcx, [rbp - 0x58]
call fcn.14004b2f0
inc r14
mov qword [rsp + 0x48], r14
mov rdi, qword [rsp + 0x40]
add rdi, 0x20
mov qword [rsp + 0x40], rdi
mov rcx, qword [rbp + 0x78]
mov rax, rcx
mov rdx, qword [rbp + 0x70]
sub rax, rdx
sar rax, 5
cmp rax, 5
cmova rax, rsi
cmp r14, rax
jb 0x1400a2cb0
mov rsi, qword [rsp + 0x58]
sub rcx, rdx
sar rcx, 5
cmp rcx, 5
jbe 0x1400a2ec8
call fcn.14005b9c0
mov rdi, rax
mov r8d, 0x95
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 8]
call fcn.14006ac50
nop
lea rdx, [rbp + 8]
mov rcx, rdi
call fcn.14004e260
cmp rax, qword [rdi]
je 0x1400a2e67
cmp qword [rax + 0x50], 0
lea rdx, [rax + 0x40]
jne 0x1400a2e6b
lea rdx, [rbp + 8]
lea rcx, [rbp - 0x58]
call fcn.14004aff0
nop
lea rcx, [rbp + 8]
call fcn.14004b2f0
mov r8, qword [rbp + 0x78]
sub r8, qword [rbp + 0x70]
sar r8, 5
add r8d, 0xfffffffb
lea rdx, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae rdx, qword [rbp - 0x58]
lea rcx, [rbp - 0x18]
call fcn.140062b60
nop
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x68]
call fcn.14004dfb0
nop
lea rcx, [rbp - 0x18]
call fcn.14004b2f0
nop
lea rcx, [rbp - 0x58]
call fcn.14004b2f0
lea rdi, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rdi, qword [rsp + 0x68]
movsxd rdx, dword [rsi + 0x28]
mov rcx, qword [rsi + 0x20]
test rdx, rdx
je 0x1400a2f2e
cmp rdx, 0x7fffffff
jbe 0x1400a2ef4
mov word [rcx], r13w
jmp 0x1400a2f2e
mov r8d, 0x7ffffffe
sub r8, rdx
sub rdi, rcx
lea rax, [rdx + r8]
test rax, rax
je 0x1400a2f1f
movzx eax, word [rcx + rdi]
test ax, ax
je 0x1400a2f1f
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400a2f00
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r13w
lea rcx, [rbp - 0x38]
call fcn.14004b2f0
nop
lea rcx, [rsp + 0x68]
call fcn.14004b2f0
nop
lea rcx, [rbp + 0x70]
call fcn.14004ab50
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x1400a2f9e
mov rax, qword [rbp + 0x68]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a2f8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a3bea
call fcn.14011460c
mov qword [rbp + 0x58], r13
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x60], xmm0
lea rcx, [rbp + 0x30]
call fcn.14004b2f0
cmp dword [rsi + 0x10], 0xffffff4f
jne 0x1400a3bae
mov rax, qword gs:[0x58]
mov edx, 4
mov rcx, qword [rax]
lea r14, [0x14018c868]
mov eax, dword [rdx + rcx]
cmp dword [0x14018c860], eax
jle 0x1400a3057
lea rcx, [0x14018c860]
call fcn.1401147d0
cmp dword [0x14018c860], 0xffffffff
jne 0x1400a3057
call fcn.14005b9c0
mov rdi, rax
mov r8d, 0x82
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 8]
call fcn.14006ac50
nop
lea rdx, [rbp + 8]
mov rcx, rdi
call fcn.14004e260
cmp rax, qword [rdi]
je 0x1400a3028
cmp qword [rax + 0x50], 0
lea rdx, [rax + 0x40]
jne 0x1400a302c
lea rdx, [rbp + 8]
mov rcx, r14
call fcn.14004aff0
nop
lea rcx, [rbp + 8]
call fcn.14004b2f0
lea rcx, [0x140151a70]
call fcn.140114b18
nop
lea rcx, [0x14018c860]
call fcn.140114770
movsxd rdi, dword [rsi + 0x1c]
mov edx, 0x423
mov rcx, qword [r15 + 0x10]
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, 1
jne 0x1400a3514
imul r14, rdi, 0x70
add r14, qword [r15 + 0x180]
test byte [rsi + 0x18], al
je 0x1400a34d8
movsxd rax, dword [rsi + 0x20]
cmp eax, 6
ja case.default.0x1400a30a5
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0xa3c24]
add rcx, rdx
jmp rcx
movsxd rdi, dword [rsi + 0x38]
mov rcx, qword [r14 + 0x10]
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x1400a30bc
mov rdx, qword [r14]
mov r9, 0xffffffffffffffff
test rcx, rcx
je 0x1400a30f8
dec rcx
mov rax, r9
cmp rcx, rax
cmovb rax, rcx
lea r8, [rdx + rax*2]
cmp word [r8], 0x5c
je 0x1400a30f0
cmp r8, rdx
je 0x1400a30f8
sub r8, 2
cmp word [r8], 0x5c
jne 0x1400a30e0
sub r8, rdx
sar r8, 1
jmp 0x1400a30fb
mov r8, r9
inc r8
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.14004ef30
mov rcx, rax
call fcn.14004b370
movsxd rdx, dword [rsi + 0x38]
lea r9, [rdi - 1]
mov r8, rax
mov rcx, qword [rsi + 0x30]
call fcn.140125cd4
lea rcx, [rbp - 0x18]
call fcn.14004b2f0
jmp 0x1400a34d8
cmp byte [r14 + 0x6d], 0
jne 0x1400a34d8
mov r8d, dword [rsi + 0x38]
mov rdx, qword [rsi + 0x30]
mov rcx, qword [r14 + 0x20]
call qword [sym.imp.SHLWAPI.dll_StrFormatByteSizeW]
jmp 0x1400a34d8
cmp byte [r14 + 0x6c], 0
je 0x1400a31c0
movsxd rbx, dword [rsi + 0x38]
call fcn.14005b9c0
mov rdi, rax
mov r8d, 0x81
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 8]
call fcn.14006add0
nop
mov r8, rax
lea rdx, [rbp - 0x18]
mov rcx, rdi
call fcn.14005ac80
mov rcx, rax
call fcn.14004b370
movsxd rdx, dword [rsi + 0x38]
lea r9, [rbx - 1]
mov r8, rax
mov rcx, qword [rsi + 0x30]
call fcn.140125cd4
lea rcx, [rbp - 0x18]
call fcn.14004b2f0
nop
lea rcx, [rbp + 8]
call fcn.14004b2f0
jmp 0x1400a34d8
movsxd rdx, dword [rsi + 0x38]
mov r9, qword [r14 + 0x58]
lea r8, str._lld
mov rcx, qword [rsi + 0x30]
call fcn.140062710
jmp 0x1400a34d8
lea rdx, [r15 + 0x68]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 8
jb 0x1400a31ef
mov rdx, qword [rdx]
test rax, rax
je 0x1400a329f
mov rcx, rdx
cmp word [rdx], 0x7c
je 0x1400a3214
cmp rax, 1
je 0x1400a3217
dec rax
add rcx, 2
cmp word [rcx], 0x7c
jne 0x1400a3201
mov r13, rcx
test r13, r13
je 0x1400a329f
sub r13, rdx
sar r13, 1
cmp r13, 0xffffffffffffffff
je 0x1400a329f
movsxd rdi, dword [rsi + 0x38]
mov edx, 0x5c
mov rcx, r14
call fcn.140062a40
mov r9, 0xffffffffffffffff
mov r8, rax
lea rdx, [rbp + 8]
mov rcx, r14
call fcn.14004ef30
nop
mov r9, qword [r14 + 0x10]
sub r9, qword [rax + 0x10]
xor r8d, r8d
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.14004ef30
mov rcx, rax
call fcn.14004b370
movsxd rdx, dword [rsi + 0x38]
lea r9, [rdi - 1]
mov r8, rax
mov rcx, qword [rsi + 0x30]
call fcn.140125cd4
lea rcx, [rbp - 0x18]
call fcn.14004b2f0
nop
lea rcx, [rbp + 8]
call fcn.14004b2f0
jmp 0x1400a34d8
mov edx, 0x5c
mov rcx, r14
call fcn.140062a40
mov r9, 0xffffffffffffffff
mov r8, rax
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.14004ef30
nop
mov r8, qword [r15 + 0x78]
mov rax, qword [r14 + 0x10]
sub rax, qword [rbp - 8]
sub rax, r8
lea r9, [rax - 1]
cmove r9, rax
movsxd rdi, dword [rsi + 0x38]
mov rcx, r14
cmp r8, qword [r14 + 0x10]
jae 0x1400a3334
inc r8
lea rdx, [rbp + 8]
call fcn.14004ef30
mov rcx, rax
call fcn.14004b370
movsxd rdx, dword [rsi + 0x38]
lea r9, [rdi - 1]
mov r8, rax
mov rcx, qword [rsi + 0x30]
call fcn.140125cd4
lea rcx, [rbp + 8]
call fcn.14004b2f0
mov rcx, qword [rsi + 0x30]
cmp word [rcx], 0
jne 0x1400a334d
movsxd rdx, dword [rsi + 0x38]
lea r8, [0x140168328]
call fcn.14011ca1c
jmp 0x1400a334d
call fcn.14004b370
lea r9, [rdi - 1]
mov r8, rax
mov rdx, rdi
mov rcx, qword [rsi + 0x30]
call fcn.140125cd4
nop
lea rcx, [rbp - 0x18]
call fcn.14004b2f0
jmp 0x1400a34d8
mov rax, qword [rsi + 0x30]
mov word [rax], r13w
cmp byte [r14 + 0x6d], 0
jne 0x1400a34d8
mov edx, 0x2e
mov rcx, r14
call fcn.140062a40
mov r8, rax
cmp rax, 0xffffffffffffffff
je 0x1400a34d8
mov edx, 0x5c
mov rcx, r14
call fcn.1400b1270
cmp rax, 0xffffffffffffffff
jne 0x1400a34d8
movsxd rdi, dword [rsi + 0x38]
inc r8
mov r9, rax
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.14004ef30
mov rcx, rax
call fcn.14004b370
movsxd rdx, dword [rsi + 0x38]
lea r9, [rdi - 1]
mov r8, rax
mov rcx, qword [rsi + 0x30]
call fcn.140125cd4
lea rcx, [rbp - 0x18]
call fcn.14004b2f0
jmp 0x1400a34d8
movsxd rdi, dword [rsi + 0x38]
mov ecx, dword [r14 + 0x60]
sub ecx, 1
je 0x1400a345a
sub ecx, 1
je 0x1400a344b
sub ecx, 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
je 0x1400a343c
sub ecx, 1
je 0x1400a342d
cmp ecx, 1
je 0x1400a341e
movdqa xmm1, xmmword [0x140169d90]
movdqu xmmword [rsp + 0x78], xmm1
mov word [rsp + 0x68], r13w
jmp 0x1400a3482
mov r8d, 4
lea rdx, str.UTF8
jmp 0x1400a346f
mov r8d, 9
lea rdx, str.UTF_16_BE
jmp 0x1400a346f
mov r8d, 9
lea rdx, str.UTF_16_LE
jmp 0x1400a346f
mov r8d, 4
lea rdx, str.ANSI
jmp 0x1400a3467
mov r8d, 6
lea rdx, str.BINARY
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
lea rcx, [rsp + 0x68]
call fcn.14004c390
lea r8, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae r8, qword [rsp + 0x68]
movsxd rdx, dword [rsi + 0x38]
lea r9, [rdi - 1]
mov rcx, qword [rsi + 0x30]
call fcn.140125cd4
mov r8, qword [rbp - 0x80]
cmp r8, 8
jb 0x1400a34d8
inc r8
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x68]
call fcn.14004b2b0
jmp 0x1400a34d8
lea r8, [r14 + 0x64]
mov rdx, qword [rsi + 0x30]
call fcn.1400ada20
jmp 0x1400a34d8
mov rax, qword [rsi + 0x30]
mov word [rax], r13w
test byte [rsi + 0x18], 2
je 0x1400a3bae
cmp byte [r14 + 0x6d], 0
jne 0x1400a3780
call fcn.140063650
lea rdi, [rbp + 0xa0]
xor eax, eax
mov ecx, 0x2b8
rep stosb byte [rdi], al
cmp qword [r14 + 0x18], 8
jb 0x1400a350c
mov r14, qword [r14]
mov rcx, r14
jmp 0x1400a3b85
mov rax, qword [r15 + 0x198]
movsxd rdx, dword [rax + rdi*8]
movsxd rax, dword [rax + rdi*8 + 4]
imul rbx, rax, 0x70
add rbx, qword [r15 + 0x180]
mov eax, dword [rsi + 0x18]
and eax, 1
cmp dword [rbx + 0x60], 1
jne 0x1400a37a4
test eax, eax
je 0x1400a376c
mov ecx, dword [rsi + 0x20]
test ecx, ecx
je 0x1400a36a3
sub ecx, 1
je 0x1400a367b
cmp ecx, 2
je 0x1400a356d
mov rax, qword [rsi + 0x30]
mov word [rax], r13w
jmp 0x1400a376c
movsxd r14, dword [rsi + 0x38]
mov rdi, qword [rbx + 0x10]
mov rdx, rbx
mov r9, qword [rbx + 0x18]
cmp r9, 8
jb 0x1400a3585
mov rdx, qword [rbx]
mov r8, 0xffffffffffffffff
test rdi, rdi
je 0x1400a35c7
lea rcx, [rdi - 1]
mov rax, r8
cmp rcx, rax
cmovb rax, rcx
lea rcx, [rdx + rax*2]
cmp word [rcx], 0x5c
je 0x1400a35bf
nop dword [rax]
cmp rcx, rdx
je 0x1400a35c7
sub rcx, 2
cmp word [rcx], 0x5c
jne 0x1400a35b0
sub rcx, rdx
sar rcx, 1
jmp 0x1400a35ca
mov rcx, r8
inc rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
cmp rdi, rcx
jb 0x1400a3bf0
sub rdi, rcx
cmp rdi, 0xffffffffffffffff
cmovb r8, rdi
mov rax, rbx
cmp r9, 8
jb 0x1400a35fc
mov rax, qword [rbx]
lea rdx, [rax + rcx*2]
lea rcx, [rbp - 0x38]
call fcn.14004c390
nop
mov r8, qword [rbx + 0x10]
sub r8, qword [rbp - 0x28]
dec r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
cmp qword [rbx + 0x10], r8
cmovb r8, qword [rbx + 0x10]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400a363c
mov rdx, qword [rbx]
lea rcx, [rsp + 0x68]
call fcn.14004c390
lea r8, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae r8, qword [rsp + 0x68]
movsxd rdx, dword [rsi + 0x38]
lea r9, [r14 - 1]
mov rcx, qword [rsi + 0x30]
call fcn.140125cd4
lea rcx, [rsp + 0x68]
call fcn.14004b2f0
nop
lea rcx, [rbp - 0x38]
jmp 0x1400a3767
movsxd rdx, dword [rsi + 0x38]
cmp qword [0x14018c880], 8
cmovae r14, qword [0x14018c868]
mov r9, rdx
mov r8, r14
mov rcx, qword [rsi + 0x30]
call fcn.140125cd4
jmp 0x1400a376c
movsxd rdi, dword [rsi + 0x38]
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400a36b8
mov rdx, qword [rbx]
mov r8, 0xffffffffffffffff
test rcx, rcx
je 0x1400a36f7
dec rcx
mov rax, r8
cmp rcx, rax
cmovb rax, rcx
lea rcx, [rdx + rax*2]
cmp word [rcx], 0x5c
je 0x1400a36ef
nop dword [rax + rax]
cmp rcx, rdx
je 0x1400a36f7
sub rcx, 2
cmp word [rcx], 0x5c
jne 0x1400a36e0
sub rcx, rdx
sar rcx, 1
jmp 0x1400a36fa
mov rcx, r8
inc rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x1400a3bf6
sub rax, rcx
cmp rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400a3733
mov rax, qword [rbx]
lea rdx, [rax + rcx*2]
lea rcx, [rsp + 0x68]
call fcn.14004c390
lea r8, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae r8, qword [rsp + 0x68]
movsxd rdx, dword [rsi + 0x38]
lea r9, [rdi - 1]
mov rcx, qword [rsi + 0x30]
call fcn.140125cd4
lea rcx, [rsp + 0x68]
call fcn.14004b2f0
test byte [rsi + 0x18], 2
je 0x1400a3bae
cmp byte [rbx + 0x6d], 0
je 0x1400a3b63
call fcn.140063650
lea rdi, [rbp + 0xa0]
xor eax, eax
mov ecx, 0x2b8
rep stosb byte [rdi], al
lea edx, [rax + 0x10]
lea rcx, str.Doesnt_matter
jmp 0x1400a3b8a
test eax, eax
je 0x1400a3b36
mov ecx, dword [rsi + 0x20]
test ecx, ecx
je 0x1400a3a3b
sub ecx, 1
je 0x1400a3a17
sub ecx, 1
je 0x1400a38e7
cmp ecx, 1
je 0x1400a37db
mov rax, qword [rsi + 0x30]
mov word [rax], r13w
jmp 0x1400a3b36
movsxd r14, dword [rsi + 0x38]
mov rdi, qword [rbx + 0x10]
mov rdx, rbx
mov r9, qword [rbx + 0x18]
cmp r9, 8
jb 0x1400a37f3
mov rdx, qword [rbx]
mov r8, 0xffffffffffffffff
test rdi, rdi
je 0x1400a382e
lea rcx, [rdi - 1]
mov rax, r8
cmp rcx, rax
cmovb rax, rcx
lea rcx, [rdx + rax*2]
cmp word [rcx], 0x5c
je 0x1400a3826
cmp rcx, rdx
je 0x1400a382e
sub rcx, 2
cmp word [rcx], 0x5c
jne 0x1400a3817
sub rcx, rdx
sar rcx, 1
jmp 0x1400a3831
mov rcx, r8
inc rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
cmp rdi, rcx
jb 0x1400a3bfc
sub rdi, rcx
cmp rdi, 0xffffffffffffffff
cmovb r8, rdi
mov rax, rbx
cmp r9, 8
jb 0x1400a3863
mov rax, qword [rbx]
lea rdx, [rax + rcx*2]
lea rcx, [rbp - 0x38]
call fcn.14004c390
nop
mov r8, qword [rbx + 0x10]
sub r8, qword [rbp - 0x28]
dec r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
cmp qword [rbx + 0x10], r8
cmovb r8, qword [rbx + 0x10]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400a38a3
mov rdx, qword [rbx]
lea rcx, [rsp + 0x68]
call fcn.14004c390
lea r8, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae r8, qword [rsp + 0x68]
movsxd rdx, dword [rsi + 0x38]
lea r9, [r14 - 1]
mov rcx, qword [rsi + 0x30]
call fcn.140125cd4
lea rcx, [rsp + 0x68]
call fcn.14004b2f0
nop
lea rcx, [rbp - 0x38]
call fcn.14004b2f0
jmp 0x1400a3b36
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
movdqa xmm1, xmmword [0x140169d90]
movdqu xmmword [rbp - 0x68], xmm1
mov word [rbp - 0x78], r13w
mov rcx, qword [rbx + 0x40]
mov rax, qword [rbx + 0x48]
sub rax, rcx
sar rax, 5
cmp rax, rdx
jbe 0x1400a3924
shl rdx, 5
add rdx, rcx
lea rcx, [rbp - 0x78]
call fcn.14004ca10
lea rcx, [rbp - 0x78]
mov rdi, qword [rbp - 0x78]
mov r10, qword [rbp - 0x60]
cmp r10, 8
cmovae rcx, rdi
lea rax, [rbp - 0x78]
cmovae rax, rdi
mov r8, qword [rbp - 0x68]
lea rdx, [rax + r8*2]
mov r9d, 0x20
cmp rcx, rdx
je 0x1400a3972
cmp word [rcx], 9
jne 0x1400a395d
mov word [rcx], r9w
add rcx, 2
cmp rcx, rdx
jne 0x1400a3953
mov r10, qword [rbp - 0x60]
mov r8, qword [rbp - 0x68]
mov rdi, qword [rbp - 0x78]
lea rcx, [rbp - 0x78]
cmp r10, 8
cmovae rcx, rdi
lea rax, [rbp - 0x78]
cmovae rax, rdi
lea rdx, [rax + r8*2]
cmp rcx, rdx
je 0x1400a39af
nop
cmp word [rcx], 0xa
jne 0x1400a399a
mov word [rcx], r9w
add rcx, 2
cmp rcx, rdx
jne 0x1400a3990
mov r10, qword [rbp - 0x60]
mov r8, qword [rbp - 0x68]
mov rdi, qword [rbp - 0x78]
lea rcx, [rbp - 0x78]
cmp r10, 8
cmovae rcx, rdi
lea rax, [rbp - 0x78]
cmovae rax, rdi
lea rdx, [rax + r8*2]
cmp rcx, rdx
je 0x1400a39eb
nop dword [rax]
cmp word [rcx], 0xd
jne 0x1400a39da
mov word [rcx], r9w
add rcx, 2
cmp rcx, rdx
jne 0x1400a39d0
mov r10, qword [rbp - 0x60]
mov rdi, qword [rbp - 0x78]
movsxd rdx, dword [rsi + 0x38]
lea r9, [rdx - 1]
lea r8, [rbp - 0x78]
cmp r10, 8
cmovae r8, rdi
mov rcx, qword [rsi + 0x30]
call fcn.140125cd4
nop
lea rcx, [rbp - 0x78]
call fcn.14004b2f0
jmp 0x1400a3b36
mov rcx, rdx
mov rax, qword [rbx + 0x28]
movsxd rdx, dword [rsi + 0x38]
mov r9d, dword [rax + rcx*4]
lea r8, [0x140168348]
mov rcx, qword [rsi + 0x30]
call fcn.140062710
jmp 0x1400a3b36
movsxd rdi, dword [rsi + 0x38]
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400a3a50
mov rdx, qword [rbx]
mov r8, 0xffffffffffffffff
test rcx, rcx
je 0x1400a3a8a
dec rcx
mov rax, r8
cmp rcx, rax
cmovb rax, rcx
lea rcx, [rdx + rax*2]
cmp word [rcx], 0x5c
je 0x1400a3a82
cmp rcx, rdx
je 0x1400a3a8a
sub rcx, 2
cmp word [rcx], 0x5c
jne 0x1400a3a73
sub rcx, rdx
sar rcx, 1
jmp 0x1400a3a8d
mov rcx, r8
inc rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x1400a3c02
sub rax, rcx
cmp rax, 0xffffffffffffffff
cmovb r8, rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400a3ac6
mov rax, qword [rbx]
lea rdx, [rax + rcx*2]
lea rcx, [rsp + 0x68]
call fcn.14004c390
lea r8, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae r8, qword [rsp + 0x68]
movsxd rdx, dword [rsi + 0x38]
lea r9, [rdi - 1]
mov rcx, qword [rsi + 0x30]
call fcn.140125cd4
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400a3b36
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a3b31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a3bd8
call fcn.14011460c
test byte [rsi + 0x18], 2
je 0x1400a3bae
cmp byte [rbx + 0x6d], 0
je 0x1400a3b63
call fcn.140063650
lea rdi, [rbp + 0xa0]
xor eax, eax
mov ecx, 0x2b8
rep stosb byte [rdi], al
lea edx, [rax + 0x10]
lea rcx, str.Doesnt_matter
jmp 0x1400a3b8a
call fcn.140063650
xor eax, eax
mov ecx, 0x2b8
lea rdi, [rbp + 0xa0]
cmp qword [rbx + 0x18], 8
rep stosb byte [rdi], al
jb 0x1400a3b82
mov rbx, qword [rbx]
mov rcx, rbx
mov edx, 0x80
mov dword [rsp + 0x20], 0x4011
mov r9d, CDefFolderMenu_Create2
lea r8, [rbp + 0xa0]
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [rbp + 0xa8]
mov dword [rsi + 0x3c], eax
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.1401145b0
mov rbx, qword [rsp + 0x4c0]
add rsp, 0x470
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14011c9a4
int3
call fcn.14004ae60
nop
call fcn.14004b290
nop
call fcn.14011c9a4
int3
call fcn.14004e0d0
int3
call fcn.14004e0d0
int3
call fcn.14004e0d0
int3
call fcn.14004e0d0
int3