Function at 0x140096514
Capabilities:
Get common file path
Get disk information

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x368
mov r14, rcx
lea rcx, [rax - 0x2c0]
mov r12, r9
call fcn.140057154
xor r11d, r11d
lea rcx, [rsp + 0x3b8]
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xf8], r11
mov word [rsp + 0x78], r11w
call fcn.14004f534
lea rax, [r11 - 8]
mov ebx, r11d
mov qword [rsp + 0x108], r11
mov qword [rsp + 0x110], r11
mov qword [rsp + 0x118], r11
mov dword [rsp + 0xa0], eax
mov qword [rsp + 0x120], r11
mov qword [rsp + 0x128], r11
mov dword [rsp + 0xb0], 2
mov r13d, r11d
mov dword [rsp + 0x6c], r11d
mov r15d, r11d
mov dword [rsp + 0x74], r11d
mov dword [rsp + 0x50], ebx
mov edi, r11d
mov dword [rsp + 0xc4], r11d
mov dword [rsp + 0x88], r11d
mov ebp, r11d
mov dword [rsp + 0xb8], r11d
mov dword [rsp + 0xc0], r11d
mov sil, r11b
lea r9d, [r11 + 9]
mov r8d, 0x20
mov rax, qword [rsp + 0x3b8]
mov ecx, 0x2a
lea edx, [rcx + 3]
cmp cx, word [rax]
je 0x140096620
lea ecx, [rdx + 2]
cmp cx, word [rax]
je 0x140096620
cmp dx, word [rax]
jne 0x140096ac8
cmp dx, word [rax]
jne 0x140096653
cmp dx, word [rax + 2]
jne 0x140096653
movzx ecx, word [rax + 4]
cmp r9w, cx
ja 0x14009663f
cmp cx, 0xd
jbe 0x140096aa9
cmp r8w, cx
je 0x140096aa9
cmp cx, r11w
je 0x140096aa9
lea rdx, [rsp + 0x3b8]
lea rcx, [0x1400f9a4c]
mov r8d, 2
call fcn.140059990
xor r11d, r11d
cmp al, r11b
je 0x140096687
and r15d, 0xfffffffe
or r15d, 6
mov dword [rsp + 0x74], r15d
jmp 0x140096a98
mov r11, qword [rsp + 0x3b8]
lea rcx, [0x1400f9a48]
mov r8d, 3
lea rdx, [r11 + 2]
call fcn.140050a6c
test al, al
je 0x1400966b5
add r11, 8
mov r15d, 6
jmp 0x1400966d3
lea rdx, [r11 + 2]
lea rcx, str.delims:
mov r8d, 7
call fcn.140050a6c
test al, al
je 0x14009670a
add r11, 0x10
mov eax, 0xa
lea rcx, [rsp + 0x3b8]
mov qword [rsp + 0x3b8], r11
or r15d, eax
mov dword [rsp + 0x74], r15d
call fcn.140054b44
mov rbx, qword [rsp + 0x3b8]
movzx eax, word [rbx]
mov word [rsp + 0x78], ax
jmp 0x140096a31
or ebx, 0xffffffff
lea rdx, [rsp + 0x3b8]
lea rcx, [0x1400f4384]
mov r8d, ebx
call fcn.14005992c
xor r11d, r11d
cmp al, r11b
jne 0x140096a87
lea rdx, [rsp + 0x3b8]
lea rcx, [0x1400ef7a8]
mov r8d, ebx
call fcn.14005992c
xor r11d, r11d
cmp al, r11b
jne 0x140096a87
lea r8d, [rbx + 2]
lea rdx, [rsp + 0x3b8]
lea rcx, [0x1400f9a38]
call fcn.140059990
xor r11d, r11d
cmp al, r11b
jne 0x140096a81
lea r8d, [rbx + 3]
lea rdx, [rsp + 0x3b8]
lea rcx, [0x1400f9270]
call fcn.14005992c
xor r11d, r11d
cmp al, r11b
jne 0x140096a81
lea ebx, [r11 + 3]
lea rdx, [rsp + 0x3b8]
lea rcx, [0x1400f3444]
mov r8d, ebx
call fcn.14005992c
xor r11d, r11d
cmp al, r11b
je 0x1400967ce
mov dword [rsp + 0xc4], 1
jmp 0x140096a94
lea rdx, [rsp + 0x3b8]
lea rcx, [0x1400f9a34]
mov r8d, ebx
call fcn.14005992c
xor r11d, r11d
cmp al, r11b
je 0x1400967f3
lea ebp, [r11 + 1]
jmp 0x140096819
lea rdx, [rsp + 0x3b8]
lea rcx, str.qu
mov r8d, 4
call fcn.14005992c
xor r11d, r11d
cmp al, r11b
je 0x140096825
lea ebp, [r11 + 2]
mov dword [rsp + 0xb8], ebp
jmp 0x140096a94
lea rdx, [rsp + 0x3b8]
lea rcx, str.off
mov r8d, 4
call fcn.14005992c
xor r11d, r11d
cmp al, r11b
je 0x140096857
mov dword [rsp + 0xc0], 1
jmp 0x140096a94
lea rdx, [rsp + 0x3b8]
lea rcx, [0x1400f9a20]
mov r8d, 2
call fcn.14005992c
xor r11d, r11d
cmp al, r11b
je 0x140096889
mov ebx, dword [rsp + 0x50]
or ebx, 0x10
mov dword [rsp + 0x50], ebx
jmp 0x140096a98
mov r11, qword [rsp + 0x3b8]
lea rcx, [0x1400f9a1c]
mov r8d, ebx
mov rdx, r11
call fcn.140050a6c
test al, al
je 0x1400968db
mov ebx, dword [rsp + 0x50]
add r11, 6
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x3b8]
or ebx, 0x10
mov qword [rsp + 0x3b8], r11
mov dword [rsp + 0x50], ebx
call fcn.14006556c
xor r11d, r11d
jmp 0x140096a98
lea rdx, [rsp + 0x3b8]
lea rcx, str._O:N
mov r8d, 4
call fcn.14005992c
xor r11d, r11d
cmp al, r11b
je 0x14009690d
mov ebx, dword [rsp + 0x50]
lea r8d, [r11 + 0x20]
mov edi, r8d
jmp 0x140096a9e
lea rdx, [rsp + 0x3b8]
lea rcx, str._O:_N
mov r8d, 5
call fcn.14005992c
xor r11d, r11d
cmp al, r11b
je 0x140096938
lea edi, [r11 + 0x60]
jmp 0x140096a94
lea rdx, [rsp + 0x3b8]
lea rcx, str.cur
mov r8d, 4
call fcn.14005992c
xor r11d, r11d
cmp al, r11b
je 0x14009696a
mov dword [rsp + 0x88], 1
jmp 0x140096a94
mov rbx, qword [rsp + 0x3b8]
lea rcx, str._size:
mov r8d, 6
mov rdx, rbx
call fcn.140050a6c
cmp al, r11b
je 0x140096ac4
lea rax, [rbx + 0xc]
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x60], rax
call fcn.14005cdc4
mov r11, qword [rsp + 0x60]
xor eax, eax
cmp word [r11], ax
je 0x140096a31
lea edx, [rax + 9]
cmp dx, word [r11]
ja 0x1400969c8
cmp word [r11], 0xd
jbe 0x1400969f8
mov ecx, 0x20
cmp cx, word [r11]
je 0x1400969fd
add r11, 2
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x60], r11
call fcn.14005cdc4
mov r11, qword [rsp + 0x60]
xor eax, eax
lea edx, [rax + 9]
mov ecx, 0x20
cmp word [r11], ax
je 0x140096a31
cmp dx, word [r11]
ja 0x140096a10
cmp word [r11], 0xd
jbe 0x140096a31
cmp cx, word [r11]
je 0x140096a31
add r11, 2
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x60], r11
call fcn.14005cdc4
movzx eax, word [rbx]
xor r11d, r11d
lea r9d, [r11 + 9]
cmp ax, r11w
je 0x140096a6b
lea ecx, [r11 + 0x20]
cmp r9w, ax
ja 0x140096a51
cmp ax, 0xd
jbe 0x140096a6b
cmp cx, ax
je 0x140096a6b
add rbx, 2
mov qword [rsp + 0x3b8], rbx
mov ax, word [rbx]
cmp ax, r11w
jne 0x140096a45
lea rcx, [rsp + 0x3b8]
call fcn.14004f534
mov ebx, dword [rsp + 0x50]
jmp 0x1400965f4
or r15d, 5
jmp 0x140096a8f
and r15d, 0xfffffffd
or r15d, 1
mov dword [rsp + 0x74], r15d
mov ebx, dword [rsp + 0x50]
mov r8d, 0x20
mov r9d, 9
jmp 0x1400965fa
add rax, 4
lea rcx, [rsp + 0x3b8]
mov qword [rsp + 0x3b8], rax
call fcn.14004f534
jmp 0x140096ac8
mov ebx, dword [rsp + 0x50]
lea rcx, [rsp + 0xd8]
or ebx, edi
mov dword [rsp + 0x50], ebx
call fcn.140057154
lea rbx, [0x1400ee4c4]
lea rcx, [rsp + 0xc8]
mov rdx, rbx
call fcn.14006160c
lea rcx, [rsp + 0x80]
mov rdx, rbx
call fcn.14006160c
lea rcx, [rsp + 0x90]
mov rdx, rbx
call fcn.14006160c
mov rbx, qword [rsp + 0x3b8]
xor eax, eax
cmp ebp, eax
je 0x140096c47
cmp r15d, 1
jne 0x140096c47
lea rcx, [rsp + 0xa8]
call fcn.140057154
mov r8, qword [rsp + 0x3b8]
lea edi, [r15 + 0x2b]
xor ebp, ebp
lea r12d, [r15 + 0x21]
movzx eax, word [r8]
cmp r12w, ax
jne 0x140096b8e
add r8, 2
lea rcx, [rsp + 0x3b8]
mov edx, r12d
mov qword [rsp + 0x3b8], r8
call fcn.140045808
mov rcx, qword [rsp + 0x3b8]
cmp word [rcx], bp
je 0x140096bc5
add rcx, 2
mov qword [rsp + 0x3b8], rcx
jmp 0x140096bc5
cmp ax, bp
je 0x140096bc5
mov ecx, 0x20
lea edx, [rcx - 0x17]
cmp di, ax
je 0x140096bc5
cmp dx, ax
ja 0x140096bab
cmp ax, 0xd
jbe 0x140096bc5
cmp cx, ax
je 0x140096bc5
add r8, 2
mov qword [rsp + 0x3b8], r8
mov ax, word [r8]
cmp ax, bp
jne 0x140096b9b
lea rcx, [rsp + 0x3b8]
call fcn.14004f534
mov r8, qword [rsp + 0x3b8]
cmp word [r8], bp
je 0x140096bea
cmp di, word [r8]
jne 0x140096b4d
sub r8, rbx
lea rcx, [rsp + 0xa8]
mov rdx, rbx
sar r8, 1
call fcn.1400573bc
mov rdx, qword [rsp + 0xa8]
lea r8, [rsp + 0xe8]
xor r9d, r9d
mov rcx, r14
mov byte [rsp + 0x20], 1
call fcn.14006a8f4
mov r11, qword [rsp + 0xe8]
lea rcx, [rsp + 0xa8]
mov qword [rsp + 0xf8], r11
call fcn.14004f564
mov r12, qword [rsp + 0x3c8]
jmp 0x140096c69
mov edi, 0x2c
lea rdx, [rsp + 0x3b8]
lea rcx, [rsp + 0xe8]
mov r8d, edi
mov r9b, 1
call fcn.14006de04
xor ebp, ebp
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0xf8]
xor r8d, r8d
call fcn.14005aa6c
mov r11, qword [rsp + 0xd8]
mov ebx, 0x5c
mov qword [rsp + 0x60], r11
cmp r15d, ebp
jne 0x140096d23
movzx eax, word [r11]
cmp ax, bp
je 0x140096d23
mov ecx, 9
cmp cx, ax
ja 0x140096cb5
cmp ax, 0xd
jbe 0x140096d23
mov ecx, 0x20
cmp cx, ax
je 0x140096d23
mov ecx, 0x40
cmp cx, ax
jne 0x140096cd6
mov dword [rsp + 0xb0], 1
jmp 0x140096d12
mov ecx, 0x24
cmp cx, ax
jne 0x140096ced
mov dword [rsp + 0xb0], 3
jmp 0x140096d12
cmp bx, ax
jne 0x140096cff
cmp bx, word [r11 + 2]
je 0x140096d20
or r13d, 1
jmp 0x140096d0d
mov ecx, 0x21
cmp cx, ax
jne 0x140096d23
or r13d, 2
mov dword [rsp + 0x6c], r13d
add r11, 2
mov qword [rsp + 0x60], r11
jmp 0x140096c9c
mov sil, 1
lea rcx, [rsp + 0x60]
call fcn.14004f534
mov r13d, r15d
and r13d, 1
jne 0x140096d42
mov rcx, qword [rsp + 0x60]
call fcn.140018fa4
jmp 0x140096d47
mov rax, qword [rsp + 0x60]
cmp dword [rsp + 0x6c], ebp
jne 0x140096d78
cmp r15d, ebp
jne 0x140096d7d
cmp sil, bpl
jne 0x140096d7d
cmp bx, word [rax]
jne 0x140096d62
cmp bx, word [rax + 2]
je 0x140096d7d
lea rdx, [rsp + 0x80]
mov rcx, rax
call fcn.140019400
jmp 0x140096d8d
add rax, 2
cmp word [rax], bx
je 0x140096d74
lea rcx, [rsp + 0x80]
mov rdx, rax
call fcn.14006168c
mov rax, qword [rsp + 0x3b8]
cmp di, word [rax]
jne 0x140096ddc
add rax, 2
lea rdx, [rsp + 0x3b8]
lea rcx, [rsp + 0xe8]
mov r8d, edi
mov r9b, 1
mov qword [rsp + 0x3b8], rax
call fcn.14006de04
lea rdx, [rsp + 0xc8]
xor r8d, r8d
mov rcx, rax
call fcn.14005aa6c
mov rax, qword [rsp + 0x3b8]
xor esi, esi
cmp r15d, esi
jne 0x140096e2b
cmp di, word [rax]
jne 0x140096e2b
add rax, 2
lea rdx, [rsp + 0x3b8]
lea rcx, [rsp + 0xe8]
mov r8d, edi
mov r9b, 1
mov qword [rsp + 0x3b8], rax
call fcn.14006de04
lea rdx, [rsp + 0x108]
movzx r8d, di
mov rcx, rax
call fcn.14005ad44
mov rax, qword [rsp + 0x3b8]
mov rcx, qword [rsp + 0x108]
mov rdx, 0xfffffffffffffff8
cmp rcx, rsi
cmovle rcx, rdx
mov qword [rsp + 0x108], rcx
cmp word [rax], di
je 0x140096e9e
lea rcx, [rsp + 0x90]
call fcn.14004f564
lea rcx, [rsp + 0x80]
call fcn.14004f564
lea rcx, [rsp + 0xc8]
call fcn.14004f564
lea rcx, [rsp + 0xd8]
call fcn.14004f564
lea rcx, [rsp + 0xe8]
call fcn.14004f564
movabs rax, 1
jmp 0x14009785c
add rax, 2
lea rcx, [rsp + 0x3b8]
mov qword [rsp + 0x3b8], rax
call fcn.14004f534
mov rdx, qword [rsp + 0x3b8]
lea rcx, [rsp + 0x90]
call fcn.140061724
mov rbp, qword [rsp + 0x90]
mov eax, 0x2a
cmp word [rbp], ax
jne 0x140096ee7
mov bl, 1
cmp word [rbp + 2], si
je 0x140096eea
mov bl, sil
lea rcx, [rsp + 0x130]
mov byte [rsp + 0x54], bl
call fcn.140057154
mov rdi, qword [rsp + 0xc8]
mov qword [rsp + 0x138], rsi
mov qword [rsp + 0x140], rsi
cmp bl, sil
jne 0x140096f28
lea rcx, [rsp + 0x130]
mov rdx, rdi
call fcn.140061724
mov qword [rsp + 0xd0], rsi
cmp r12, rsi
je 0x140096f3b
mov r12, qword [r12]
jmp 0x140096f3e
mov r12, rsi
mov qword [rsp + 0xa8], r12
cmp word [rbp], si
jne 0x140096f76
cmp r12, rsi
je 0x140096f76
movzx eax, word [r12]
cmp word [r14 + 0x96], ax
jne 0x140096f76
mov rdx, qword [rsp + 0x3c8]
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.140055ff4
lea rcx, [rsp + 0x100]
mov edx, 0x32a
call fcn.1400571c8
mov r10, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x100]
xor r11d, r11d
mov eax, 0x8b
lea r14, [rbx + 4]
and word [r10 + 0xc8], ax
mov qword [rsp + 0x98], r11
mov dword [rsp + 0x70], r11d
mov dword [rsp + 0x68], r11d
lea ecx, [rax + 0x75]
cmp word [rbp], r11w
jne 0x140096fdf
cmp r12, r11
je 0x140096fdf
movzx eax, word [r12]
mov r12d, ecx
cmp word [r10 + 0x96], ax
je 0x140096fe2
mov r12d, r11d
mov dword [rsp + 0x60], r12d
cmp word [rdi], r11w
je 0x140097008
mov rax, qword [rsp + 0x90]
cmp word [rax], r11w
jne 0x140097008
mov dword [rsp + 0x58], 1
cmp r12d, r11d
je 0x14009700d
mov dword [rsp + 0x58], r11d
mov rcx, qword [rsp + 0x80]
mov ebp, r15d
mov qword [rsp + 0xe0], r11
and ebp, 4
mov r8, rcx
mov qword [rsp + 0x3b8], rcx
je 0x1400970c2
lea r15, [0x14010ce50]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x3b0]
or r9d, 0xffffffff
xor r8d, r8d
call fcn.14001b2ac
xor ecx, ecx
cmp rax, rcx
jne 0x14009707e
lea ebx, [rcx + 2]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [rsp + 0x58]
xor edx, edx
jmp 0x140097270
mov rdx, qword [rax]
lea rcx, [rsp + 0xe0]
call fcn.140061724
mov r11, qword [rsp + 0xe0]
mov rcx, r15
mov qword [rsp + 0x3b8], r11
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r8, qword [rsp + 0x3b8]
mov rcx, qword [rsp + 0x80]
mov r10, qword [rsp + 0x3b0]
xor r11d, r11d
test byte [rsp + 0x74], 2
movsxd r15, r12d
je 0x1400972a6
movzx eax, word [r8]
mov qword [rsp + 0xa0], r11
cmp ax, r11w
je 0x140097259
mov rsi, qword [rsp + 0x3d0]
mov r13, qword [rsp + 0xa8]
mov bp, word [rsp + 0x78]
mov r14, qword [rsp + 0x3c0]
mov r12d, 0xfeff
test byte [r10 + 0xc8], 0xef
jne 0x140097259
mov r9, r8
cmp bp, r11w
je 0x14009713a
lea rcx, [rsp + 0x3b8]
movzx edx, bp
call fcn.140045808
mov r8, qword [rsp + 0x3b8]
jmp 0x140097166
cmp ax, r11w
je 0x140097166
mov ecx, 0xa
cmp ax, 0xd
je 0x140097166
cmp ax, cx
je 0x140097166
add r8, 2
mov qword [rsp + 0x3b8], r8
mov ax, word [r8]
cmp ax, r11w
jne 0x140097145
movzx ebx, word [r8]
mov word [r8], r11w
mov rdx, rdi
mov r8, r9
mov rcx, r10
call fcn.140056790
mov r8, qword [rsp + 0x3b8]
xor r11d, r11d
cmp bp, r11w
jne 0x1400971a4
cmp bx, 0xd
jne 0x1400971a4
lea eax, [r11 + 0xa]
cmp ax, word [r8 + 2]
jne 0x1400971aa
add r8, 4
jmp 0x1400971ae
cmp bx, r11w
je 0x1400971b6
add r8, 2
mov qword [rsp + 0x3b8], r8
inc dword [rsp + 0x70]
cmp r15, r11
je 0x1400971f4
mov rcx, qword [rsp + 0x3b0]
lea rax, [r13 + 2]
lea r8, [rsp + 0xd0]
mov qword [rsp + 0xd0], rax
lea rax, [0x1400ee4c4]
xor r9d, r9d
mov rdx, r14
mov qword [rsp + 0x20], rax
call fcn.14008b3e8
jmp 0x14009721a
mov rdx, qword [rsp + 0x90]
cmp word [rdx], r11w
je 0x140097225
mov rcx, qword [rsp + 0x3b0]
xor r9d, r9d
mov r8, r14
mov qword [rsp + 0x20], rsi
call fcn.1400400e4
mov r8, qword [rsp + 0x3b8]
xor r11d, r11d
mov r10, qword [rsp + 0x3b0]
mov ecx, 0x100
movzx eax, word [r10 + 0xc8]
test cx, ax
je 0x14009724b
and ax, r12w
mov word [r10 + 0xc8], ax
mov ax, word [r8]
cmp ax, r11w
jne 0x140097109
lea rcx, [rsp + 0xa0]
call fcn.14004f564
mov eax, dword [rsp + 0x58]
xor edx, edx
mov ebx, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x3b0]
mov ecx, 0x8b
and word [rsi + 0xc8], cx
cmp byte [rsp + 0x54], dl
je 0x1400977d1
mov r8, qword [rsp + 0x130]
mov rdx, rdi
mov rcx, rsi
call fcn.140056790
jmp 0x1400977e4
cmp r13d, r11d
je 0x1400974ab
cmp ebp, r11d
je 0x1400972c9
lea rcx, [rsp + 0x3b8]
call fcn.14004f534
mov r8, qword [rsp + 0x3b8]
movsxd rcx, dword [rsp + 0xb8]
movzx eax, word [r8]
mov qword [rsp + 0xa0], r11
mov rbp, rcx
lea ebx, [rcx - 1]
cmp ax, r11w
je 0x140097259
mov rsi, qword [rsp + 0x3d0]
mov r13, qword [rsp + 0xa8]
mov r12d, 0xfeff
test byte [r10 + 0xc8], 0xef
jne 0x140097259
mov rdx, r8
mov ecx, r11d
cmp rbp, r11
je 0x140097384
mov r9d, 0x22
cmp r9w, ax
jne 0x140097384
movsxd rax, ebx
lea rdx, [r8 + rax*2]
add r8, 2
mov qword [rsp + 0x3b8], r8
movzx eax, word [r8]
cmp ax, r11w
je 0x1400973bc
cmp r9w, ax
jne 0x14009732f
movzx eax, word [r8 + 2]
cmp ax, r11w
je 0x140097374
mov r10d, 9
cmp r10w, ax
ja 0x140097368
cmp ax, 0xd
jbe 0x140097374
mov r10d, 0x20
cmp r10w, ax
jne 0x14009732f
add r8, 2
mov ecx, ebx
mov qword [rsp + 0x3b8], r8
jmp 0x1400973bc
cmp ax, r11w
je 0x1400973bc
mov r9d, 0x20
lea r10d, [r9 - 0x17]
cmp r10w, ax
ja 0x1400973a0
cmp ax, 0xd
jbe 0x1400973bc
cmp r9w, ax
je 0x1400973bc
add r8, 2
mov qword [rsp + 0x3b8], r8
mov ax, word [r8]
cmp ax, r11w
jne 0x140097394
movsxd rax, ecx
lea rcx, [rsp + 0xa0]
add rax, rax
sub r8, rax
sub r8, rdx
sar r8, 1
call fcn.1400573bc
lea rcx, [rsp + 0x3b8]
call fcn.14004f534
mov r14, qword [rsp + 0x3b0]
mov r8, qword [rsp + 0xa0]
mov rcx, r14
mov rdx, rdi
call fcn.140056790
inc dword [rsp + 0x70]
xor r11d, r11d
cmp r15, r11
je 0x140097441
mov rdx, qword [rsp + 0x3c0]
lea rax, [r13 + 2]
lea r8, [rsp + 0xd0]
mov qword [rsp + 0xd0], rax
lea rax, [0x1400ee4c4]
xor r9d, r9d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14008b3e8
jmp 0x140097467
mov rdx, qword [rsp + 0x90]
cmp word [rdx], r11w
je 0x14009746a
mov r8, qword [rsp + 0x3c0]
xor r9d, r9d
mov rcx, r14
mov qword [rsp + 0x20], rsi
call fcn.1400400e4
xor r11d, r11d
mov r10, qword [rsp + 0x3b0]
mov ecx, 0x100
movzx eax, word [r10 + 0xc8]
test cx, ax
je 0x140097490
and ax, r12w
mov word [r10 + 0xc8], ax
mov r8, qword [rsp + 0x3b8]
mov ax, word [r8]
cmp ax, r11w
jne 0x140097303
jmp 0x140097259
call fcn.140018fa4
lea rcx, [rsp + 0x80]
mov rdx, rax
call fcn.14006168c
mov r11, qword [rsp + 0x80]
xor edx, edx
cmp word [r11], dx
je 0x1400977c6
mov r15, qword [rsp + 0x3d0]
movzx r13d, dx
mov ebp, 0xfeff
cmp dword [rsp + 0x6c], edx
je 0x14009759e
cmp dword [rsp + 0x88], edx
je 0x140097535
mov word [rsp + 0x150], dx
lea rdx, [rsp + 0x150]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov r13w, word [rsp + 0x150]
cmp r13w, 0x61
jb 0x140097533
cmp r13w, 0x7a
ja 0x140097533
mov eax, 0xffdf
and r13w, ax
xor edx, edx
mov word [r14 + 2], dx
mov word [r14], dx
mov word [rbx + 2], dx
mov word [rbx], dx
mov ecx, 0x324
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
mov r12b, byte [rsp + 0x6c]
xor edx, edx
and r12b, 2
mov rbp, r14
mov rbx, r14
cmp word [r14], dx
je 0x140097585
mov rcx, rbx
mov rbp, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
xor edx, edx
movsxd rcx, eax
lea rbx, [rbx + rcx*2 + 2]
cmp word [rbx], dx
jne 0x14009756a
cmp r12b, dl
mov r12d, dword [rsp + 0x60]
mov rsi, r14
cmovne rsi, rbp
mov ebp, 0xfeff
jmp 0x1400976ed
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x98], r11
mov qword [rsp + 0x80], rax
cmp r12d, edx
jne 0x1400975d4
mov rax, qword [rsp + 0x90]
cmp word [rax], dx
jne 0x1400975d4
mov eax, dword [rsp + 0x58]
cmp eax, edx
je 0x14009726c
cmp dword [rsp + 0xc4], edx
je 0x1400975fd
movzx ecx, word [r11]
cmp cx, dx
je 0x1400975fd
cmp word [r11 + 2], 0x3a
jne 0x1400975fd
call fcn.1400d1488
xor edx, edx
cmp eax, edx
je 0x1400976e3
lea rcx, [rsp + 0x60]
call fcn.140057154
mov rcx, qword [rsp + 0x98]
lea r8, [rsp + 0xb8]
lea rdx, [rsp + 0x60]
xor ebx, ebx
mov qword [rsp + 0xb8], rbx
call fcn.1400bf26c
mov r8, qword [rsp + 0x60]
cmp dword [rsp + 0xc0], ebx
je 0x14009764f
mov rax, qword [rsp + 0xb8]
sub rax, r8
sar rax, 1
mov qword [rsp + 0x120], rax
mov eax, dword [rsp + 0xa0]
mov rbx, qword [rsp + 0x3b0]
mov r9, qword [rsp + 0x3c0]
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0x108]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x90]
mov ecx, r12d
or ecx, dword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xa8]
or ecx, dword [rsp + 0xb0]
lea rdx, [rsp + 0x130]
mov dword [rsp + 0x28], ecx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140095c28
mov ecx, 0x100
add dword [rsp + 0x70], eax
movzx eax, word [rbx + 0xc8]
test cx, ax
je 0x1400976d7
and ax, bp
mov word [rbx + 0xc8], ax
lea rcx, [rsp + 0x60]
call fcn.14004f564
xor edx, edx
cmp dword [rsp + 0x6c], edx
je 0x1400977bd
movsxd rbx, dword [rsp + 0x88]
cmp word [rsi], dx
je 0x1400977bd
lea rax, [rsp + 0x108]
cmp qword [rax], rdx
je 0x1400977bd
mov rax, qword [rsp + 0x3b0]
test byte [rax + 0xc8], 0xef
jne 0x1400977bd
lea rcx, [rsp + 0x98]
mov rdx, rsi
call fcn.140061724
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x98]
call fcn.140057290
xor edx, edx
cmp rbx, rdx
jne 0x14009779d
test byte [rsp + 0x6c], 2
je 0x140097773
sub rsi, 2
cmp rsi, r14
jbe 0x140097786
lea rax, [rsi - 2]
cmp word [rax], dx
je 0x140097786
mov rsi, rax
cmp rax, r14
ja 0x140097760
jmp 0x140097786
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
xor edx, edx
cdqe
lea rsi, [rsi + rax*2]
mov r11, qword [rsp + 0x98]
cmp r13w, word [r11]
jne 0x1400975b6
jmp 0x1400976f5
mov rax, qword [rsp + 0x98]
mov dword [rsp + 0x88], edx
mov word [rax], r13w
mov r11, qword [rsp + 0x98]
jmp 0x1400975b6
mov eax, dword [rsp + 0x58]
jmp 0x14009726c
mov eax, dword [rsp + 0x58]
mov ebx, edx
jmp 0x140097270
cmp eax, edx
je 0x1400977e4
mov edx, dword [rsp + 0x70]
mov r8, rdi
mov rcx, rsi
call fcn.14005a1d0
lea rcx, [rsp + 0xe0]
call fcn.14004f564
lea rcx, [rsp + 0x98]
call fcn.14004f564
lea rcx, [rsp + 0x100]
call fcn.14004f564
lea rcx, [rsp + 0x130]
call fcn.14004f564
lea rcx, [rsp + 0x90]
call fcn.14004f564
lea rcx, [rsp + 0x80]
call fcn.14004f564
lea rcx, [rsp + 0xc8]
call fcn.14004f564
lea rcx, [rsp + 0xd8]
call fcn.14004f564
lea rcx, [rsp + 0xe8]
call fcn.14004f564
movsxd rax, ebx
add rsp, 0x368
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret