Function at 0x140027b40
Capabilities:
Set current directory

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x170
lea rsi, [0x140136640]
mov qword [rsp + 0x1a0], rsi
xorps xmm0, xmm0
movdqa xmmword [0x140136640], xmm0
xorps xmm1, xmm1
movdqa xmmword [0x140136650], xmm1
movdqa xmmword [0x140136660], xmm0
xor ebx, ebx
mov qword [0x140136670], rbx
mov qword [0x140136678], rbx
movdqa xmmword [0x140136680], xmm0
mov qword [0x140136690], rbx
mov dword [0x140136698], ebx
mov dword [0x1401366b8], ebx
mov word [0x1401366bc], bx
mov dword [0x1401366c0], ebx
movdqa xmmword [0x1401368f0], xmm0
mov qword [0x140136900], rbx
mov qword [0x140136908], rbx
mov word [0x140136910], 1
movdqa xmmword [0x140136ce0], xmm0
mov qword [0x140136cf0], rbx
lea rbp, [0x1400fb87c]
mov qword [0x140137110], rbp
mov qword [0x140137118], rbp
mov qword [0x140137120], rbx
mov qword [0x140137130], rbx
mov qword [0x140137138], rbx
mov qword [0x140137148], rbx
mov qword [0x140137150], rbx
mov qword [0x140137160], rbx
mov qword [0x140137168], rbx
movdqa xmmword [0x140137170], xmm0
mov byte [0x140137180], bl
mov dword [0x140137184], ebx
mov qword [0x140137188], rbx
mov qword [0x140137190], rbx
mov qword [0x140137198], rbx
movdqa xmmword [0x1401371a0], xmm0
mov qword [0x1401371b0], rbx
mov dword [0x1401371b8], ebx
mov word [0x1401371bc], bx
mov byte [0x1401371be], bl
mov qword [0x1401371c0], rbp
mov qword [0x1401371c8], rbp
mov qword [0x1401371d0], rbp
mov qword [0x1401371d8], rbp
mov qword [0x1401371e0], rbp
mov qword [0x1401371e8], rbp
mov qword [0x1401371f4], rbx
movdqa xmmword [0x140137200], xmm0
mov qword [0x140137210], rbx
mov dword [0x140137218], 0x3e8
mov dword [0x14013721c], 0xf
lea rax, vtable.CKuStringT_wchar_t__class_CKuStringUtilW_.0
mov qword [0x140137228], rax
mov qword [0x140137230], rbx
mov byte [0x140137238], bl
mov qword [0x140137240], rax
mov qword [0x140137248], rbx
mov byte [0x140137250], bl
mov qword [0x140137258], rax
mov qword [0x140137260], rbx
mov byte [0x140137268], bl
movdqa xmmword [0x140137270], xmm0
mov qword [0x140137280], rbx
mov byte [0x140137288], bl
mov qword [0x140137290], rbx
mov dword [0x140137298], ebx
mov word [0x140136f02], bx
mov word [0x140136cf8], bx
xor edx, edx
mov r8d, 0x3c8
lea rcx, [0x140136918]
call fcn.1400cc200
mov qword [0x140136920], rbx
lea ecx, [rbx + 0xa]
call fcn.1400d29a0
mov rdi, rax
test rax, rax
jne 0x140027d76
mov qword [0x1401372a0], rbx
jmp 0x140027e25
lea rcx, str.Tray
mov rdx, rdi
sub rdx, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x140027d90
mov ecx, 0x58
call fcn.1400c9e74
mov rcx, rax
mov qword [rsp + 0x190], rax
mov qword [rax], rdi
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbx
mov byte [rax + 0x20], 0
mov qword [rax + 0x24], 2
mov qword [rax + 0x30], rbx
mov qword [rax + 0x38], rbx
mov dword [rax + 0x40], 1
mov qword [rax + 0x48], rbx
mov dword [rax + 0x50], 0xff000000
cmp qword [0x1401371a0], 0
jne 0x140027dfd
mov qword [0x1401371a0], rax
jmp 0x140027e08
mov rax, qword [0x1401371a8]
mov qword [rax + 0x30], rcx
mov qword [0x1401371a8], rcx
inc dword [0x1401371b0]
mov qword [0x1401372a0], rcx
test rcx, rcx
jne 0x140027f18
mov r8, rbp
lea rdx, str.No_tray_mem
mov rcx, rsi
call fcn.1400515e0
mov dword [0x140137184], 0xfffffffe
cmp byte [0x140137fc8], 0
jne 0x140027fe4
cmp byte [0x1401371f4], 0
je 0x140027fe4
mov dword [0x140138d60], ebx
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, qword [0x140134210]
call fcn.1400016b0
mov r8d, 0x7f
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.1400de184
mov word [rsp + 0x16e], bx
inc dword [0x140134218]
mov r8, qword [0x14012fc08]
add r8, 0x150
mov qword [0x14012fc08], r8
mov rax, r8
lea rcx, [0x1401340a0]
mov edx, 2
nop dword [rax]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rdx, 1
je 0x140027ff4
jmp 0x140027ec0
mov byte [rcx + 0x20], 1
cmp word [str.Clipboard], 0
je 0x140027fb8
lea rax, [rsp + 0x190]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
lea r9, [rsp + 0x198]
xor r8d, r8d
lea rdx, str.Clipboard
mov rcx, rsi
call fcn.14003f6b0
mov rdi, rax
test rax, rax
jne 0x140027f93
cmp byte [rsp + 0x190], al
setne bl
inc ebx
mov dword [rsp + 0x20], ebx
mov r9d, dword [rsp + 0x198]
xor r8d, r8d
lea rdx, str.Clipboard
mov rcx, rsi
call fcn.14003f980
mov rdi, rax
test rax, rax
je 0x140027fb8
cmp byte [rdi + 0x23], 0
jne 0x140027f9d
mov rdi, qword [rdi + 0x10]
cmp byte [rdi + 0x21], 0
jl 0x140027fb8
mov rcx, rdi
call fcn.140001550
movzx ecx, byte [rdi + 0x21]
and cl, 0xf
or cl, 0x80
mov byte [rdi + 0x21], cl
lea rcx, [0x140135138]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor ecx, ecx
call qword [sym.imp.ole32.dll_OleInitialize]
nop
mov rax, rsi
mov rbx, qword [rsp + 0x1a8]
add rsp, 0x170
pop rdi
pop rsi
pop rbp
ret
xor r8d, r8d
lea edx, [r8 - 2]
mov rcx, rsi
call fcn.140029f80
int3
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
mov dword [r8 + 0x3c], ebx
xor edx, edx
mov rcx, rsi
call fcn.140029490
mov qword [0x140137210], rbx
cmp dword [0x14013423c], 0
je 0x14002805b
mov rax, qword [0x1401320f0]
lea rcx, [0x1400fb87c]
test rax, rax
je 0x140028055
mov rax, qword [rax]
test rax, rax
cmovne rcx, rax
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov dword [0x14012fc00], ebx
mov byte [0x140137fc8], 1
mov rcx, qword [0x140132038]
cmp rcx, qword [0x140132040]
jne 0x140028084
call fcn.140007450
mov rcx, qword [0x140132038]
cmp rcx, qword [0x140132030]
jb 0x14002809e
mov rax, qword [0x140136ce0]
mov qword [rcx], rax
mov rcx, qword [0x140132038]
add rcx, 0x18
mov qword [0x140132038], rcx
mov qword [rcx], rbx
lea rax, str.OnExit
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], ebx
mov dil, 1
mov byte [0x140132588], 0
mov r8, qword [0x140137170]
test r8, r8
je 0x1400280f1
mov rcx, r8
call fcn.1400017b0
mov r8, qword [0x140137170]
test eax, eax
je 0x1400280f1
movzx edi, dil
cmp byte [0x140132588], 0
cmove edi, ebx
mov byte [0x140132588], 1
test dil, dil
je 0x14002813f
mov dword [rsp + 0x40], ebx
call fcn.14006bf90
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x60], 1
movsxd rax, dword [0x140138d60]
mov qword [rsp + 0x50], rax
test r8, r8
sete bl
mov r9d, ebx
mov r8d, 2
lea rdx, [rsp + 0x30]
lea rcx, [0x140137120]
call fcn.1400a6e80
mov rax, qword [0x140132038]
sub rax, 0x18
mov qword [0x140132038], rax
cmp rax, qword [0x140132030]
jb 0x14002816b
mov rax, qword [rax]
mov qword [0x140132058], rax
mov qword [0x140136ce0], rax
mov byte [0x140137fc8], 0
xor r8d, r8d
lea edx, [r8 - 2]
mov rcx, rsi
call fcn.140029f80
int3