Function at 0x1400ac9f8
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, 0x468
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov r13, rcx
lea rcx, [rax - 0x3b0]
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
call fcn.14005fa18
mov rdx, qword [rsp + 0x4b8]
xor r12d, r12d
mov qword [rsp + 0x100], r13
mov qword [rsp + 0x108], r12
movzx eax, word [rdx]
mov word [rsp + 0x5a], r12w
mov bpl, 0x2c
lea ecx, [r12 + 0x20]
lea r8d, [r12 + 9]
lea r9d, [r12 + 0x3a]
cmp ax, r12w
je 0x1400acacf
lea r13d, [r12 + 0x2a]
cmp r13w, ax
je 0x1400acac7
cmp r8w, ax
ja 0x1400aca95
cmp ax, 0xd
jbe 0x1400acac7
cmp cx, ax
je 0x1400acac7
mov ecx, 0x3b
cmp cx, ax
je 0x1400acaaa
cmp r9w, ax
jne 0x1400acaad
mov bpl, byte [rdx]
add rdx, 2
mov ecx, 0x20
mov qword [rsp + 0x4b8], rdx
mov ax, word [rdx]
cmp ax, r12w
jne 0x1400aca83
mov r13, qword [rsp + 0x4b0]
lea rcx, [rsp + 0x110]
call fcn.14005fedc
lea rcx, [rsp + 0x4b8]
call fcn.140057738
lea rax, [rsp + 0x110]
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x170], rax
mov rax, 0xfffffffffffffff8
mov qword [rsp + 0x148], r12
mov qword [rsp + 0x150], r12
mov qword [rsp + 0x158], r12
mov qword [rsp + 0x160], r12
mov qword [rsp + 0x168], r12
mov dword [rsp + 0x60], r12d
mov r14d, r12d
mov ebx, r12d
mov edi, r12d
mov dword [rsp + 0xa8], r12d
mov dword [rsp + 0xa4], r12d
mov dword [rsp + 0xa0], r12d
mov dword [rsp + 0xb0], r12d
mov esi, r12d
mov dword [rsp + 0x80], r12d
mov r15b, r12b
mov dword [rsp + 0xc8], 2
mov dword [rsp + 0x70], eax
lea r12d, [rax + 9]
mov dword [rsp + 0x50], ebx
xor r8d, r8d
mov rax, qword [rsp + 0x4b8]
mov edx, 0x2d
lea ecx, [rdx - 3]
cmp cx, word [rax]
je 0x1400acbac
lea ecx, [rdx + 2]
cmp cx, word [rax]
je 0x1400acbac
cmp dx, word [rax]
jne 0x1400ad053
cmp dx, word [rax]
jne 0x1400acbe7
cmp dx, word [rax + 2]
jne 0x1400acbe7
movzx ecx, word [rax + 4]
mov edx, 9
cmp dx, cx
ja 0x1400acbcf
cmp cx, 0xd
jbe 0x1400ad149
mov edx, 0x20
cmp dx, cx
je 0x1400ad149
cmp cx, r8w
je 0x1400ad149
lea rdx, [rsp + 0x4b8]
lea rcx, [0x14011a09c]
mov r8d, 2
call fcn.140062424
xor ecx, ecx
cmp al, cl
je 0x1400acc14
and r14d, 0xfffffffe
or r14d, 6
jmp 0x1400acb83
mov r11, qword [rsp + 0x4b8]
lea rcx, [0x14011a098]
mov r8d, 3
lea rdx, [r11 + 2]
call fcn.140058db8
xor ecx, ecx
cmp al, cl
je 0x1400acc42
add r11, 8
lea r14d, [rcx + 6]
jmp 0x1400acc66
lea rdx, [r11 + 2]
lea rcx, str.delims:
mov r8d, 7
call fcn.140058db8
xor ebx, ebx
cmp al, bl
je 0x1400acce5
add r11, 0x10
mov eax, 0xa
lea rcx, [rsp + 0x4b8]
mov rdx, r13
mov qword [rsp + 0x4b8], r11
or r14d, eax
call fcn.14009d144
mov rbx, qword [rsp + 0x4b8]
movzx eax, word [rbx]
mov word [rsp + 0x5a], ax
xor r8d, r8d
movzx eax, word [rbx]
cmp ax, r8w
je 0x1400acccf
mov ecx, 0x20
lea edx, [rcx - 0x17]
cmp dx, ax
ja 0x1400accb5
cmp ax, 0xd
jbe 0x1400acccf
cmp cx, ax
je 0x1400acccf
add rbx, 2
mov qword [rsp + 0x4b8], rbx
mov ax, word [rbx]
cmp ax, r8w
jne 0x1400accaa
lea rcx, [rsp + 0x4b8]
call fcn.140057738
mov ebx, dword [rsp + 0x50]
jmp 0x1400acb86
lea rdx, [rsp + 0x4b8]
lea rcx, [0x14011239c]
or r8d, 0xffffffff
call fcn.1400623c0
cmp al, bl
jne 0x1400ad139
lea rdx, [rsp + 0x4b8]
lea rcx, [0x14010eb9c]
or r8d, 0xffffffff
call fcn.1400623c0
cmp al, bl
jne 0x1400ad139
lea rdx, [rsp + 0x4b8]
lea rcx, [0x140118234]
mov r8d, r12d
call fcn.140062424
cmp al, bl
jne 0x1400ad133
lea rdx, [rsp + 0x4b8]
lea rcx, [0x140119800]
mov r8d, 2
call fcn.1400623c0
cmp al, bl
jne 0x1400ad133
lea rdx, [rsp + 0x4b8]
lea rcx, [0x14011a088]
mov r8d, r12d
call fcn.140062424
cmp al, bl
je 0x1400acd99
mov ecx, r14d
and ecx, 0xfffffffd
or ecx, 0x11
mov dword [rsp + 0x80], ecx
mov r14d, ecx
jmp 0x1400ad140
lea rdx, [rsp + 0x4b8]
lea rcx, [0x14011a084]
mov r8d, 3
call fcn.1400623c0
cmp al, bl
je 0x1400acdbf
mov esi, r12d
jmp 0x1400ad140
lea rdx, [rsp + 0x4b8]
lea rcx, [0x14011249c]
mov r8d, 3
call fcn.1400623c0
cmp al, bl
je 0x1400acdea
mov dword [rsp + 0xa8], r12d
jmp 0x1400ad140
lea rdx, [rsp + 0x4b8]
lea rcx, [0x14011a080]
mov r8d, 3
call fcn.1400623c0
cmp al, bl
je 0x1400ace15
mov dword [rsp + 0xa0], r12d
jmp 0x1400ad140
lea rdx, [rsp + 0x4b8]
lea rcx, str.qu
mov r8d, 4
call fcn.1400623c0
cmp al, bl
je 0x1400ace43
mov dword [rsp + 0xa0], 2
jmp 0x1400ad140
lea rdx, [rsp + 0x4b8]
lea rcx, str.off
mov r8d, 4
call fcn.1400623c0
cmp al, bl
je 0x1400ace6e
mov dword [rsp + 0xb0], r12d
jmp 0x1400ad140
lea rdx, [rsp + 0x4b8]
lea rcx, [0x14011a06c]
mov r8d, 2
call fcn.1400623c0
cmp al, bl
je 0x1400ace98
mov ebx, dword [rsp + 0x50]
or ebx, 0x10
jmp 0x1400acb7f
mov r11, qword [rsp + 0x4b8]
lea rcx, [0x14011a068]
mov r8d, 3
mov rdx, r11
call fcn.140058db8
cmp al, bl
je 0x1400acee7
mov ebx, dword [rsp + 0x50]
add r11, 6
lea rdx, [rsp + 0x70]
or ebx, 0x10
lea rcx, [rsp + 0x4b8]
mov qword [rsp + 0x4b8], r11
mov dword [rsp + 0x50], ebx
call fcn.14006ee08
jmp 0x1400acb83
lea rdx, [rsp + 0x4b8]
lea rcx, str._O:N
mov r8d, 4
call fcn.1400623c0
cmp al, bl
je 0x1400acf0f
mov edi, 0x20
jmp 0x1400ad140
lea rdx, [rsp + 0x4b8]
lea rcx, str._O:_N
mov r8d, 5
call fcn.1400623c0
cmp al, bl
je 0x1400acf37
mov edi, 0x60
jmp 0x1400ad140
lea rdx, [rsp + 0x4b8]
lea rcx, str.cur
mov r8d, 4
call fcn.1400623c0
cmp al, bl
je 0x1400acf62
mov dword [rsp + 0xa4], r12d
jmp 0x1400ad140
mov rbx, qword [rsp + 0x4b8]
lea rcx, str._size:
mov r8d, 6
mov rdx, rbx
call fcn.140058db8
xor r8d, r8d
cmp al, r8b
je 0x1400ad041
lea rax, [rbx + 0xc]
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x68], rax
call fcn.140065ca8
mov r11, qword [rsp + 0x68]
xor eax, eax
cmp word [r11], ax
je 0x1400acc96
lea edx, [rax + 9]
cmp dx, word [r11]
ja 0x1400acfc7
cmp word [r11], 0xd
jbe 0x1400acff7
mov ecx, 0x20
cmp cx, word [r11]
je 0x1400acffc
add r11, 2
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x68], r11
call fcn.140065ca8
mov r11, qword [rsp + 0x68]
xor eax, eax
lea edx, [rax + 9]
mov ecx, 0x20
cmp word [r11], ax
je 0x1400acc96
cmp dx, word [r11]
ja 0x1400ad017
cmp word [r11], 0xd
jbe 0x1400acc96
cmp cx, word [r11]
je 0x1400acc96
add r11, 2
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x68], r11
call fcn.140065ca8
jmp 0x1400acc96
mov eax, 0x2a
cmp ax, word [rbx]
je 0x1400acc99
mov ebx, dword [rsp + 0x50]
mov al, bl
lea rcx, [rsp + 0xf0]
and al, 0x10
neg al
sbb eax, eax
or ebx, edi
and eax, esi
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x68], eax
cdqe
or qword [rsp + 0x168], rax
call fcn.14005fa18
lea rbx, [0x14010d568]
lea rcx, [rsp + 0xd8]
mov rdx, rbx
call fcn.14006ac98
lea rcx, [rsp + 0x78]
mov rdx, rbx
call fcn.14006ac98
lea rcx, [rsp + 0x98]
mov rdx, rbx
call fcn.14006ac98
mov rbx, qword [rsp + 0x4b8]
xor esi, esi
mov edi, 0x22
cmp dword [rsp + 0xa0], esi
je 0x1400ad22c
cmp r14d, r12d
jne 0x1400ad22c
lea rcx, [rsp + 0xb8]
call fcn.14005fa18
mov r8, qword [rsp + 0x4b8]
lea r13d, [rdi - 0x19]
movzx ecx, word [r8]
cmp di, cx
jne 0x1400ad167
add r8, 2
lea rcx, [rsp + 0x4b8]
mov edx, edi
mov qword [rsp + 0x4b8], r8
call fcn.1400e7958
mov rcx, qword [rsp + 0x4b8]
cmp word [rcx], si
je 0x1400ad1a7
add rcx, 2
mov qword [rsp + 0x4b8], rcx
jmp 0x1400ad1a7
or r14d, 5
jmp 0x1400ad140
and r14d, 0xfffffffd
or r14d, r12d
mov ebx, dword [rsp + 0x50]
jmp 0x1400acb83
add rax, 4
lea rcx, [rsp + 0x4b8]
mov qword [rsp + 0x4b8], rax
call fcn.140057738
jmp 0x1400ad053
cmp cx, si
je 0x1400ad1a7
movsx edx, bpl
mov edi, 0x20
movzx eax, cx
cmp edx, eax
je 0x1400ad1a2
cmp r13w, cx
ja 0x1400ad188
cmp cx, 0xd
jbe 0x1400ad1a2
cmp di, cx
je 0x1400ad1a2
add r8, 2
mov qword [rsp + 0x4b8], r8
mov cx, word [r8]
cmp cx, si
jne 0x1400ad175
mov edi, 0x22
lea rcx, [rsp + 0x4b8]
call fcn.140057738
mov r8, qword [rsp + 0x4b8]
cmp word [r8], si
je 0x1400ad1d2
movzx ecx, word [r8]
movsx eax, bpl
cmp eax, ecx
jne 0x1400ad0f0
sub r8, rbx
lea rcx, [rsp + 0xb8]
mov rdx, rbx
sar r8, 1
call fcn.14005fc80
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x4b0]
lea r8, [rsp + 0xf8]
xor r9d, r9d
mov byte [rsp + 0x20], r12b
call fcn.140075fb4
mov r11, qword [rsp + 0xf8]
lea rcx, [rsp + 0xb8]
mov qword [rsp + 0x108], r11
call fcn.140057768
jmp 0x1400ad248
lea rdx, [rsp + 0x4b8]
lea rcx, [rsp + 0xf8]
movsx r8d, bpl
mov r9b, r12b
call fcn.140079680
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x108]
xor r8d, r8d
call fcn.140063854
mov r11, qword [rsp + 0xf0]
mov ebx, 0x5c
mov qword [rsp + 0x90], r11
cmp r14d, esi
jne 0x1400ad2ff
movzx eax, word [r11]
cmp ax, si
je 0x1400ad2ff
mov ecx, 9
cmp cx, ax
ja 0x1400ad297
cmp ax, 0xd
jbe 0x1400ad2ff
mov ecx, 0x20
cmp cx, ax
je 0x1400ad2ff
mov ecx, 0x40
cmp cx, ax
jne 0x1400ad2b5
mov dword [rsp + 0xc8], r12d
jmp 0x1400ad2ee
mov ecx, 0x24
cmp cx, ax
jne 0x1400ad2cc
mov dword [rsp + 0xc8], 3
jmp 0x1400ad2ee
cmp bx, ax
jne 0x1400ad2df
cmp bx, word [r11 + 2]
je 0x1400ad2fc
or dword [rsp + 0x60], r12d
jmp 0x1400ad2ee
mov ecx, 0x21
cmp cx, ax
jne 0x1400ad2ff
or dword [rsp + 0x60], 2
add r11, 2
mov qword [rsp + 0x90], r11
jmp 0x1400ad27e
mov r15b, r12b
lea rcx, [rsp + 0x90]
call fcn.140057738
mov r13d, r14d
and r13d, r12d
jne 0x1400ad323
mov rcx, qword [rsp + 0x90]
call fcn.14001ae54
jmp 0x1400ad32b
mov rax, qword [rsp + 0x90]
cmp dword [rsp + 0x60], esi
jne 0x1400ad359
cmp r14d, esi
jne 0x1400ad35e
cmp r15b, sil
jne 0x1400ad35e
cmp bx, word [rax]
jne 0x1400ad346
cmp bx, word [rax + 2]
je 0x1400ad35e
lea rdx, [rsp + 0x78]
mov rcx, rax
call fcn.14001b2b0
jmp 0x1400ad36b
add rax, 2
cmp word [rax], bx
je 0x1400ad355
lea rcx, [rsp + 0x78]
mov rdx, rax
call fcn.14006ad18
mov rcx, qword [rsp + 0x4b8]
movsx edi, bpl
movzx eax, word [rcx]
cmp edi, eax
jne 0x1400ad3c1
add rcx, 2
lea rdx, [rsp + 0x4b8]
movsx r8d, bpl
mov qword [rsp + 0x4b8], rcx
lea rcx, [rsp + 0xf8]
mov r9b, r12b
call fcn.140079680
lea rdx, [rsp + 0xd8]
xor r8d, r8d
mov rcx, rax
call fcn.140063854
mov rcx, qword [rsp + 0x4b8]
cmp r14d, esi
jne 0x1400ad415
movzx eax, word [rcx]
cmp edi, eax
jne 0x1400ad415
add rcx, 2
movsx ebx, bpl
lea rdx, [rsp + 0x4b8]
mov qword [rsp + 0x4b8], rcx
lea rcx, [rsp + 0xf8]
mov r9b, r12b
movzx r8d, bx
call fcn.140079680
lea rdx, [rsp + 0x140]
movzx r8d, bx
mov rcx, rax
call fcn.140063b2c
mov rcx, qword [rsp + 0x4b8]
mov rax, qword [rsp + 0x140]
mov rdx, 0xfffffffffffffff8
cmp rax, rsi
cmovle rax, rdx
mov qword [rsp + 0x140], rax
movzx eax, word [rcx]
cmp eax, edi
jne 0x1400ad9d7
add rcx, 2
mov qword [rsp + 0x4b8], rcx
lea rcx, [rsp + 0x4b8]
call fcn.140057738
mov rdx, qword [rsp + 0x4b8]
lea rcx, [rsp + 0x98]
call fcn.14006adb0
mov rsi, qword [rsp + 0x98]
mov eax, 0x2a
xor ebp, ebp
cmp word [rsi], ax
jne 0x1400ad489
mov bl, r12b
cmp word [rsi + 2], bp
je 0x1400ad48c
mov bl, bpl
lea rcx, [rsp + 0x128]
mov byte [rsp + 0x58], bl
call fcn.14005fa18
mov rdi, qword [rsp + 0xd8]
mov qword [rsp + 0x130], rbp
mov qword [rsp + 0x138], rbp
cmp bl, bpl
jne 0x1400ad4ca
lea rcx, [rsp + 0x128]
mov rdx, rdi
call fcn.14006adb0
mov rdx, qword [rsp + 0x4c8]
mov qword [rsp + 0xe8], rbp
cmp rdx, rbp
je 0x1400ad4e4
mov r15, qword [rdx]
jmp 0x1400ad4e7
mov r15, rbp
mov qword [rsp + 0xd0], r15
cmp word [rsi], bp
jne 0x1400ad519
cmp r15, rbp
je 0x1400ad519
mov rcx, qword [rsp + 0x4b0]
movzx eax, word [r15]
cmp word [rcx + 0x96], ax
jne 0x1400ad519
xor r9d, r9d
xor r8d, r8d
call fcn.14005e630
lea rcx, [rsp + 0xb8]
mov edx, 0x32a
call fcn.14005fa8c
mov rbx, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x4b0]
xor r11d, r11d
lea rax, [rbx + 4]
mov qword [rsp + 0xc0], rax
mov eax, 0x8b
mov qword [rsp + 0x88], r11
and word [r10 + 0xc8], ax
mov rbp, r11
mov dword [rsp + 0x54], r11d
mov dword [rsp + 0x74], r11d
lea ecx, [rax + 0x75]
cmp word [rsi], r11w
jne 0x1400ad58b
cmp r15, r11
je 0x1400ad58b
movzx eax, word [r15]
mov r15d, ecx
cmp word [r10 + 0x96], ax
je 0x1400ad58e
mov r15d, r11d
cmp word [rdi], r11w
je 0x1400ad5ac
mov rax, qword [rsp + 0x98]
cmp word [rax], r11w
jne 0x1400ad5ac
mov dword [rsp + 0x64], r12d
cmp r15d, r11d
je 0x1400ad5b1
mov dword [rsp + 0x64], r11d
mov rcx, qword [rsp + 0x78]
mov r12d, r14d
mov qword [rsp + 0x90], r11
and r12d, 4
mov rsi, rcx
mov qword [rsp + 0x4b8], rcx
je 0x1400ad679
lea rcx, [0x14012e0b8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x4b0]
xor esi, esi
or r9d, 0xffffffff
xor r8d, r8d
mov qword [rsp + 0x20], rsi
call fcn.140017c8c
cmp rax, rsi
jne 0x1400ad61f
lea rcx, [0x14012e0b8]
lea ebx, [rsi + 2]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, esi
jmp 0x1400ae1a6
mov r8, qword [rax + 0x18]
mov rdx, qword [rax + 8]
movabs rcx, 0x1fffffffffffffff
shr r8, 1
and r8, rcx
lea rcx, [rsp + 0x90]
call fcn.14005fc80
mov r11, qword [rsp + 0x90]
lea rcx, [0x14012e0b8]
mov qword [rsp + 0x4b8], r11
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rsi, qword [rsp + 0x4b8]
mov rcx, qword [rsp + 0x78]
mov r10, qword [rsp + 0x4b0]
xor r11d, r11d
movsxd rax, r15d
mov qword [rsp + 0xe0], rax
test r14b, 2
je 0x1400ad838
movzx eax, word [rsi]
mov qword [rsp + 0xc0], r11
cmp ax, r11w
je 0x1400ad81e
mov rbp, qword [rsp + 0x4d0]
mov r12, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xd0]
mov r15w, word [rsp + 0x5a]
mov r13d, 0xfeff
test byte [r10 + 0xc8], 0xef
jne 0x1400ad81e
mov r9, rsi
cmp r15w, r11w
je 0x1400ad6f9
lea rcx, [rsp + 0x4b8]
movzx edx, r15w
call fcn.1400e7958
mov rsi, qword [rsp + 0x4b8]
jmp 0x1400ad724
cmp ax, r11w
je 0x1400ad724
mov ecx, 0xa
cmp ax, 0xd
je 0x1400ad724
cmp ax, cx
je 0x1400ad724
add rsi, 2
mov qword [rsp + 0x4b8], rsi
mov ax, word [rsi]
cmp ax, r11w
jne 0x1400ad704
movzx ebx, word [rsi]
mov r8, r9
mov rdx, rdi
mov rcx, r10
mov word [rsi], r11w
call fcn.14005ee18
mov rsi, qword [rsp + 0x4b8]
xor r11d, r11d
cmp r15w, r11w
jne 0x1400ad760
cmp bx, 0xd
jne 0x1400ad760
lea eax, [r11 + 0xa]
cmp ax, word [rsi + 2]
jne 0x1400ad766
add rsi, 4
jmp 0x1400ad76a
cmp bx, r11w
je 0x1400ad772
add rsi, 2
mov qword [rsp + 0x4b8], rsi
inc dword [rsp + 0x54]
cmp r12, r11
je 0x1400ad7b5
mov rdx, qword [rsp + 0x4c0]
mov rcx, qword [rsp + 0x4b0]
lea rax, [r14 + 2]
mov qword [rsp + 0xe8], rax
lea rax, [0x14010d568]
lea r8, [rsp + 0xe8]
xor r9d, r9d
mov qword [rsp + 0x20], rax
call fcn.1400a5954
jmp 0x1400ad7e0
mov rdx, qword [rsp + 0x98]
cmp word [rdx], r11w
je 0x1400ad7eb
mov r8, qword [rsp + 0x4c0]
mov rcx, qword [rsp + 0x4b0]
xor r9d, r9d
mov qword [rsp + 0x20], rbp
call fcn.140049184
mov rsi, qword [rsp + 0x4b8]
xor r11d, r11d
mov r10, qword [rsp + 0x4b0]
mov ecx, 0x100
movzx eax, word [r10 + 0xc8]
test cx, ax
je 0x1400ad811
and ax, r13w
mov word [r10 + 0xc8], ax
mov ax, word [rsi]
cmp ax, r11w
jne 0x1400ad6c7
lea rcx, [rsp + 0xc0]
call fcn.140057768
mov ecx, dword [rsp + 0x54]
mov ebx, dword [rsp + 0x74]
jmp 0x1400ae1a6
cmp r13d, r11d
je 0x1400add1a
cmp r12d, r11d
je 0x1400ad85b
lea rcx, [rsp + 0x4b8]
call fcn.140057738
mov rsi, qword [rsp + 0x4b8]
xorpd xmm6, xmm6
movsxd rbx, dword [rsp + 0xa0]
mov r10d, dword [rsp + 0x80]
mov r9d, 1
lea r8d, [rbx - 1]
mov qword [rsp + 0xb0], r11
movapd xmm8, xmm6
movapd xmm9, xmm6
mov rbp, r11
mov qword [rsp + 0xc8], r11
mov r14, r11
mov dword [rsp + 0x70], r8d
mov r13, r9
mov qword [rsp + 0xa8], r9
mov byte [rsp + 0x5a], r11b
mov byte [rsp + 0x5d], r11b
mov byte [rsp + 0x5c], r11b
mov r12b, r11b
cmp r10d, r11d
je 0x1400ada56
lea r8, [rsp + 0x5a]
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x68], rsi
call fcn.140060a5c
lea rcx, [rsp + 0x68]
movapd xmm7, xmm0
call fcn.140057738
lea r8, [rsp + 0x5d]
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x68]
call fcn.140060a5c
lea rcx, [rsp + 0x68]
movapd xmm8, xmm0
call fcn.140057738
mov r13, qword [rsp + 0xa8]
lea rax, [r13 - 1]
lea r8, [rsp + 0x5c]
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0xa8], rax
call fcn.140060a5c
mov al, byte [rsp + 0x5c]
movapd xmm9, xmm0
test al, 2
jne 0x1400ad98f
or al, byte [rsp + 0x5d]
mov r9d, 1
or al, byte [rsp + 0x5a]
test r9b, al
setne r12b
add r12b, r9b
cmp r12b, r9b
jne 0x1400ad977
xor r11d, r11d
cmp r13, r11
mov eax, r11d
sete al
jmp 0x1400ad986
ucomisd xmm6, xmm8
jp 0x1400ad980
je 0x1400ad98f
xor r11d, r11d
mov eax, r11d
cmp eax, r11d
je 0x1400ada37
lea rcx, [rsp + 0xb0]
call fcn.140057768
lea rcx, [rsp + 0x90]
call fcn.140057768
lea rcx, [rsp + 0x88]
call fcn.140057768
lea rcx, [rsp + 0xb8]
call fcn.140057768
lea rcx, [rsp + 0x128]
call fcn.140057768
mov r12, 0xffffffff80070057
lea rcx, [rsp + 0x98]
call fcn.140057768
lea rcx, [rsp + 0x78]
call fcn.140057768
lea rcx, [rsp + 0xd8]
call fcn.140057768
lea rcx, [rsp + 0xf0]
call fcn.140057768
lea rcx, [rsp + 0x110]
call fcn.140077db0
lea rcx, [rsp + 0x110]
call fcn.140057768
lea rcx, [rsp + 0xf8]
call fcn.140057768
mov rax, r12
jmp 0x1400ae27c
mov rbp, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xa8]
mov r8d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x80]
jmp 0x1400ada5f
movsd xmm7, qword [rsp + 0x4b8]
movzx eax, word [rsi]
mov r15, rbx
cmp ax, r11w
je 0x1400add0d
mov ebx, 0xfeff
mov rcx, qword [rsp + 0x4b0]
test byte [rcx + 0xc8], 0xef
jne 0x1400add0d
mov rdx, rsi
mov ecx, r11d
cmp r10d, r11d
je 0x1400adb5c
cmp r12b, r9b
jne 0x1400adac3
cmp rbp, r14
jg 0x1400add0d
mov rsi, qword [rsp + 0x4b0]
mov r8, rdi
mov edx, ebp
mov rcx, rsi
call fcn.140062c80
add rbp, r13
jmp 0x1400adc46
comisd xmm7, xmm9
ja 0x1400add0d
lea r8, [0x140117ad8]
lea rcx, [rsp + 0x180]
movapd xmm1, xmm7
call fcn.1400d93b0
lea rcx, [rsp + 0x180]
mov edx, 0x2e
call qword [sym.imp.SHLWAPI.dll_StrChrW]
xor esi, esi
mov rbx, rax
cmp rax, rsi
je 0x1400adb32
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
lea rax, [rbx + rcx*2 - 2]
lea ecx, [rsi + 0x30]
jmp 0x1400adb20
mov word [rax], si
sub rax, 2
cmp cx, word [rax]
je 0x1400adb19
mov ecx, 0x2e
cmp cx, word [rax]
jne 0x1400adb32
mov word [rax], si
mov rsi, qword [rsp + 0x4b0]
lea r8, [rsp + 0x180]
mov rdx, rdi
mov rcx, rsi
call fcn.14005ee18
mov ebx, 0xfeff
addsd xmm7, xmm8
jmp 0x1400adc46
cmp r15, r11
je 0x1400adbc8
mov r9d, 0x22
cmp r9w, ax
jne 0x1400adbc8
movsxd rax, r8d
lea rdx, [rsi + rax*2]
add rsi, 2
mov qword [rsp + 0x4b8], rsi
movzx eax, word [rsi]
cmp ax, r11w
je 0x1400adbff
cmp r9w, ax
jne 0x1400adb74
movzx eax, word [rsi + 2]
cmp ax, r11w
je 0x1400adbb7
mov r10d, 9
cmp r10w, ax
ja 0x1400adbab
cmp ax, 0xd
jbe 0x1400adbb7
mov r10d, 0x20
cmp r10w, ax
jne 0x1400adb74
add rsi, 2
mov ecx, r8d
mov qword [rsp + 0x4b8], rsi
jmp 0x1400adbff
cmp ax, r11w
je 0x1400adbff
mov r8d, 0x20
lea r9d, [r8 - 0x17]
cmp r9w, ax
ja 0x1400adbe4
cmp ax, 0xd
jbe 0x1400adbff
cmp r8w, ax
je 0x1400adbff
add rsi, 2
mov qword [rsp + 0x4b8], rsi
mov ax, word [rsi]
cmp ax, r11w
jne 0x1400adbd8
movsxd rax, ecx
lea rcx, [rsp + 0xb0]
add rax, rax
sub rsi, rax
sub rsi, rdx
sar rsi, 1
mov r8, rsi
call fcn.14005fc80
lea rcx, [rsp + 0x4b8]
call fcn.140057738
mov rsi, qword [rsp + 0x4b0]
mov r8, qword [rsp + 0xb0]
mov rcx, rsi
mov rdx, rdi
call fcn.14005ee18
mov r9d, 1
xor r11d, r11d
add dword [rsp + 0x54], r9d
cmp qword [rsp + 0xe0], r11
je 0x1400adc9b
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x4c0]
lea r8, [rsp + 0xe8]
add rax, 2
xor r9d, r9d
mov rcx, rsi
mov qword [rsp + 0xe8], rax
lea rax, [0x14010d568]
mov qword [rsp + 0x20], rax
call fcn.1400a5954
jmp 0x1400adcc9
mov rdx, qword [rsp + 0x98]
cmp word [rdx], r11w
je 0x1400adcd0
mov rax, qword [rsp + 0x4d0]
mov r8, qword [rsp + 0x4c0]
xor r9d, r9d
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140049184
xor r11d, r11d
lea r9d, [r11 + 1]
movzx eax, word [rsi + 0xc8]
mov ecx, 0x100
test cx, ax
je 0x1400adceb
and ax, bx
mov word [rsi + 0xc8], ax
mov rsi, qword [rsp + 0x4b8]
mov r8d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x80]
mov ax, word [rsi]
cmp ax, r11w
jne 0x1400ada74
lea rcx, [rsp + 0xb0]
jmp 0x1400ad826
call fcn.14001ae54
lea rcx, [rsp + 0x78]
mov rdx, rax
call fcn.14006ad18
mov r11, qword [rsp + 0x78]
xor r9d, r9d
cmp word [r11], r9w
je 0x1400ae1a2
mov r12d, dword [rsp + 0x60]
movzx r13d, r9w
mov r14b, r9b
cmp r12d, r9d
je 0x1400ade0e
cmp dword [rsp + 0xa4], r9d
je 0x1400add9c
lea rdx, [rsp + 0x210]
mov ecx, 0x104
mov word [rsp + 0x210], r9w
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov r13w, word [rsp + 0x210]
cmp r13w, 0x61
jb 0x1400add99
cmp r13w, 0x7a
ja 0x1400add99
mov eax, 0xffdf
and r13w, ax
xor r9d, r9d
lea rbp, [rbx + 4]
mov ecx, 0x324
mov word [rbp + 2], r9w
mov word [rbp], r9w
mov word [rbx + 2], r9w
mov rdx, rbp
mov word [rbx], r9w
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
xor r9d, r9d
and r12b, 2
mov rsi, rbp
mov rbx, rbp
cmp word [rbp], r9w
je 0x1400addf2
mov rcx, rbx
mov rsi, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
xor r9d, r9d
movsxd rcx, eax
lea rbx, [rbx + rcx*2 + 2]
cmp word [rbx], r9w
jne 0x1400addd5
cmp r12b, r9b
mov r12, qword [rsp + 0x4d0]
cmovne rbp, rsi
mov rsi, qword [rsp + 0xc0]
jmp 0x1400ae022
mov rax, qword [rsp + 0x88]
mov rsi, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x4d0]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x88], r11
cmp r15d, r9d
jne 0x1400ade53
mov rax, qword [rsp + 0x98]
cmp word [rax], r9w
jne 0x1400ade53
mov eax, dword [rsp + 0x64]
cmp eax, r9d
je 0x1400ae198
cmp dword [rsp + 0xa8], r9d
je 0x1400ade84
movzx ecx, word [r11]
cmp cx, r9w
je 0x1400ade84
mov eax, 0x3a
cmp word [r11 + 2], ax
jne 0x1400ade84
call fcn.1400f2bb0
xor r9d, r9d
cmp eax, r9d
je 0x1400ae017
lea rcx, [rsp + 0x80]
call fcn.14005fa18
mov rcx, qword [rsp + 0x88]
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x80]
xor r14d, r14d
mov qword [rsp + 0xc0], r14
call fcn.1400d6e38
mov r8, qword [rsp + 0x80]
cmp dword [rsp + 0xb0], r14d
je 0x1400adee1
mov rax, qword [rsp + 0xc0]
sub rax, r8
sar rax, 1
mov qword [rsp + 0x158], rax
cmp dword [rsp + 0x68], r14d
je 0x1400adf7d
mov ecx, 8
call fcn.1400f3bd8
cmp rax, r14
je 0x1400adf0d
lea rdx, [rsp + 0x80]
mov rcx, rax
call fcn.14006acf8
jmp 0x1400adf10
mov rax, r14
mov ebx, 1
lea r9, [rsp + 0xe0]
lea r8, [rsp + 0x120]
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x110]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 8
mov qword [rsp + 0xe0], rax
call fcn.14005fd68
cmp dword [rsp + 0x60], r14d
je 0x1400adf75
cmp word [rbp], r14w
je 0x1400adf75
lea rcx, [rsp + 0x80]
mov r14b, bl
call fcn.140057768
xor r9d, r9d
jmp 0x1400ae022
mov r8, qword [rsp + 0x80]
mov eax, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x4b0]
mov r9, qword [rsp + 0x4c0]
mov qword [rsp + 0x48], r12
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0x140]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x98]
mov ecx, r15d
or ecx, dword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xd0]
or ecx, dword [rsp + 0xc8]
lea rdx, [rsp + 0x128]
mov dword [rsp + 0x28], ecx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400abe8c
mov ecx, 0x100
add dword [rsp + 0x54], eax
movzx eax, word [rbx + 0xc8]
test cx, ax
je 0x1400ae007
mov ecx, 0xfeff
and ax, cx
mov word [rbx + 0xc8], ax
lea rcx, [rsp + 0x80]
call fcn.140057768
xor r9d, r9d
cmp dword [rsp + 0x60], r9d
je 0x1400ae0f6
movsxd rbx, dword [rsp + 0xa4]
cmp word [rbp], r9w
je 0x1400ae0f6
lea rax, [rsp + 0x140]
cmp qword [rax], r9
je 0x1400ae0f6
mov rax, qword [rsp + 0x4b0]
test byte [rax + 0xc8], 0xef
jne 0x1400ae0f6
lea rcx, [rsp + 0x88]
mov rdx, rbp
call fcn.14006adb0
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x88]
call fcn.14005fb54
xor r9d, r9d
cmp rbx, r9
jne 0x1400ae0d5
test byte [rsp + 0x60], 2
je 0x1400ae0a9
sub rbp, 2
cmp rbp, rsi
jbe 0x1400ae0be
lea rax, [rbp - 2]
cmp word [rax], r9w
je 0x1400ae0be
mov rbp, rax
cmp rax, rsi
ja 0x1400ae095
jmp 0x1400ae0be
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
xor r9d, r9d
cdqe
lea rbp, [rbp + rax*2]
mov r11, qword [rsp + 0x88]
cmp r13w, word [r11]
jne 0x1400ade33
jmp 0x1400ae02a
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0xa4], r9d
mov word [rax], r13w
mov r11, qword [rsp + 0x88]
jmp 0x1400ade33
cmp r14b, r9b
je 0x1400ad82b
mov rbx, qword [rsp + 0x98]
lea r8, [rsp + 0x118]
lea rdx, [rsp + 0x110]
mov r9d, 8
xor ecx, ecx
call fcn.14005fe78
or r15d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x4c0]
mov rcx, qword [rax]
mov rax, qword [rsp + 0x4d0]
or r15d, dword [rsp + 0xc8]
mov r8, qword [rcx]
mov rcx, qword [rsp + 0x4b0]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x70]
lea rdx, [rsp + 0x128]
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0x140]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
call fcn.1400abe8c
mov ecx, dword [rsp + 0x54]
add ecx, eax
jmp 0x1400ad82f
mov ecx, dword [rsp + 0x54]
mov ebx, dword [rsp + 0x74]
jmp 0x1400ae1aa
mov ecx, ebp
mov ebx, ecx
mov eax, dword [rsp + 0x64]
mov r9, qword [rsp + 0x4b0]
mov edx, 0x8b
and word [r9 + 0xc8], dx
xor edx, edx
cmp byte [rsp + 0x58], dl
je 0x1400ae1dc
mov r8, qword [rsp + 0x128]
mov rdx, rdi
mov rcx, r9
call fcn.14005ee18
jmp 0x1400ae1ed
cmp eax, edx
je 0x1400ae1ed
mov edx, ecx
mov r8, rdi
mov rcx, r9
call fcn.140062c80
lea rcx, [rsp + 0x90]
call fcn.140057768
lea rcx, [rsp + 0x88]
call fcn.140057768
lea rcx, [rsp + 0xb8]
call fcn.140057768
lea rcx, [rsp + 0x128]
call fcn.140057768
lea rcx, [rsp + 0x98]
call fcn.140057768
lea rcx, [rsp + 0x78]
call fcn.140057768
lea rcx, [rsp + 0xd8]
call fcn.140057768
lea rcx, [rsp + 0xf0]
call fcn.140057768
lea rcx, [rsp + 0x110]
call fcn.140077db0
lea rcx, [rsp + 0x110]
call fcn.140057768
lea rcx, [rsp + 0xf8]
call fcn.140057768
movsxd rax, ebx
lea r11, [rsp + 0x468]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret