Function at 0x1401496e0
Capabilities:
Delete directory

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x110]
sub rsp, 0x210
mov rax, qword [0x140300040]
xor rax, rsp
mov qword [rbp + 0x100], rax
mov rsi, rcx
xor r14d, r14d
mov dword [rsp + 0x30], r14d
lea rax, [rcx + 0x2e9]
mov qword [rbp - 0x20], rax
mov byte [rax], 1
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.SHELL32.dll_DragAcceptFiles]
mov r15d, 1
mov dword [0x14030c210], r15d
mov edx, r15d
lea rcx, [rbp - 0x18]
call fcn.1400d0d60
nop
lea r12, [rsi + 0x238]
mov rdx, rax
mov rcx, r12
call fcn.140017b80
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, r15d
jg 0x140149791
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x50], rax
mov rcx, qword [r12]
sub rcx, 0x18
call fcn.140019180
add rax, 0x18
mov qword [rbp - 0x50], rax
lea rcx, [rbp - 0x50]
call fcn.140026370
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
nop
mov dword [0x14030c210], r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movdqu xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r14
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x98], xmm1
mov dword [rbp + 0xa8], 0xa
mov r13, r14
mov qword [rsp + 0x58], r14
mov edi, r14d
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x44], r14d
movdqu xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x5c], r14
mov dword [rbp - 0x60], r14d
mov ecx, 0x28
call fcn.1401f7b18
mov rbx, rax
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
lea rax, vtable.XDropSource.0
mov qword [rbx], rax
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov qword [rbx + 0x20], r14
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
cmp byte [rsi + 0x241], 0
je 0x140149ba8
mov rcx, qword [rsi + 0x160]
call fcn.1401adbf0
mov rbx, rax
lea rdx, [rbp - 0x70]
mov rcx, rax
call fcn.1401495c0
mov r13, qword [rbp - 0x68]
mov qword [rsp + 0x58], r13
mov eax, dword [rbp - 0x5c]
mov dword [rsp + 0x44], eax
mov edi, dword [rbp - 0x58]
mov dword [rsp + 0x40], edi
mov qword [rbp + 0x68], r14
call fcn.140019590
mov rdx, rax
test rax, rax
je 0x14014ab91
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov rcx, rdx
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rbp + 0x68], rax
cmp qword [rbx + 0x30], 0
jne 0x140149afb
mov rdx, qword [rsi + 0x1b8]
lea rcx, [rbp - 0x10]
call fcn.1400eb5a0
mov r15, rax
mov qword [rsp + 0x60], r14
mov rcx, qword [r12]
mov rdx, qword [rcx - 0x18]
test rdx, rdx
je 0x140149922
mov rcx, qword [rdx]
mov rax, qword [rcx + 0x20]
mov rcx, rdx
call qword [case.0x140038ca6.0]
mov rcx, rax
test rax, rax
jne 0x140149946
call fcn.140019590
mov rdx, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
mov rcx, rdx
call qword [case.0x140038ca6.0]
mov rcx, rax
test rax, rax
je 0x14014aba7
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x30], 0x20
mov r15, qword [r15]
movsxd r13, dword [r15 - 0x10]
mov r14, qword [r12]
movsxd r12, dword [r14 - 0x10]
lea edi, [r12 + r13]
test edi, edi
js 0x14014abbd
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x1401499a1
mov edx, edi
lea rcx, [rsp + 0x60]
call fcn.140018ea0
mov rbx, qword [rsp + 0x60]
mov r8, r12
add r8, r8
je 0x1401499d7
test rbx, rbx
je 0x1401499c7
mov rcx, rbx
test r14, r14
je 0x1401499c0
mov rdx, r14
call fcn.14022e460
jmp 0x1401499d7
xor edx, edx
call fcn.14022eb00
call fcn.1401fed34
mov dword [rax], 0x16
call fcn.1401feb94
mov r8, r13
add r8, r8
lea rcx, [rbx + r12*2]
je 0x140149a0e
test rcx, rcx
je 0x1401499fe
test r15, r15
je 0x1401499f7
mov rdx, r15
call fcn.14022e460
jmp 0x140149a0e
xor edx, edx
call fcn.14022eb00
call fcn.1401fed34
mov dword [rax], 0x16
call fcn.1401feb94
cmp edi, dword [rbx - 0xc]
jg 0x14014abbd
mov dword [rbx - 0x10], edi
movsxd rax, edi
xor r15d, r15d
mov word [rbx + rax*2], r15w
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x68]
call fcn.140017b80
mov eax, 0x20
and eax, 0xffffffdf
mov dword [rsp + 0x30], eax
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140149a63
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140149a8a
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
call fcn.1400f1ae0
mov rdi, qword [rax + 8]
mov rbx, qword [rbp + 0x68]
cmp dword [rbx - 8], 1
jle 0x140149aad
mov edx, dword [rbx - 0x10]
lea rcx, [rbp + 0x68]
call fcn.140018d60
mov rbx, qword [rbp + 0x68]
mov rax, qword [rdi]
mov rdx, rbx
mov rcx, rdi
mov rax, qword [rax + 0x238]
call qword [case.0x140038ca6.0]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1401fe5d0
test eax, eax
js 0x14014abb2
cmp eax, dword [rbx - 0xc]
jg 0x14014abb2
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r15w
mov r15d, 1
mov edi, dword [rsp + 0x40]
mov r13, qword [rsp + 0x58]
jmp 0x140149b44
lea r8, [rbx + 0x18]
mov rdx, r12
lea rcx, [rbp - 8]
call fcn.140029150
nop
mov rdx, rax
lea rcx, [rbp + 0x68]
call fcn.140017b80
nop
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140149b40
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov rbx, qword [rbp + 0x68]
xor r9d, r9d
mov r8, qword [rbp + 0x88]
mov rdx, rbx
lea rcx, [rbp + 0x80]
call fcn.140029e40
mov rcx, qword [rbp + 0x88]
test rcx, rcx
je 0x140149b6e
mov qword [rcx], rax
jmp 0x140149b75
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rax
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140149ea2
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
jmp 0x140149ea2
mov rax, qword [rsi + 0x168]
mov edx, 0x100c
mov r9d, 2
lea r8, [r9 - 3]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd r14, eax
add r14, 1
je 0x140149ea7
mov r13d, 0x20
nop dword [rax + rax]
mov rax, qword [rsi + 0x168]
lea rbx, [r14 - 1]
movsxd r8, ebx
mov edx, 0x100c
mov r9d, 2
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd r14, eax
inc r14
mov qword [rsp + 0x50], r14
mov edx, ebx
mov rcx, qword [rsi + 0x168]
call fcn.1401a9ed0
mov rdi, rax
test rax, rax
je 0x140149e90
xor ebx, ebx
mov edx, ebx
mov dword [rbp - 0x58], ebx
mov rax, qword [rax + 0x20]
test rax, rax
je 0x140149c54
test byte [rax + 0x2c], 0x10
jne 0x140149c54
mov r8d, r15d
mov dword [rbp - 0x5c], r15d
mov rax, qword [rax + 0x20]
mov ecx, ebx
test rax, rax
cmovg rcx, rax
jmp 0x140149cbd
cmp qword [rdi + 0x40], rdx
jne 0x140149ca7
mov rcx, r13
call fcn.1401f7b18
mov qword [rsp + 0x48], rax
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x14], rbx
mov dword [rax + 0x10], ebx
mov qword [rdi + 0x40], rax
inc dword [rax + 0x18]
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140149ca5
mov rbx, qword [rbx]
test rbx, rbx
je 0x140149ca5
nop dword [rax]
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rbx + 0x10]
call fcn.1401495c0
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140149c90
xor ebx, ebx
mov rax, qword [rdi + 0x40]
mov rcx, qword [rax + 8]
mov r8d, dword [rax + 0x14]
mov dword [rbp - 0x5c], r8d
mov edx, dword [rax + 0x18]
mov dword [rbp - 0x58], edx
mov qword [rbp - 0x68], rcx
add qword [rsp + 0x58], rcx
add dword [rsp + 0x44], r8d
add dword [rsp + 0x40], edx
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb0], rbx
mov rax, qword [r12]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x140149cff
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x140038ca6.0]
mov rdx, rax
test rax, rax
jne 0x140149d23
call fcn.140019590
mov rdx, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
mov rcx, rdx
call qword [case.0x140038ca6.0]
mov rdx, rax
test rax, rax
je 0x14014abde
mov rcx, qword [rdx]
mov rax, qword [rcx + 0x18]
mov rcx, rdx
call qword [case.0x140038ca6.0]
lea rbx, [rax + 0x18]
mov qword [rbp + 0xb0], rbx
mov r14d, dword [rsp + 0x30]
or r14d, 0x10
mov dword [rsp + 0x30], r14d
mov r13, qword [rdi + 0x18]
mov eax, dword [r13 - 0x10]
mov dword [rbp - 0x78], eax
mov r15, qword [r12]
movsxd r12, dword [r15 - 0x10]
lea edi, [rax + r12]
test edi, edi
js 0x14014abd3
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140149d91
mov edx, edi
lea rcx, [rbp + 0xb0]
call fcn.140018ea0
mov rbx, qword [rbp + 0xb0]
mov r8, r12
add r8, r8
je 0x140149dc7
test rbx, rbx
je 0x140149db7
mov rcx, rbx
test r15, r15
je 0x140149db0
mov rdx, r15
call fcn.14022e460
jmp 0x140149dc7
xor edx, edx
call fcn.14022eb00
call fcn.1401fed34
mov dword [rax], 0x16
call fcn.1401feb94
movsxd r8, dword [rbp - 0x78]
add r8, r8
lea rcx, [rbx + r12*2]
je 0x140149dff
test rcx, rcx
je 0x140149def
test r13, r13
je 0x140149de8
mov rdx, r13
call fcn.14022e460
jmp 0x140149dff
xor edx, edx
call fcn.14022eb00
call fcn.1401fed34
mov dword [rax], 0x16
call fcn.1401feb94
cmp edi, dword [rbx - 0xc]
jg 0x14014abd3
mov dword [rbx - 0x10], edi
movsxd rax, edi
xor r15d, r15d
mov word [rbx + rax*2], r15w
xor r9d, r9d
mov r8, qword [rbp + 0x88]
mov rdx, rbx
lea rcx, [rbp + 0x80]
call fcn.140029e40
mov rcx, qword [rbp + 0x88]
test rcx, rcx
je 0x140149e40
mov qword [rcx], rax
jmp 0x140149e47
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rax
and r14d, 0xffffffef
mov dword [rsp + 0x30], r14d
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140149e7a
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov r13d, 0x20
lea r12, [rsi + 0x238]
lea r15d, [r13 - 0x1f]
mov r14, qword [rsp + 0x50]
test r14, r14
jne 0x140149be0
mov edi, dword [rsp + 0x40]
mov r13, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x38]
mov byte [rsi + 0x240], 0
call fcn.140166630
cmp dword [rax + 0x288], 0
je 0x140149faa
test edi, edi
jne 0x140149f97
cmp r13, 0x12c00000
jle 0x140149ee4
mov byte [rsi + 0x240], 1
lea rcx, str.__rm_bIsFastDragDropMode__TRUE
call fcn.140021650
xor r14d, r14d
cmp dword [rsp + 0x44], 1
jne 0x140149fad
mov qword [rbp + 0xc0], r14
mov rdx, qword [rbp + 0x80]
test rdx, rdx
je 0x14014abc8
mov rdx, qword [rdx + 0x10]
lea rcx, [rbp + 0xc0]
call fcn.140023910
nop
lea rdx, [0x1402a0820]
mov rcx, qword [rbp + 0xc0]
call fcn.14020ca3c
test eax, eax
jne 0x140149f6b
lea rax, [rbp]
mov qword [rsp + 0x48], rax
mov rdx, qword [rbp + 0x80]
test rdx, rdx
je 0x14014abe9
mov rdx, qword [rdx + 0x10]
lea rcx, [rbp]
call fcn.1400237b0
nop
mov rcx, rax
call fcn.140129720
test eax, eax
je 0x140149f6b
mov byte [rsi + 0x240], 1
mov rdx, qword [rbp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140149fad
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
jmp 0x140149fad
mov byte [rsi + 0x240], 1
lea rcx, str.__rm_bIsFastDragDropMode__TRUE
call fcn.140021650
xor r14d, r14d
call fcn.140166630
cmp dword [rax + 0x288], 0
je 0x140149fcb
cmp byte [rsi + 0x241], 0
je 0x140149fcb
mov byte [rsi + 0x240], 1
call fcn.1400e2200
cmp dword [rax + 0x10], 0
je 0x140149fdd
mov byte [rsi + 0x240], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xc8], xmm0
movups xmmword [rbp + 0xd8], xmm0
movups xmmword [rbp + 0xe8], xmm0
movdqu xmmword [rbp + 0xc8], xmm0
mov qword [rbp + 0xd8], r14
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xe0], xmm1
mov dword [rbp + 0xf0], 0xa
mov dword [rbx + 0xc], r15d
mov dword [rbp + 0x70], r14d
lea r8, [rsi + 0x48]
lea rax, [rbp + 0x70]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
cmp byte [rsi + 0x240], r9b
lea rdx, [rbp + 0xc8]
jne 0x14014a053
lea rdx, [rbp + 0x80]
call fcn.140055500
mov ebx, eax
test eax, eax
jns 0x14014a4c5
cmp byte [rsi + 0x240], 0
je 0x14014a1f5
cmp eax, 0x80010105
je 0x14014a4c5
lea rax, [rbp + 8]
mov qword [rsp + 0x48], rax
mov edx, ebx
lea rcx, [rbp + 0x18]
call fcn.140129d10
mov rbx, rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14014abf4
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x68], rax
lea rdx, [0x14029871c]
lea rcx, [rsp + 0x68]
call fcn.140018bb0
test al, al
jne 0x14014a0e2
mov r8d, r15d
lea rdx, [0x14029871c]
lea rcx, [rsp + 0x68]
call fcn.140018f50
nop
call fcn.140044d30
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_AT_DRAGANDDROP_OFF_FAST_DND
call fcn.140048480
lea r8, [rsp + 0x68]
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.140029070
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.140029150
mov rbx, rax
call fcn.14012bfe0
lea rcx, [0x1402670d8]
lea r9, [0x1402670e0]
cmp dword [rax + 0x88], 0
cmovne r9, rcx
mov dword [rsp + 0x20], r14d
mov r8, rbx
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14015ccf0
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a17c
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a1a5
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a1cc
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
call fcn.140166630
mov dword [rax + 0x288], r14d
mov rdi, qword [rsp + 0x38]
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [case.0x140038ca6.0]
mov r15d, r14d
jmp 0x14014a996
mov rdi, qword [rsp + 0x38]
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [case.0x140038ca6.0]
mov qword [rbp + 0xb8], r14
cmp ebx, 0x80004005
jne 0x14014a240
call fcn.140044d30
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_AT_DRAGANDDROP_MULTI
call fcn.140048480
mov rdi, rax
mov ebx, dword [rsp + 0x30]
jmp 0x14014a302
mov r8b, 1
mov edx, ebx
lea rcx, [rbp + 0x30]
call fcn.140129bd0
mov rdi, rax
mov ebx, dword [rsp + 0x30]
or ebx, 1
mov dword [rsp + 0x30], ebx
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14014abff
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rdx, [0x14029871c]
lea rcx, [rsp + 0x70]
call fcn.140018bb0
test al, al
jne 0x14014a2ad
mov r8d, r15d
lea rdx, [0x14029871c]
lea rcx, [rsp + 0x70]
call fcn.140018f50
nop
or ebx, 2
mov dword [rsp + 0x30], ebx
call fcn.140044d30
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_AT_DRAGANDDROP
call fcn.140048480
lea r8, [rsp + 0x70]
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.140029070
nop
or ebx, 4
mov dword [rsp + 0x30], ebx
mov r8, rdi
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.140029150
nop
or ebx, 8
mov dword [rsp + 0x30], ebx
mov rdi, qword [rax]
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14014ac0a
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rbp + 0xb8], rax
mov rdx, rdi
lea rcx, [rbp + 0xb8]
call fcn.140018bb0
test al, al
jne 0x14014a36b
test rdi, rdi
jne 0x14014a348
mov r8d, r14d
jmp 0x14014a35b
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rdi + r8*2], 0
jne 0x14014a350
mov rdx, rdi
lea rcx, [rbp + 0xb8]
call fcn.140018f50
nop
test bl, 8
je 0x14014a3a2
and ebx, 0xfffffff7
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a39e
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov ebx, dword [rsp + 0x30]
test bl, 4
je 0x14014a3d9
and ebx, 0xfffffffb
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a3d5
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov ebx, dword [rsp + 0x30]
test bl, 2
je 0x14014a411
and ebx, 0xfffffffd
mov dword [rsp + 0x30], ebx
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a40d
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov ebx, dword [rsp + 0x30]
test bl, 1
je 0x14014a444
and ebx, 0xfffffffe
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a444
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
lea rax, [rbp - 0x48]
mov qword [rsp + 0x48], rax
mov rbx, qword [rbp + 0xb8]
lea rcx, [rbx - 0x18]
call fcn.140019180
add rax, 0x18
mov qword [rbp - 0x48], rax
call fcn.14012bfe0
lea rcx, [0x1402670d8]
lea r9, [0x1402670e0]
cmp dword [rax + 0x88], 0
cmovne r9, rcx
mov dword [rsp + 0x20], r14d
lea r8, [rbp - 0x48]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14015ccf0
nop
mov eax, 0xffffffff
lock xadd dword [rbx - 8], eax
sub eax, 1
jg 0x14014a4bd
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov r15d, r14d
jmp 0x14014a996
mov edx, r15d
mov rcx, qword [rsi + 8]
call qword [sym.imp.SHELL32.dll_DragAcceptFiles]
cmp byte [rsi + 0x240], 0
je 0x14014a954
cmp ebx, 0x40100
jne 0x14014a954
mov qword [rbp + 0x78], r14
lea rdx, [rbp + 0x78]
mov rcx, qword [rsi + 0x210]
call fcn.1401b2500
nop
mov rax, qword [rsi + 0x210]
cmp qword [rax + 8], 0
jne 0x14014a6a9
lea rax, [rbp + 0x38]
mov qword [rsp + 0x48], rax
mov edx, ebx
lea rcx, [rbp + 0x50]
call fcn.140129d10
mov rbx, rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14014ac15
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rdx, [0x14029871c]
lea rcx, [rsp + 0x78]
call fcn.140018bb0
test al, al
jne 0x14014a57a
mov r8d, r15d
lea rdx, [0x14029871c]
lea rcx, [rsp + 0x78]
call fcn.140018f50
nop
call fcn.140044d30
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_AT_DRAGANDDROP_OFF_FAST_DND
call fcn.140048480
lea r8, [rsp + 0x78]
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.140029070
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x40]
call fcn.140029150
nop
lea r8, [0x1402a90b0]
mov rdx, rax
lea rcx, [rbp + 0x38]
call fcn.1400179b0
mov rbx, rax
call fcn.14012bfe0
lea rcx, [0x1402670d8]
lea r9, [0x1402670e0]
cmp dword [rax + 0x88], 0
cmovne r9, rcx
mov dword [rsp + 0x20], r14d
mov r8, rbx
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14015ccf0
nop
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a628
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a650
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a679
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a91a
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
jmp 0x14014a91a
mov rcx, qword [rbp + 0x78]
cmp dword [rcx - 0x10], 0
je 0x14014a782
call fcn.1400247b0
test eax, eax
jne 0x14014a72a
lea rax, [rbp + 0x58]
mov qword [rsp + 0x48], rax
call fcn.140044d30
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_AT_DRAGANDDROP
call fcn.140048480
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.1400190e0
mov rbx, rax
call fcn.14012bfe0
lea rcx, [0x1402670d8]
lea r9, [0x1402670e0]
cmp dword [rax + 0x88], 0
cmovne r9, rcx
mov dword [rsp + 0x20], r14d
mov r8, rbx
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14015ccf0
jmp 0x14014a926
lea rcx, [rsi + 0x1c0]
lea rdx, [rbp + 0x78]
call fcn.140017b80
mov rcx, rsi
call fcn.140160e20
mov rdi, qword [rsp + 0x38]
mov ebx, dword [rdi + 0x24]
shr ebx, 2
and ebx, 1
lea rax, [rbp - 0x40]
mov qword [rsp + 0x48], rax
mov rcx, qword [rbp + 0x78]
add rcx, 0xffffffffffffffe8
call fcn.140019180
add rax, 0x18
mov qword [rbp - 0x40], rax
mov r8d, ebx
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.14014acb0
jmp 0x14014a92b
lea rax, [rbp + 0x60]
mov qword [rsp + 0x48], rax
mov edx, 0x40100
lea rcx, [rbp - 0x28]
call fcn.140129d10
mov rbx, rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14014ac20
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rbp - 0x80], rax
lea rdx, [0x1402a8ee4]
lea rcx, [rbp - 0x80]
call fcn.140018bb0
test al, al
jne 0x14014a7ed
mov r8d, 2
lea rdx, [0x1402a8ee4]
lea rcx, [rbp - 0x80]
call fcn.140018f50
nop
call fcn.140044d30
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_AT_DRAGANDDROP_FASTDND_OFF_ASK
call fcn.140048480
lea r8, [rbp - 0x80]
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.140029070
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.140029150
nop
lea r8, [0x140267540]
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.1400179b0
mov rbx, rax
call fcn.14012bfe0
lea rcx, [0x1402670d8]
lea r9, [0x1402670e0]
cmp dword [rax + 0x88], 0
cmovne r9, rcx
mov dword [rsp + 0x20], 4
mov r8, rbx
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14015ccf0
mov ebx, eax
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov ecx, 0xffffffff
lock xadd dword [rdx + 0x10], ecx
sub ecx, 1
jg 0x14014a89e
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a8c6
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a8ee
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a915
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
cmp ebx, 6
jne 0x14014a926
call fcn.140166630
mov dword [rax + 0x288], r14d
mov rdi, qword [rsp + 0x38]
mov rdx, qword [rbp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a959
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
jmp 0x14014a959
mov rdi, qword [rsp + 0x38]
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [case.0x140038ca6.0]
mov rcx, qword [rsi + 0x218]
test rcx, rcx
je 0x14014a981
call fcn.140207144
mov qword [rsi + 0x218], r14
mov qword [rsi + 0x220], r14
mov qword [rsi + 0x228], r14
mov byte [rsi + 0x240], 0
cmp qword [rbp + 0xd8], 0
jbe 0x14014aa3f
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rbp + 0xc8]
mov qword [rsp + 0x48], rbx
test rbx, rbx
je 0x14014ab91
mov rax, qword [rbx]
mov qword [rbp + 0xc8], rax
lea rax, [rbx + 0x10]
mov qword [rsp + 0x50], rax
mov rdx, qword [rax]
sub rdx, 0x18
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014a9fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov rax, qword [rbp + 0xe8]
mov qword [rbx], rax
mov qword [rbp + 0xe8], rbx
mov rax, qword [rbp + 0xd8]
sub rax, 1
mov qword [rbp + 0xd8], rax
jne 0x14014aa36
lea rcx, [rbp + 0xc8]
call fcn.140029d60
mov rax, qword [rbp + 0xd8]
test rax, rax
jne 0x14014a9b0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc8], xmm0
mov qword [rbp + 0xe8], r14
mov rcx, qword [rbp + 0xe0]
test rcx, rcx
je 0x14014aa77
nop dword [rax]
mov rbx, qword [rcx]
call fcn.140207144
mov rcx, rbx
test rbx, rbx
jne 0x14014aa60
mov qword [rbp + 0xe0], r14
cmp qword [rbp + 0x90], 0
jbe 0x14014ab1f
nop word [rax + rax]
mov rbx, qword [rbp + 0x80]
mov qword [rsp + 0x48], rbx
test rbx, rbx
je 0x14014ab9c
mov rax, qword [rbx]
mov qword [rbp + 0x80], rax
lea rax, [rbx + 0x10]
mov qword [rsp + 0x50], rax
mov rdx, qword [rax]
sub rdx, 0x18
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014aade
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov rax, qword [rbp + 0xa0]
mov qword [rbx], rax
mov qword [rbp + 0xa0], rbx
mov rax, qword [rbp + 0x90]
sub rax, 1
mov qword [rbp + 0x90], rax
jne 0x14014ab16
lea rcx, [rbp + 0x80]
call fcn.140029d60
mov rax, qword [rbp + 0x90]
test rax, rax
jne 0x14014aa90
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0xa0], r14
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x14014ab57
nop dword [rax]
mov rbx, qword [rcx]
call fcn.140207144
mov rcx, rbx
test rbx, rbx
jne 0x14014ab40
mov qword [rbp + 0x98], r14
mov rcx, qword [rbp - 0x20]
mov byte [rcx], 0
mov eax, r15d
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.1401f74b0
lea r11, [rsp + 0x210]
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
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80070057
call fcn.140019300
nop
mov ecx, 0x80070057
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80070057
call fcn.140019300
int3
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
int3