Function at 0x1400ae3b0
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, 0x478
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.140061510
mov rdx, qword [rsp + 0x4c8]
xor r12d, r12d
mov qword [rsp + 0x110], r13
mov qword [rsp + 0x118], r12
movzx eax, word [rdx]
mov word [rsp + 0x5e], r12w
mov bpl, 0x2c
lea ecx, [r12 + 0x20]
lea r8d, [r12 + 9]
lea r9d, [r12 + 0x3a]
cmp ax, r12w
je 0x1400ae487
lea r13d, [r12 + 0x2a]
cmp r13w, ax
je 0x1400ae47f
cmp r8w, ax
ja 0x1400ae44d
cmp ax, 0xd
jbe 0x1400ae47f
cmp cx, ax
je 0x1400ae47f
mov ecx, 0x3b
cmp cx, ax
je 0x1400ae462
cmp r9w, ax
jne 0x1400ae465
mov bpl, byte [rdx]
add rdx, 2
mov ecx, 0x20
mov qword [rsp + 0x4c8], rdx
mov ax, word [rdx]
cmp ax, r12w
jne 0x1400ae43b
mov r13, qword [rsp + 0x4c0]
lea rcx, [rsp + 0x120]
call fcn.1400619d4
lea rcx, [rsp + 0x4c8]
call fcn.140058d58
lea rax, [rsp + 0x120]
mov qword [rsp + 0x150], r12
mov qword [rsp + 0x180], rax
mov rax, 0xfffffffffffffff8
mov qword [rsp + 0x158], r12
mov qword [rsp + 0x160], r12
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x170], r12
mov qword [rsp + 0x178], r12
mov dword [rsp + 0x64], r12d
mov r15d, r12d
mov ebx, r12d
mov edi, r12d
mov dword [rsp + 0xc8], r12d
mov dword [rsp + 0xa8], r12d
mov dword [rsp + 0xb8], r12d
mov dword [rsp + 0xd0], r12d
mov esi, r12d
mov dword [rsp + 0xa0], r12d
mov r14b, r12b
mov dword [rsp + 0xd8], 2
mov dword [rsp + 0x78], eax
lea r12d, [rax + 9]
mov dword [rsp + 0x50], ebx
mov rax, qword [rsp + 0x4c8]
mov edx, 0x2d
lea ecx, [rdx - 3]
cmp cx, word [rax]
je 0x1400ae561
lea ecx, [rdx + 2]
cmp cx, word [rax]
je 0x1400ae561
cmp dx, word [rax]
jne 0x1400ae9fe
cmp dx, word [rax]
jne 0x1400ae59d
cmp dx, word [rax + 2]
jne 0x1400ae59d
movzx ecx, word [rax + 4]
mov edx, 9
cmp dx, cx
ja 0x1400ae584
cmp cx, 0xd
jbe 0x1400aeaf7
mov edx, 0x20
cmp dx, cx
je 0x1400aeaf7
xor edx, edx
cmp cx, dx
je 0x1400aeaf7
lea rdx, [rsp + 0x4c8]
lea rcx, [0x14011e2e4]
mov r8d, 2
call fcn.140063fd0
xor ecx, ecx
cmp al, cl
je 0x1400ae5ca
and r15d, 0xfffffffe
or r15d, 6
jmp 0x1400ae53b
mov r11, qword [rsp + 0x4c8]
lea rcx, [0x14011e2e0]
mov r8d, 3
lea rdx, [r11 + 2]
call fcn.14005a400
xor ecx, ecx
cmp al, cl
je 0x1400ae5f8
add r11, 8
lea r15d, [rcx + 6]
jmp 0x1400ae618
lea rdx, [r11 + 2]
lea rcx, str.delims:
mov r8d, 7
call fcn.14005a400
xor ebx, ebx
cmp al, bl
je 0x1400ae692
add r11, 0x10
mov eax, 0xa
lea rcx, [rsp + 0x4c8]
mov rdx, r13
mov qword [rsp + 0x4c8], r11
or r15d, eax
call fcn.1400a0670
mov rbx, qword [rsp + 0x4c8]
movzx eax, word [rbx]
mov word [rsp + 0x5e], ax
xor ecx, ecx
movzx eax, word [rbx]
cmp ax, cx
je 0x1400ae680
mov edx, 0x20
lea r8d, [rdx - 0x17]
cmp r8w, ax
ja 0x1400ae667
cmp ax, 0xd
jbe 0x1400ae680
cmp dx, ax
je 0x1400ae680
add rbx, 2
mov qword [rsp + 0x4c8], rbx
mov ax, word [rbx]
cmp ax, cx
jne 0x1400ae65b
lea rcx, [rsp + 0x4c8]
call fcn.140058d58
jmp 0x1400aeaee
lea rdx, [rsp + 0x4c8]
lea rcx, [0x14011644c]
or r8d, 0xffffffff
call fcn.140063f6c
cmp al, bl
jne 0x1400aeae7
lea rdx, [rsp + 0x4c8]
lea rcx, [0x140112c1c]
or r8d, 0xffffffff
call fcn.140063f6c
cmp al, bl
jne 0x1400aeae7
lea rdx, [rsp + 0x4c8]
lea rcx, [0x14011c43c]
mov r8d, r12d
call fcn.140063fd0
cmp al, bl
jne 0x1400aeae1
lea rdx, [rsp + 0x4c8]
lea rcx, [0x14011da70]
mov r8d, 2
call fcn.140063f6c
cmp al, bl
jne 0x1400aeae1
lea rdx, [rsp + 0x4c8]
lea rcx, [0x14011e2d0]
mov r8d, r12d
call fcn.140063fd0
cmp al, bl
je 0x1400ae746
mov ecx, r15d
and ecx, 0xfffffffd
or ecx, 0x11
mov dword [rsp + 0xa0], ecx
mov r15d, ecx
jmp 0x1400aeaee
lea rdx, [rsp + 0x4c8]
lea rcx, [0x14011e2cc]
mov r8d, 3
call fcn.140063f6c
cmp al, bl
je 0x1400ae76c
mov esi, r12d
jmp 0x1400aeaee
lea rdx, [rsp + 0x4c8]
lea rcx, [0x14011654c]
mov r8d, 3
call fcn.140063f6c
cmp al, bl
je 0x1400ae797
mov dword [rsp + 0xc8], r12d
jmp 0x1400aeaee
lea rdx, [rsp + 0x4c8]
lea rcx, [0x14011e2c8]
mov r8d, 3
call fcn.140063f6c
cmp al, bl
je 0x1400ae7c2
mov dword [rsp + 0xb8], r12d
jmp 0x1400aeaee
lea rdx, [rsp + 0x4c8]
lea rcx, str.qu
mov r8d, 4
call fcn.140063f6c
cmp al, bl
je 0x1400ae7f0
mov dword [rsp + 0xb8], 2
jmp 0x1400aeaee
lea rdx, [rsp + 0x4c8]
lea rcx, str.off
mov r8d, 4
call fcn.140063f6c
cmp al, bl
je 0x1400ae81b
mov dword [rsp + 0xd0], r12d
jmp 0x1400aeaee
lea rdx, [rsp + 0x4c8]
lea rcx, [0x14011e2b4]
mov r8d, 2
call fcn.140063f6c
cmp al, bl
je 0x1400ae845
mov ebx, dword [rsp + 0x50]
or ebx, 0x10
jmp 0x1400ae537
mov r11, qword [rsp + 0x4c8]
lea rcx, [0x14011e2b0]
mov r8d, 3
mov rdx, r11
call fcn.14005a400
cmp al, bl
je 0x1400ae894
mov ebx, dword [rsp + 0x50]
add r11, 6
lea rdx, [rsp + 0x78]
or ebx, 0x10
lea rcx, [rsp + 0x4c8]
mov qword [rsp + 0x4c8], r11
mov dword [rsp + 0x50], ebx
call fcn.1400710e8
jmp 0x1400ae53b
lea rdx, [rsp + 0x4c8]
lea rcx, str._O:N
mov r8d, 4
call fcn.140063f6c
cmp al, bl
je 0x1400ae8bc
mov edi, 0x20
jmp 0x1400aeaee
lea rdx, [rsp + 0x4c8]
lea rcx, str._O:_N
mov r8d, 5
call fcn.140063f6c
cmp al, bl
je 0x1400ae8e4
mov edi, 0x60
jmp 0x1400aeaee
lea rdx, [rsp + 0x4c8]
lea rcx, str.cur
mov r8d, 4
call fcn.140063f6c
cmp al, bl
je 0x1400ae90f
mov dword [rsp + 0xa8], r12d
jmp 0x1400aeaee
mov rbx, qword [rsp + 0x4c8]
lea rcx, str._size:
mov r8d, 6
mov rdx, rbx
call fcn.14005a400
xor ecx, ecx
cmp al, cl
je 0x1400ae9ec
lea rax, [rbx + 0xc]
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x70], rax
call fcn.140068010
mov r11, qword [rsp + 0x70]
xor eax, eax
cmp word [r11], ax
je 0x1400ae648
lea edx, [rax + 9]
cmp dx, word [r11]
ja 0x1400ae972
cmp word [r11], 0xd
jbe 0x1400ae9a2
mov ecx, 0x20
cmp cx, word [r11]
je 0x1400ae9a7
add r11, 2
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x70], r11
call fcn.140068010
mov r11, qword [rsp + 0x70]
xor eax, eax
lea edx, [rax + 9]
mov ecx, 0x20
cmp word [r11], ax
je 0x1400ae648
cmp dx, word [r11]
ja 0x1400ae9c2
cmp word [r11], 0xd
jbe 0x1400ae648
cmp cx, word [r11]
je 0x1400ae648
add r11, 2
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x70], r11
call fcn.140068010
jmp 0x1400ae648
mov eax, 0x2a
cmp ax, word [rbx]
je 0x1400ae64a
mov ebx, dword [rsp + 0x50]
mov al, bl
lea rcx, [rsp + 0x100]
and al, 0x10
neg al
sbb eax, eax
or ebx, edi
and eax, esi
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x70], eax
cdqe
or qword [rsp + 0x178], rax
call fcn.140061510
lea rbx, [0x140111598]
lea rcx, [rsp + 0xf8]
mov rdx, rbx
call fcn.14006cf08
lea rcx, [rsp + 0x80]
mov rdx, rbx
call fcn.14006cf08
lea rcx, [rsp + 0x98]
mov rdx, rbx
call fcn.14006cf08
mov rbx, qword [rsp + 0x4c8]
xor esi, esi
mov edi, 0x22
cmp dword [rsp + 0xb8], esi
je 0x1400aebda
cmp r15d, r12d
jne 0x1400aebda
lea rcx, [rsp + 0xc0]
call fcn.140061510
mov r8, qword [rsp + 0x4c8]
lea r13d, [rdi - 0x19]
movzx ecx, word [r8]
cmp di, cx
jne 0x1400aeb15
add r8, 2
lea rcx, [rsp + 0x4c8]
mov edx, edi
mov qword [rsp + 0x4c8], r8
call fcn.14004e208
mov rcx, qword [rsp + 0x4c8]
cmp word [rcx], si
je 0x1400aeb55
add rcx, 2
mov qword [rsp + 0x4c8], rcx
jmp 0x1400aeb55
or r15d, 5
jmp 0x1400aeaee
and r15d, 0xfffffffd
or r15d, r12d
mov ebx, dword [rsp + 0x50]
jmp 0x1400ae53b
add rax, 4
lea rcx, [rsp + 0x4c8]
mov qword [rsp + 0x4c8], rax
call fcn.140058d58
jmp 0x1400ae9fe
cmp cx, si
je 0x1400aeb55
movsx edx, bpl
mov edi, 0x20
movzx eax, cx
cmp edx, eax
je 0x1400aeb50
cmp r13w, cx
ja 0x1400aeb36
cmp cx, 0xd
jbe 0x1400aeb50
cmp di, cx
je 0x1400aeb50
add r8, 2
mov qword [rsp + 0x4c8], r8
mov cx, word [r8]
cmp cx, si
jne 0x1400aeb23
mov edi, 0x22
lea rcx, [rsp + 0x4c8]
call fcn.140058d58
mov r8, qword [rsp + 0x4c8]
cmp word [r8], si
je 0x1400aeb80
movzx ecx, word [r8]
movsx eax, bpl
cmp eax, ecx
jne 0x1400aea9e
sub r8, rbx
lea rcx, [rsp + 0xc0]
mov rdx, rbx
sar r8, 1
call fcn.140061778
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x4c0]
lea r8, [rsp + 0x108]
xor r9d, r9d
mov byte [rsp + 0x20], r12b
call fcn.1400782c4
mov r11, qword [rsp + 0x108]
lea rcx, [rsp + 0xc0]
mov qword [rsp + 0x118], r11
call fcn.140058d88
jmp 0x1400aebf6
lea rdx, [rsp + 0x4c8]
lea rcx, [rsp + 0x108]
movsx r8d, bpl
mov r9b, r12b
call fcn.14007b93c
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x118]
xor r8d, r8d
call fcn.140065400
mov r11, qword [rsp + 0x100]
mov ebx, 0x5c
mov qword [rsp + 0x90], r11
cmp r15d, esi
jne 0x1400aecad
movzx eax, word [r11]
cmp ax, si
je 0x1400aecad
mov ecx, 9
cmp cx, ax
ja 0x1400aec45
cmp ax, 0xd
jbe 0x1400aecad
mov ecx, 0x20
cmp cx, ax
je 0x1400aecad
mov ecx, 0x40
cmp cx, ax
jne 0x1400aec63
mov dword [rsp + 0xd8], r12d
jmp 0x1400aec9c
mov ecx, 0x24
cmp cx, ax
jne 0x1400aec7a
mov dword [rsp + 0xd8], 3
jmp 0x1400aec9c
cmp bx, ax
jne 0x1400aec8d
cmp bx, word [r11 + 2]
je 0x1400aecaa
or dword [rsp + 0x64], r12d
jmp 0x1400aec9c
mov ecx, 0x21
cmp cx, ax
jne 0x1400aecad
or dword [rsp + 0x64], 2
add r11, 2
mov qword [rsp + 0x90], r11
jmp 0x1400aec2c
mov r14b, r12b
lea rcx, [rsp + 0x90]
call fcn.140058d58
mov r13d, r15d
and r13d, r12d
jne 0x1400aecd1
mov rcx, qword [rsp + 0x90]
call fcn.14001b428
jmp 0x1400aecd9
mov rax, qword [rsp + 0x90]
cmp dword [rsp + 0x64], esi
jne 0x1400aed0a
cmp r15d, esi
jne 0x1400aed0f
cmp r14b, sil
jne 0x1400aed0f
cmp bx, word [rax]
jne 0x1400aecf4
cmp bx, word [rax + 2]
je 0x1400aed0f
lea rdx, [rsp + 0x80]
mov rcx, rax
call fcn.14001b884
jmp 0x1400aed1f
add rax, 2
cmp word [rax], bx
je 0x1400aed06
lea rcx, [rsp + 0x80]
mov rdx, rax
call fcn.14006cf88
mov rcx, qword [rsp + 0x4c8]
movsx edi, bpl
movzx eax, word [rcx]
cmp edi, eax
jne 0x1400aed75
add rcx, 2
lea rdx, [rsp + 0x4c8]
movsx r8d, bpl
mov qword [rsp + 0x4c8], rcx
lea rcx, [rsp + 0x108]
mov r9b, r12b
call fcn.14007b93c
lea rdx, [rsp + 0xf8]
xor r8d, r8d
mov rcx, rax
call fcn.140065400
mov rcx, qword [rsp + 0x4c8]
cmp r15d, esi
jne 0x1400aedc9
movzx eax, word [rcx]
cmp edi, eax
jne 0x1400aedc9
add rcx, 2
movsx ebx, bpl
lea rdx, [rsp + 0x4c8]
mov qword [rsp + 0x4c8], rcx
lea rcx, [rsp + 0x108]
mov r9b, r12b
movzx r8d, bx
call fcn.14007b93c
lea rdx, [rsp + 0x150]
movzx r8d, bx
mov rcx, rax
call fcn.140065738
mov rcx, qword [rsp + 0x4c8]
mov rax, qword [rsp + 0x150]
mov rdx, 0xfffffffffffffff8
cmp rax, rsi
cmovle rax, rdx
mov qword [rsp + 0x150], rax
movzx eax, word [rcx]
cmp eax, edi
jne 0x1400af3b0
add rcx, 2
mov qword [rsp + 0x4c8], rcx
lea rcx, [rsp + 0x4c8]
call fcn.140058d58
mov rdx, qword [rsp + 0x4c8]
lea rcx, [rsp + 0x98]
call fcn.14006d020
mov rsi, qword [rsp + 0x98]
mov eax, 0x2a
xor ebp, ebp
cmp word [rsi], ax
jne 0x1400aee3d
mov bl, r12b
cmp word [rsi + 2], bp
je 0x1400aee40
mov bl, bpl
lea rcx, [rsp + 0x138]
mov byte [rsp + 0x5c], bl
call fcn.140061510
mov rdi, qword [rsp + 0xf8]
mov qword [rsp + 0x140], rbp
mov qword [rsp + 0x148], rbp
cmp bl, bpl
jne 0x1400aee7e
lea rcx, [rsp + 0x138]
mov rdx, rdi
call fcn.14006d020
mov rdx, qword [rsp + 0x4d8]
mov qword [rsp + 0xf0], rbp
cmp rdx, rbp
je 0x1400aee98
mov r14, qword [rdx]
jmp 0x1400aee9b
mov r14, rbp
mov qword [rsp + 0xe0], r14
cmp word [rsi], bp
jne 0x1400aeecd
cmp r14, rbp
je 0x1400aeecd
mov rcx, qword [rsp + 0x4c0]
movzx eax, word [r14]
cmp word [rcx + 0x96], ax
jne 0x1400aeecd
xor r9d, r9d
xor r8d, r8d
call fcn.140060120
lea rcx, [rsp + 0xc0]
mov edx, 0x32a
call fcn.140061584
mov rbx, qword [rsp + 0xc0]
mov r10, qword [rsp + 0x4c0]
xor edx, edx
lea rax, [rbx + 4]
mov qword [rsp + 0xb0], rax
mov eax, 0x8b
mov qword [rsp + 0x88], rdx
and word [r10 + 0xc8], ax
mov rbp, rdx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x7c], edx
lea ecx, [rax + 0x75]
cmp word [rsi], dx
jne 0x1400aef3b
cmp r14, rdx
je 0x1400aef3b
movzx eax, word [r14]
mov r14d, ecx
cmp word [r10 + 0x96], ax
je 0x1400aef3e
mov r14d, edx
cmp word [rdi], dx
je 0x1400aef5a
mov rax, qword [rsp + 0x98]
cmp word [rax], dx
jne 0x1400aef5a
mov dword [rsp + 0x68], r12d
cmp r14d, edx
je 0x1400aef5e
mov dword [rsp + 0x68], edx
mov rcx, qword [rsp + 0x80]
mov r12d, r15d
mov qword [rsp + 0x90], rdx
and r12d, 4
mov rsi, rcx
mov qword [rsp + 0x4c8], rcx
je 0x1400af02e
lea rcx, [0x140132120]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x4c0]
xor esi, esi
or r9d, 0xffffffff
xor r8d, r8d
mov qword [rsp + 0x20], rsi
call fcn.140018260
cmp rax, rsi
jne 0x1400aefd2
lea rcx, [0x140132120]
lea ebx, [rsi + 2]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, esi
jmp 0x1400afbb6
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.140061778
mov r11, qword [rsp + 0x90]
lea rcx, [0x140132120]
mov qword [rsp + 0x4c8], r11
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rsi, qword [rsp + 0x4c8]
mov rcx, qword [rsp + 0x80]
mov r10, qword [rsp + 0x4c0]
xor edx, edx
movsxd rax, r14d
mov qword [rsp + 0xe8], rax
test r15b, 2
je 0x1400af1e5
movzx eax, word [rsi]
mov qword [rsp + 0xb0], rdx
cmp ax, dx
je 0x1400af1cb
mov rbp, qword [rsp + 0x4e0]
mov r12, qword [rsp + 0xe8]
mov r14, qword [rsp + 0xe0]
mov r15w, word [rsp + 0x5e]
mov r13d, 0xfeff
test byte [r10 + 0xc8], 0xef
jne 0x1400af1cb
mov r9, rsi
cmp r15w, dx
je 0x1400af0af
lea rcx, [rsp + 0x4c8]
movzx edx, r15w
call fcn.14004e208
mov rsi, qword [rsp + 0x4c8]
xor edx, edx
jmp 0x1400af0d8
cmp ax, dx
je 0x1400af0d8
mov ecx, 0xa
cmp ax, 0xd
je 0x1400af0d8
cmp ax, cx
je 0x1400af0d8
add rsi, 2
mov qword [rsp + 0x4c8], rsi
mov ax, word [rsi]
cmp ax, dx
jne 0x1400af0b9
movzx ebx, word [rsi]
mov word [rsi], dx
mov r8, r9
mov rdx, rdi
mov rcx, r10
call fcn.140060828
mov rsi, qword [rsp + 0x4c8]
xor eax, eax
cmp r15w, ax
jne 0x1400af111
cmp bx, 0xd
jne 0x1400af111
lea ecx, [rax + 0xa]
cmp cx, word [rsi + 2]
jne 0x1400af116
add rsi, 4
jmp 0x1400af11a
cmp bx, ax
je 0x1400af122
add rsi, 2
mov qword [rsp + 0x4c8], rsi
inc dword [rsp + 0x58]
cmp r12, rax
je 0x1400af165
mov rdx, qword [rsp + 0x4d0]
mov rcx, qword [rsp + 0x4c0]
lea rax, [r14 + 2]
mov qword [rsp + 0xf0], rax
lea rax, [0x140111598]
lea r8, [rsp + 0xf0]
xor r9d, r9d
mov qword [rsp + 0x20], rax
call fcn.1400a8fec
jmp 0x1400af18f
mov rdx, qword [rsp + 0x98]
cmp word [rdx], ax
je 0x1400af197
mov r8, qword [rsp + 0x4d0]
mov rcx, qword [rsp + 0x4c0]
xor r9d, r9d
mov qword [rsp + 0x20], rbp
call fcn.14004a798
mov rsi, qword [rsp + 0x4c8]
mov r10, qword [rsp + 0x4c0]
mov ecx, 0x100
movzx eax, word [r10 + 0xc8]
test cx, ax
je 0x1400af1bd
and ax, r13w
mov word [r10 + 0xc8], ax
mov ax, word [rsi]
xor edx, edx
cmp ax, dx
jne 0x1400af07b
lea rcx, [rsp + 0xb0]
call fcn.140058d88
mov ecx, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x7c]
jmp 0x1400afbb6
cmp r13d, edx
je 0x1400af71e
cmp r12d, edx
je 0x1400af20a
lea rcx, [rsp + 0x4c8]
call fcn.140058d58
mov rsi, qword [rsp + 0x4c8]
xor edx, edx
xorpd xmm6, xmm6
movsxd rbx, dword [rsp + 0xb8]
mov r11d, 1
lea r10d, [rbx - 1]
mov qword [rsp + 0xd0], rdx
mov rbp, rdx
movapd xmm8, xmm6
movapd xmm9, xmm6
mov qword [rsp + 0xd8], rdx
mov r15, r11
mov qword [rsp + 0xc8], r11
mov dword [rsp + 0x78], r10d
mov r13, rdx
mov r14b, dl
mov r9b, r11b
mov byte [rsp + 0x54], r11b
mov r12b, r11b
cmp dword [rsp + 0xa0], edx
je 0x1400af422
lea r8, [rsp + 0x5e]
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x70], rsi
mov byte [rsp + 0x5e], 0xc
call fcn.140062554
lea rcx, [rsp + 0x70]
movapd xmm7, xmm0
call fcn.140058d58
lea r8, [rsp + 0x61]
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x70]
mov byte [rsp + 0x61], 0xc
call fcn.140062554
lea rcx, [rsp + 0x70]
movapd xmm8, xmm0
call fcn.140058d58
mov r15, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xd8]
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0xc8]
lea rax, [r15 + rbp]
lea rcx, [rsp + 0x70]
mov byte [rsp + 0x60], 0xc
mov qword [rsp + 0xc8], rax
call fcn.140062554
mov al, byte [rsp + 0x60]
or al, byte [rsp + 0x61]
movapd xmm9, xmm0
or al, byte [rsp + 0x5e]
test al, 2
jne 0x1400af368
mov r11d, 1
test r11b, al
setne r14b
add r14b, r11b
comisd xmm6, xmm8
jbe 0x1400af333
mov r9b, 0xff
mov byte [rsp + 0x54], r9b
jmp 0x1400af336
mov r9b, r11b
or eax, 0xffffffff
xor edx, edx
movzx r12d, r12b
cmp r15, rdx
cmovl r12d, eax
cmp r14b, r11b
jne 0x1400af355
cmp r15, rdx
mov eax, edx
sete al
jmp 0x1400af360
ucomisd xmm6, xmm8
jp 0x1400af35e
je 0x1400af368
mov eax, edx
cmp eax, edx
je 0x1400af413
lea rcx, [rsp + 0xd0]
call fcn.140058d88
lea rcx, [rsp + 0x90]
call fcn.140058d88
lea rcx, [rsp + 0x88]
call fcn.140058d88
lea rcx, [rsp + 0xc0]
call fcn.140058d88
lea rcx, [rsp + 0x138]
call fcn.140058d88
mov r12, 0xffffffff80070057
lea rcx, [rsp + 0x98]
call fcn.140058d88
lea rcx, [rsp + 0x80]
call fcn.140058d88
lea rcx, [rsp + 0xf8]
call fcn.140058d88
lea rcx, [rsp + 0x100]
call fcn.140058d88
lea rcx, [rsp + 0x120]
call fcn.1400eb8e8
lea rcx, [rsp + 0x120]
call fcn.140058d88
lea rcx, [rsp + 0x108]
call fcn.140058d88
mov rax, r12
jmp 0x1400afc8f
mov r13, qword [rsp + 0xc8]
mov r10d, dword [rsp + 0x78]
jmp 0x1400af42b
movsd xmm7, qword [rsp + 0x4c8]
movzx eax, word [rsi]
mov r8, rbx
mov qword [rsp + 0xb0], rbx
cmp ax, dx
je 0x1400af711
mov ebx, 0xfeff
mov rcx, qword [rsp + 0x4c0]
test byte [rcx + 0xc8], 0xef
jne 0x1400af711
xor ecx, ecx
mov rdx, rsi
cmp dword [rsp + 0xa0], ecx
je 0x1400af55c
xor edx, edx
cmp r14b, r11b
jne 0x1400af4ae
cmp r12b, dl
jle 0x1400af486
cmp rbp, r13
jg 0x1400af711
cmp r12b, dl
jge 0x1400af491
cmp rbp, r13
jl 0x1400af711
mov rsi, qword [rsp + 0x4c0]
mov r8, rdi
mov edx, ebp
mov rcx, rsi
call fcn.14006482c
add rbp, r15
jmp 0x1400af647
cmp r9b, dl
jle 0x1400af4c1
comisd xmm7, xmm9
ja 0x1400af711
cmp r9b, dl
jge 0x1400af4ce
comisd xmm9, xmm7
ja 0x1400af711
lea r8, [0x14011bce8]
lea rcx, [rsp + 0x190]
movapd xmm1, xmm7
call fcn.1400dcfd4
lea rcx, [rsp + 0x190]
mov edx, 0x2e
call qword [sym.imp.SHLWAPI.dll_StrChrW]
xor esi, esi
mov rbx, rax
cmp rax, rsi
je 0x1400af532
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
lea rax, [rbx + rcx*2 - 2]
lea ecx, [rsi + 0x30]
jmp 0x1400af520
mov word [rax], si
sub rax, 2
cmp cx, word [rax]
je 0x1400af519
mov ecx, 0x2e
cmp cx, word [rax]
jne 0x1400af532
mov word [rax], si
mov rsi, qword [rsp + 0x4c0]
lea r8, [rsp + 0x190]
mov rdx, rdi
mov rcx, rsi
call fcn.140060828
mov ebx, 0xfeff
addsd xmm7, xmm8
jmp 0x1400af647
xor r9d, r9d
cmp r8, r9
je 0x1400af5c9
lea r8d, [r9 + 0x22]
cmp r8w, ax
jne 0x1400af5c9
movsxd rax, r10d
lea rdx, [rsi + rax*2]
add rsi, 2
mov qword [rsp + 0x4c8], rsi
movzx eax, word [rsi]
cmp ax, r9w
je 0x1400af600
cmp r8w, ax
jne 0x1400af575
movzx eax, word [rsi + 2]
cmp ax, r9w
je 0x1400af5b8
mov r11d, 9
cmp r11w, ax
ja 0x1400af5ac
cmp ax, 0xd
jbe 0x1400af5b8
mov r11d, 0x20
cmp r11w, ax
jne 0x1400af575
add rsi, 2
mov ecx, r10d
mov qword [rsp + 0x4c8], rsi
jmp 0x1400af600
cmp ax, r9w
je 0x1400af600
mov r8d, 0x20
lea r10d, [r8 - 0x17]
cmp r10w, ax
ja 0x1400af5e5
cmp ax, 0xd
jbe 0x1400af600
cmp r8w, ax
je 0x1400af600
add rsi, 2
mov qword [rsp + 0x4c8], rsi
mov ax, word [rsi]
cmp ax, r9w
jne 0x1400af5d9
movsxd rax, ecx
lea rcx, [rsp + 0xd0]
add rax, rax
sub rsi, rax
sub rsi, rdx
sar rsi, 1
mov r8, rsi
call fcn.140061778
lea rcx, [rsp + 0x4c8]
call fcn.140058d58
mov rsi, qword [rsp + 0x4c0]
mov r8, qword [rsp + 0xd0]
mov rcx, rsi
mov rdx, rdi
call fcn.140060828
mov r11d, 1
xor ecx, ecx
add dword [rsp + 0x58], r11d
cmp qword [rsp + 0xe8], rcx
je 0x1400af69b
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x4d0]
lea r8, [rsp + 0xf0]
add rax, 2
xor r9d, r9d
mov rcx, rsi
mov qword [rsp + 0xf0], rax
lea rax, [0x140111598]
mov qword [rsp + 0x20], rax
call fcn.1400a8fec
jmp 0x1400af6c8
mov rdx, qword [rsp + 0x98]
cmp word [rdx], cx
je 0x1400af6d0
mov rax, qword [rsp + 0x4e0]
mov r8, qword [rsp + 0x4d0]
xor r9d, r9d
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14004a798
mov r11d, 1
xor ecx, ecx
movzx eax, word [rsi + 0xc8]
mov edx, 0x100
test dx, ax
je 0x1400af6eb
and ax, bx
mov word [rsi + 0xc8], ax
mov rsi, qword [rsp + 0x4c8]
mov r8, qword [rsp + 0xb0]
mov r9b, byte [rsp + 0x54]
mov ax, word [rsi]
mov r10d, dword [rsp + 0x78]
cmp ax, cx
jne 0x1400af447
lea rcx, [rsp + 0xd0]
jmp 0x1400af1d3
call fcn.14001b428
lea rcx, [rsp + 0x80]
mov rdx, rax
call fcn.14006cf88
mov r11, qword [rsp + 0x80]
xor r9d, r9d
cmp word [r11], r9w
je 0x1400afbb2
mov r12d, dword [rsp + 0x64]
movzx r13d, r9w
mov r15b, r9b
cmp r12d, r9d
je 0x1400af818
cmp dword [rsp + 0xa8], r9d
je 0x1400af7a6
lea rdx, [rsp + 0x220]
mov ecx, 0x104
mov word [rsp + 0x220], r9w
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov r13w, word [rsp + 0x220]
cmp r13w, 0x61
jb 0x1400af7a3
cmp r13w, 0x7a
ja 0x1400af7a3
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 0x1400af7fc
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 0x1400af7df
cmp r12b, r9b
mov r12, qword [rsp + 0x4e0]
cmovne rbp, rsi
mov rsi, qword [rsp + 0xb0]
jmp 0x1400afa2f
mov rax, qword [rsp + 0x88]
mov rsi, qword [rsp + 0xb0]
mov r12, qword [rsp + 0x4e0]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], r11
cmp r14d, r9d
jne 0x1400af860
mov rax, qword [rsp + 0x98]
cmp word [rax], r9w
jne 0x1400af860
mov eax, dword [rsp + 0x68]
cmp eax, r9d
je 0x1400afba8
cmp dword [rsp + 0xc8], r9d
je 0x1400af891
movzx ecx, word [r11]
cmp cx, r9w
je 0x1400af891
mov eax, 0x3a
cmp word [r11 + 2], ax
jne 0x1400af891
call fcn.1400f6b58
xor r9d, r9d
cmp eax, r9d
je 0x1400afa24
lea rcx, [rsp + 0xa0]
call fcn.140061510
mov rcx, qword [rsp + 0x88]
lea r8, [rsp + 0xb0]
lea rdx, [rsp + 0xa0]
xor r15d, r15d
mov qword [rsp + 0xb0], r15
call fcn.1400daa4c
mov r8, qword [rsp + 0xa0]
cmp dword [rsp + 0xd0], r15d
je 0x1400af8ee
mov rax, qword [rsp + 0xb0]
sub rax, r8
sar rax, 1
mov qword [rsp + 0x168], rax
cmp dword [rsp + 0x70], r15d
je 0x1400af98a
mov ecx, 8
call fcn.1400f7b78
cmp rax, r15
je 0x1400af91a
lea rdx, [rsp + 0xa0]
mov rcx, rax
call fcn.14006cf68
jmp 0x1400af91d
mov rax, r15
mov ebx, 1
lea r9, [rsp + 0xe8]
lea r8, [rsp + 0x130]
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x120]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 8
mov qword [rsp + 0xe8], rax
call fcn.140061860
cmp dword [rsp + 0x64], r15d
je 0x1400af982
cmp word [rbp], r15w
je 0x1400af982
lea rcx, [rsp + 0xa0]
mov r15b, bl
call fcn.140058d88
xor r9d, r9d
jmp 0x1400afa2f
mov r8, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x78]
mov rbx, qword [rsp + 0x4c0]
mov r9, qword [rsp + 0x4d0]
mov qword [rsp + 0x48], r12
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0x150]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x98]
mov ecx, r14d
or ecx, dword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xe0]
or ecx, dword [rsp + 0xd8]
lea rdx, [rsp + 0x138]
mov dword [rsp + 0x28], ecx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400ad844
mov ecx, 0x100
add dword [rsp + 0x58], eax
movzx eax, word [rbx + 0xc8]
test cx, ax
je 0x1400afa14
mov ecx, 0xfeff
and ax, cx
mov word [rbx + 0xc8], ax
lea rcx, [rsp + 0xa0]
call fcn.140058d88
xor r9d, r9d
cmp dword [rsp + 0x64], r9d
je 0x1400afb06
movsxd rbx, dword [rsp + 0xa8]
cmp word [rbp], r9w
je 0x1400afb06
lea rax, [rsp + 0x150]
cmp qword [rax], r9
je 0x1400afb06
mov rax, qword [rsp + 0x4c0]
test byte [rax + 0xc8], 0xef
jne 0x1400afb06
lea rcx, [rsp + 0x88]
mov rdx, rbp
call fcn.14006d020
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x88]
call fcn.14006164c
xor r9d, r9d
cmp rbx, r9
jne 0x1400afae5
test byte [rsp + 0x64], 2
je 0x1400afab9
sub rbp, 2
cmp rbp, rsi
jbe 0x1400aface
lea rax, [rbp - 2]
cmp word [rax], r9w
je 0x1400aface
mov rbp, rax
cmp rax, rsi
ja 0x1400afaa5
jmp 0x1400aface
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 0x1400af840
jmp 0x1400afa37
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0xa8], r9d
mov word [rax], r13w
mov r11, qword [rsp + 0x88]
jmp 0x1400af840
cmp r15b, r9b
je 0x1400af1d8
mov rbx, qword [rsp + 0x98]
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0x120]
mov r9d, 8
xor ecx, ecx
call fcn.140061970
or r14d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x4d0]
mov rcx, qword [rax]
mov rax, qword [rsp + 0x4e0]
or r14d, dword [rsp + 0xd8]
mov r8, qword [rcx]
mov rcx, qword [rsp + 0x4c0]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x78]
lea rdx, [rsp + 0x138]
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0x150]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
call fcn.1400ad844
mov ecx, dword [rsp + 0x58]
add ecx, eax
jmp 0x1400af1dc
mov ecx, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x7c]
jmp 0x1400afbba
mov ecx, ebp
mov ebx, ecx
mov eax, dword [rsp + 0x68]
mov r9, qword [rsp + 0x4c0]
mov edx, 0x8b
and word [r9 + 0xc8], dx
xor edx, edx
cmp byte [rsp + 0x5c], dl
je 0x1400afbec
mov r8, qword [rsp + 0x138]
mov rdx, rdi
mov rcx, r9
call fcn.140060828
jmp 0x1400afbfd
cmp eax, edx
je 0x1400afbfd
mov edx, ecx
mov r8, rdi
mov rcx, r9
call fcn.14006482c
lea rcx, [rsp + 0x90]
call fcn.140058d88
lea rcx, [rsp + 0x88]
call fcn.140058d88
lea rcx, [rsp + 0xc0]
call fcn.140058d88
lea rcx, [rsp + 0x138]
call fcn.140058d88
lea rcx, [rsp + 0x98]
call fcn.140058d88
lea rcx, [rsp + 0x80]
call fcn.140058d88
lea rcx, [rsp + 0xf8]
call fcn.140058d88
lea rcx, [rsp + 0x100]
call fcn.140058d88
lea rcx, [rsp + 0x120]
call fcn.1400eb8e8
lea rcx, [rsp + 0x120]
call fcn.140058d88
lea rcx, [rsp + 0x108]
call fcn.140058d88
movsxd rax, ebx
lea r11, [rsp + 0x478]
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