Function at 0x1400ad0c0
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, 0x4b8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rbp, rcx
lea rcx, [rax - 0x3e0]
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
call fcn.1400632a0
mov rdx, qword [rsp + 0x508]
xor r12d, r12d
mov qword [rsp + 0x120], rbp
mov qword [rsp + 0x128], r12
movzx eax, word [rdx]
mov word [rsp + 0x68], r12w
mov r14b, 0x2c
lea ecx, [r12 + 0x20]
lea r8d, [r12 + 9]
lea r9d, [r12 + 0x3a]
cmp ax, r12w
je 0x1400ad194
lea ebp, [rcx + 0xa]
cmp bp, ax
je 0x1400ad18c
cmp r8w, ax
ja 0x1400ad15a
cmp ax, 0xd
jbe 0x1400ad18c
cmp cx, ax
je 0x1400ad18c
mov ecx, 0x3b
cmp cx, ax
je 0x1400ad16f
cmp r9w, ax
jne 0x1400ad172
mov r14b, byte [rdx]
add rdx, 2
mov ecx, 0x20
mov qword [rsp + 0x508], rdx
mov ax, word [rdx]
cmp ax, r12w
jne 0x1400ad149
mov rbp, qword [rsp + 0x500]
lea rcx, [rsp + 0x148]
call fcn.1400637e4
lea rcx, [rsp + 0x508]
call fcn.14005aec8
lea rax, [rsp + 0x148]
mov qword [rsp + 0x180], r12
mov qword [rsp + 0x1b0], rax
mov rax, 0xfffffffffffffff8
mov qword [rsp + 0x188], r12
mov qword [rsp + 0x190], r12
mov qword [rsp + 0x198], r12
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x1a8], r12
mov dword [rsp + 0x5c], r12d
mov r13d, r12d
mov ebx, r12d
mov edi, r12d
mov dword [rsp + 0xd8], r12d
mov dword [rsp + 0x98], r12d
mov dword [rsp + 0x78], r12d
mov dword [rsp + 0xc8], r12d
mov esi, r12d
mov dword [rsp + 0x9c], r12d
mov r15b, r12b
mov dword [rsp + 0xa0], 2
mov dword [rsp + 0xb0], eax
lea r12d, [rax + 9]
mov dword [rsp + 0x50], ebx
mov rax, qword [rsp + 0x508]
mov edx, 0x2d
lea ecx, [rdx - 3]
cmp cx, word [rax]
je 0x1400ad26e
lea ecx, [rdx + 2]
cmp cx, word [rax]
je 0x1400ad26e
cmp dx, word [rax]
jne 0x1400ad759
cmp dx, word [rax]
jne 0x1400ad2aa
cmp dx, word [rax + 2]
jne 0x1400ad2aa
movzx ecx, word [rax + 4]
mov edx, 9
cmp dx, cx
ja 0x1400ad291
cmp cx, 0xd
jbe 0x1400ad851
mov edx, 0x20
cmp dx, cx
je 0x1400ad851
xor edx, edx
cmp cx, dx
je 0x1400ad851
lea rdx, [rsp + 0x508]
lea rcx, [0x14012918c]
mov r8d, 2
call fcn.140065de0
xor ecx, ecx
cmp al, cl
je 0x1400ad2d7
and r13d, 0xfffffffe
or r13d, 6
jmp 0x1400ad248
mov r11, qword [rsp + 0x508]
lea rcx, [0x140129188]
mov r8d, 3
lea rdx, [r11 + 2]
call fcn.14005c4dc
xor ecx, ecx
cmp al, cl
je 0x1400ad305
add r11, 8
lea r13d, [rcx + 6]
jmp 0x1400ad329
lea rdx, [r11 + 2]
lea rcx, str.delims:
mov r8d, 7
call fcn.14005c4dc
xor ebx, ebx
cmp al, bl
je 0x1400ad3a6
add r11, 0x10
mov eax, 0xa
lea rcx, [rsp + 0x508]
xor r8d, r8d
mov rdx, rbp
mov qword [rsp + 0x508], r11
or r13d, eax
call fcn.1400a0d90
mov rbx, qword [rsp + 0x508]
movzx eax, word [rbx]
mov word [rsp + 0x68], ax
xor ecx, ecx
movzx eax, word [rbx]
cmp ax, cx
je 0x1400ad394
mov edx, 0x20
lea r8d, [rdx - 0x17]
cmp r8w, ax
ja 0x1400ad37b
cmp ax, 0xd
jbe 0x1400ad394
cmp dx, ax
je 0x1400ad394
add rbx, 2
mov qword [rsp + 0x508], rbx
mov ax, word [rbx]
cmp ax, cx
jne 0x1400ad36f
lea rcx, [rsp + 0x508]
call fcn.14005aec8
jmp 0x1400ad848
lea rdx, [rsp + 0x508]
lea rcx, [0x1401215fc]
or r8d, 0xffffffff
call fcn.140065d7c
cmp al, bl
jne 0x1400ad841
lea rdx, [rsp + 0x508]
lea rcx, [0x14011dd0c]
or r8d, 0xffffffff
call fcn.140065d7c
cmp al, bl
jne 0x1400ad841
lea rdx, [rsp + 0x508]
lea rcx, [0x14012917c]
mov r8d, r12d
call fcn.140065de0
cmp al, bl
jne 0x1400ad83b
lea rdx, [rsp + 0x508]
lea rcx, [0x140128c38]
mov r8d, 2
call fcn.140065d7c
cmp al, bl
jne 0x1400ad83b
lea rdx, [rsp + 0x508]
lea rcx, [0x140129178]
mov r8d, r12d
call fcn.140065de0
cmp al, bl
je 0x1400ad45a
mov ecx, r13d
and ecx, 0xfffffffd
or ecx, 0x11
mov dword [rsp + 0x9c], ecx
mov r13d, ecx
jmp 0x1400ad848
lea rdx, [rsp + 0x508]
lea rcx, [0x140129174]
mov r8d, 3
call fcn.140065d7c
cmp al, bl
je 0x1400ad480
mov esi, r12d
jmp 0x1400ad848
lea rdx, [rsp + 0x508]
lea rcx, [0x1401216fc]
mov r8d, 3
call fcn.140065d7c
cmp al, bl
je 0x1400ad4ab
mov dword [rsp + 0xd8], r12d
jmp 0x1400ad848
lea rdx, [rsp + 0x508]
lea rcx, [0x140129170]
mov r8d, 3
call fcn.140065d7c
cmp al, bl
je 0x1400ad4d3
mov dword [rsp + 0x78], r12d
jmp 0x1400ad848
lea rdx, [rsp + 0x508]
lea rcx, str.qu
mov r8d, 4
call fcn.140065d7c
cmp al, bl
je 0x1400ad4fe
mov dword [rsp + 0x78], 2
jmp 0x1400ad848
lea rdx, [rsp + 0x508]
lea rcx, [0x140129160]
mov r8d, 4
call fcn.140065d7c
cmp al, bl
je 0x1400ad529
mov dword [rsp + 0xc8], r12d
jmp 0x1400ad848
lea rdx, [rsp + 0x508]
lea rcx, [0x14012915c]
mov r8d, 2
call fcn.140065d7c
cmp al, bl
je 0x1400ad553
mov ebx, dword [rsp + 0x50]
or ebx, 0x10
jmp 0x1400ad244
mov r11, qword [rsp + 0x508]
lea rcx, [0x140129158]
mov r8d, 3
mov rdx, r11
call fcn.14005c4dc
cmp al, bl
je 0x1400ad5a5
mov ebx, dword [rsp + 0x50]
add r11, 6
lea rdx, [rsp + 0xb0]
or ebx, 0x10
lea rcx, [rsp + 0x508]
mov qword [rsp + 0x508], r11
mov dword [rsp + 0x50], ebx
call fcn.140074498
jmp 0x1400ad248
lea rdx, [rsp + 0x508]
lea rcx, str._O:N
mov r8d, 4
call fcn.140065d7c
cmp al, bl
je 0x1400ad5cd
mov edi, 0x20
jmp 0x1400ad848
lea rdx, [rsp + 0x508]
lea rcx, str._O:_N
mov r8d, 5
call fcn.140065d7c
cmp al, bl
je 0x1400ad5f5
mov edi, 0x60
jmp 0x1400ad848
lea rdx, [rsp + 0x508]
lea rcx, str.cur
mov r8d, 4
call fcn.140065d7c
cmp al, bl
je 0x1400ad620
mov dword [rsp + 0x98], r12d
jmp 0x1400ad848
mov rbx, qword [rsp + 0x508]
lea rcx, str._size:
mov r8d, 7
mov rdx, rbx
call fcn.14005c4dc
xor ecx, ecx
cmp al, cl
je 0x1400ad65a
or qword [rsp + 0x1a8], 0x10
add rbx, 2
mov qword [rsp + 0x508], rbx
jmp 0x1400ad679
lea rcx, [0x14012912c]
mov r8d, 6
mov rdx, rbx
call fcn.14005c4dc
xor ecx, ecx
cmp al, cl
je 0x1400ad747
lea rax, [rbx + 0xc]
lea rdx, [rsp + 0x188]
lea rcx, [rsp + 0xa8]
mov qword [rsp + 0xa8], rax
call fcn.14006a3ec
mov r11, qword [rsp + 0xa8]
xor eax, eax
cmp word [r11], ax
je 0x1400ad35c
lea edx, [rax + 9]
cmp dx, word [r11]
ja 0x1400ad6be
cmp word [r11], 0xd
jbe 0x1400ad6f7
mov ecx, 0x20
cmp cx, word [r11]
je 0x1400ad6fc
add r11, 2
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0xa8]
mov qword [rsp + 0xa8], r11
call fcn.14006a3ec
mov r11, qword [rsp + 0xa8]
xor eax, eax
lea edx, [rax + 9]
mov ecx, 0x20
cmp word [r11], ax
je 0x1400ad35c
cmp dx, word [r11]
ja 0x1400ad717
cmp word [r11], 0xd
jbe 0x1400ad35c
cmp cx, word [r11]
je 0x1400ad35c
add r11, 2
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0xa8]
mov qword [rsp + 0xa8], r11
call fcn.14006a3ec
jmp 0x1400ad35c
mov eax, 0x2a
cmp ax, word [rbx]
je 0x1400ad35e
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 + 0x140], eax
cdqe
or qword [rsp + 0x1a8], rax
call fcn.1400632a0
lea rbx, [0x14011c618]
lea rcx, [rsp + 0x88]
mov rdx, rbx
call fcn.14006ff14
lea rcx, [rsp + 0x80]
mov rdx, rbx
call fcn.14006ff14
lea rcx, [rsp + 0x90]
mov rdx, rbx
call fcn.14006ff14
mov rbx, qword [rsp + 0x508]
xor esi, esi
mov edi, 0x22
cmp dword [rsp + 0x78], esi
je 0x1400ad933
cmp r13d, r12d
jne 0x1400ad933
lea rcx, [rsp + 0x138]
call fcn.1400632a0
mov r8, qword [rsp + 0x508]
lea ebp, [rdi - 0x19]
movzx ecx, word [r8]
cmp di, cx
jne 0x1400ad86f
add r8, 2
lea rcx, [rsp + 0x508]
mov edx, edi
mov qword [rsp + 0x508], r8
call fcn.1400e8c3c
mov rcx, qword [rsp + 0x508]
cmp word [rcx], si
je 0x1400ad8ae
add rcx, 2
mov qword [rsp + 0x508], rcx
jmp 0x1400ad8ae
or r13d, 5
jmp 0x1400ad848
and r13d, 0xfffffffd
or r13d, r12d
mov ebx, dword [rsp + 0x50]
jmp 0x1400ad248
add rax, 4
lea rcx, [rsp + 0x508]
mov qword [rsp + 0x508], rax
call fcn.14005aec8
jmp 0x1400ad759
cmp cx, si
je 0x1400ad8ae
movsx edx, r14b
mov edi, 0x20
movzx eax, cx
cmp edx, eax
je 0x1400ad8a9
cmp bp, cx
ja 0x1400ad88f
cmp cx, 0xd
jbe 0x1400ad8a9
cmp di, cx
je 0x1400ad8a9
add r8, 2
mov qword [rsp + 0x508], r8
mov cx, word [r8]
cmp cx, si
jne 0x1400ad87d
mov edi, 0x22
lea rcx, [rsp + 0x508]
call fcn.14005aec8
mov r8, qword [rsp + 0x508]
cmp word [r8], si
je 0x1400ad8d9
movzx ecx, word [r8]
movsx eax, r14b
cmp eax, ecx
jne 0x1400ad7f8
sub r8, rbx
lea rcx, [rsp + 0x138]
mov rdx, rbx
sar r8, 1
call fcn.140063508
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x500]
lea r8, [rsp + 0x118]
xor r9d, r9d
mov byte [rsp + 0x20], r12b
call fcn.14007bba4
mov r11, qword [rsp + 0x118]
lea rcx, [rsp + 0x138]
mov qword [rsp + 0x128], r11
call fcn.14005aef8
jmp 0x1400ad94f
lea rdx, [rsp + 0x508]
lea rcx, [rsp + 0x118]
movsx r8d, r14b
mov r9b, r12b
call fcn.14007f2f0
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x128]
xor r8d, r8d
call fcn.140067288
mov r11, qword [rsp + 0xf0]
mov ebx, 0x5c
mov qword [rsp + 0x108], r11
cmp r13d, esi
jne 0x1400ada06
movzx eax, word [r11]
cmp ax, si
je 0x1400ada06
mov ecx, 9
cmp cx, ax
ja 0x1400ad99e
cmp ax, 0xd
jbe 0x1400ada06
mov ecx, 0x20
cmp cx, ax
je 0x1400ada06
mov ecx, 0x40
cmp cx, ax
jne 0x1400ad9bc
mov dword [rsp + 0xa0], r12d
jmp 0x1400ad9f5
mov ecx, 0x24
cmp cx, ax
jne 0x1400ad9d3
mov dword [rsp + 0xa0], 3
jmp 0x1400ad9f5
cmp bx, ax
jne 0x1400ad9e6
cmp bx, word [r11 + 2]
je 0x1400ada03
or dword [rsp + 0x5c], r12d
jmp 0x1400ad9f5
mov ecx, 0x21
cmp cx, ax
jne 0x1400ada06
or dword [rsp + 0x5c], 2
add r11, 2
mov qword [rsp + 0x108], r11
jmp 0x1400ad985
mov r15b, r12b
lea rcx, [rsp + 0x108]
call fcn.14005aec8
mov ebp, r13d
and ebp, r12d
jne 0x1400ada2a
mov rcx, qword [rsp + 0x108]
call fcn.14001be60
jmp 0x1400ada32
mov rax, qword [rsp + 0x108]
cmp dword [rsp + 0x5c], esi
jne 0x1400ada63
cmp r13d, esi
jne 0x1400ada68
cmp r15b, sil
jne 0x1400ada68
cmp bx, word [rax]
jne 0x1400ada4d
cmp bx, word [rax + 2]
je 0x1400ada68
lea rdx, [rsp + 0x80]
mov rcx, rax
call fcn.14001c2bc
jmp 0x1400ada78
add rax, 2
cmp word [rax], bx
je 0x1400ada5f
lea rcx, [rsp + 0x80]
mov rdx, rax
call fcn.14006ffb0
mov rcx, qword [rsp + 0x508]
movsx edi, r14b
movzx eax, word [rcx]
cmp edi, eax
jne 0x1400adace
add rcx, 2
lea rdx, [rsp + 0x508]
movsx r8d, r14b
mov qword [rsp + 0x508], rcx
lea rcx, [rsp + 0x118]
mov r9b, r12b
call fcn.14007f2f0
lea rdx, [rsp + 0x88]
xor r8d, r8d
mov rcx, rax
call fcn.140067288
mov rcx, qword [rsp + 0x508]
cmp r13d, esi
jne 0x1400adb22
movzx eax, word [rcx]
cmp edi, eax
jne 0x1400adb22
add rcx, 2
movsx ebx, r14b
lea rdx, [rsp + 0x508]
mov qword [rsp + 0x508], rcx
lea rcx, [rsp + 0x118]
mov r9b, r12b
movzx r8d, bx
call fcn.14007f2f0
lea rdx, [rsp + 0x180]
movzx r8d, bx
mov rcx, rax
call fcn.1400675c0
mov rcx, qword [rsp + 0x508]
mov rax, qword [rsp + 0x180]
mov rdx, 0xfffffffffffffff8
cmp rax, rsi
cmovle rax, rdx
mov qword [rsp + 0x180], rax
movzx eax, word [rcx]
cmp eax, edi
jne 0x1400ae10f
add rcx, 2
mov qword [rsp + 0x508], rcx
lea rcx, [rsp + 0x508]
call fcn.14005aec8
mov rdx, qword [rsp + 0x508]
lea rcx, [rsp + 0x90]
call fcn.140070048
mov rsi, qword [rsp + 0x90]
mov eax, 0x2a
xor edi, edi
cmp word [rsi], ax
jne 0x1400adb96
mov bl, r12b
cmp word [rsi + 2], di
je 0x1400adb99
mov bl, dil
lea rcx, [rsp + 0x160]
mov byte [rsp + 0x58], bl
call fcn.1400632a0
mov qword [rsp + 0x168], rdi
mov qword [rsp + 0x170], rdi
cmp bl, dil
jne 0x1400adbd4
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x160]
call fcn.140070048
mov rdx, qword [rsp + 0x518]
mov qword [rsp + 0x110], rdi
cmp rdx, rdi
je 0x1400adbee
mov r14, qword [rdx]
jmp 0x1400adbf1
mov r14, rdi
mov qword [rsp + 0xd0], r14
cmp word [rsi], di
jne 0x1400adc23
cmp r14, rdi
je 0x1400adc23
mov rcx, qword [rsp + 0x500]
movzx eax, word [r14]
cmp word [rcx + 0x96], ax
jne 0x1400adc23
xor r9d, r9d
xor r8d, r8d
call fcn.140061e18
lea rcx, [rsp + 0xe8]
mov edx, 0x32a
call fcn.140063314
mov r10, qword [rsp + 0x500]
mov rbx, qword [rsp + 0xe8]
xor r8d, r8d
mov eax, 0x8b
lea r15, [rbx + 4]
and word [r10 + 0xc8], ax
mov qword [rsp + 0x70], r8
mov rdi, r8
mov dword [rsp + 0x54], r8d
mov dword [rsp + 0x64], r8d
lea ecx, [rax + 0x75]
cmp word [rsi], r8w
jne 0x1400adc8a
cmp r14, r8
je 0x1400adc8a
movzx eax, word [r14]
mov r14d, ecx
cmp word [r10 + 0x96], ax
je 0x1400adc8d
mov r14d, r8d
mov rax, qword [rsp + 0x88]
cmp word [rax], r8w
je 0x1400adcb3
mov rax, qword [rsp + 0x90]
cmp word [rax], r8w
jne 0x1400adcb3
mov dword [rsp + 0x60], r12d
cmp r14d, r8d
je 0x1400adcb8
mov dword [rsp + 0x60], r8d
mov rcx, qword [rsp + 0x80]
mov esi, r13d
mov qword [rsp + 0xe0], r8
and esi, 4
mov qword [rsp + 0x508], rcx
je 0x1400add80
lea rcx, [0x14013e190]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x500]
xor r12d, r12d
or r9d, 0xffffffff
xor r8d, r8d
mov qword [rsp + 0x20], r12
call fcn.1400189c4
cmp rax, r12
jne 0x1400add2b
lea rcx, [0x14013e190]
lea ebx, [r12 + 2]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, edi
jmp 0x1400ae916
mov r8, qword [rax + 0x18]
mov rdx, qword [rax + 8]
movabs rcx, 0x1fffffffffffffff
shr r8, 1
and r8, rcx
lea rcx, [rsp + 0xe0]
call fcn.140063508
mov r11, qword [rsp + 0xe0]
lea rcx, [0x14013e190]
mov qword [rsp + 0x508], r11
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rsp + 0x80]
mov r10, qword [rsp + 0x500]
xor r8d, r8d
movsxd r12, r14d
mov qword [rsp + 0x1c0], r12
test r13b, 2
je 0x1400adf47
mov al, byte [0x14013a24f]
mov qword [rsp + 0x1c8], r8
cmp al, r8b
jle 0x1400adf2d
mov rdi, qword [rsp + 0x520]
mov rbp, qword [rsp + 0xd0]
mov r13w, word [rsp + 0x68]
mov r14, qword [rsp + 0x510]
mov esi, 0xfeff
lea r15, [0x14011c618]
mov rax, qword [rsp + 0x508]
movzx ecx, word [rax]
cmp cx, r8w
je 0x1400adf2d
test byte [r10 + 0xc8], 0xef
jne 0x1400adf2d
mov r9, rax
cmp r13w, r8w
je 0x1400ade20
lea rcx, [rsp + 0x508]
movzx edx, r13w
call fcn.1400e8c3c
mov rax, qword [rsp + 0x508]
xor r8d, r8d
jmp 0x1400ade45
mov edx, 0xa
cmp cx, 0xd
je 0x1400ade45
cmp cx, dx
je 0x1400ade45
add rax, 2
mov qword [rsp + 0x508], rax
mov cx, word [rax]
cmp cx, r8w
jne 0x1400ade25
movzx ebx, word [rax]
mov rdx, qword [rsp + 0x88]
mov word [rax], r8w
mov r8, r9
mov rcx, r10
call fcn.140062600
mov r11, qword [rsp + 0x508]
xor r8d, r8d
cmp r13w, r8w
jne 0x1400ade87
cmp bx, 0xd
jne 0x1400ade87
lea eax, [r8 + 0xa]
cmp ax, word [r11 + 2]
jne 0x1400ade8d
add r11, 4
jmp 0x1400ade91
cmp bx, r8w
je 0x1400ade99
add r11, 2
mov qword [rsp + 0x508], r11
inc dword [rsp + 0x54]
cmp r12, r8
je 0x1400aded0
mov rcx, qword [rsp + 0x500]
lea rax, [rbp + 2]
lea r8, [rsp + 0x110]
xor r9d, r9d
mov rdx, r14
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x20], r15
call fcn.1400a5738
jmp 0x1400adef6
mov rdx, qword [rsp + 0x90]
cmp word [rdx], r8w
je 0x1400adef9
mov rcx, qword [rsp + 0x500]
xor r9d, r9d
mov r8, r14
mov qword [rsp + 0x20], rdi
call fcn.14004c180
xor r8d, r8d
mov r10, qword [rsp + 0x500]
mov ecx, 0x100
movzx eax, word [r10 + 0xc8]
test cx, ax
je 0x1400adf1e
and ax, si
mov word [r10 + 0xc8], ax
mov al, byte [0x14013a24f]
cmp al, r8b
jg 0x1400addd6
lea rcx, [rsp + 0x1c8]
call fcn.14005aef8
mov ecx, dword [rsp + 0x54]
mov ebx, dword [rsp + 0x64]
jmp 0x1400ae916
cmp ebp, r8d
je 0x1400ae4aa
cmp esi, r8d
je 0x1400adf62
lea rcx, [rsp + 0x508]
call fcn.14005aec8
xorpd xmm6, xmm6
movsxd r12, dword [rsp + 0x78]
mov r11d, dword [rsp + 0x9c]
mov r9d, 1
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0x100], r8
movapd xmm8, xmm6
movapd xmm9, xmm6
lea r14d, [r12 - 1]
mov qword [rsp + 0xf8], r8
mov sil, r8b
mov qword [rsp + 0x130], r9
mov bpl, r9b
mov dil, r9b
cmp r11d, r8d
je 0x1400ae172
mov rax, qword [rsp + 0x508]
lea r8, [rsp + 0x5a]
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0xb8]
mov byte [rsp + 0x5a], 0xc
mov qword [rsp + 0xb8], rax
call fcn.140064364
lea rcx, [rsp + 0xb8]
movapd xmm7, xmm0
call fcn.14005aec8
lea r8, [rsp + 0x59]
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0xb8]
mov byte [rsp + 0x59], 0xc
call fcn.140064364
lea rcx, [rsp + 0xb8]
movapd xmm8, xmm0
call fcn.14005aec8
mov rax, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x130]
lea r8, [rsp + 0x5b]
lea rdx, [rsp + 0xf8]
lea rcx, [rbx + rax]
mov byte [rsp + 0x5b], 0xc
mov qword [rsp + 0xf8], rcx
lea rcx, [rsp + 0xb8]
call fcn.140064364
mov al, byte [rsp + 0x5b]
or al, byte [rsp + 0x59]
movapd xmm9, xmm0
or al, byte [rsp + 0x5a]
test al, 2
jne 0x1400ae0ca
mov r9d, 1
test r9b, al
setne sil
add sil, r9b
comisd xmm6, xmm8
jbe 0x1400ae095
mov bpl, 0xff
or eax, 0xffffffff
xor r8d, r8d
movzx edi, dil
cmp rbx, r8
cmovl edi, eax
cmp sil, r9b
jne 0x1400ae0b5
cmp rbx, r8
mov eax, r8d
sete al
jmp 0x1400ae0c1
ucomisd xmm6, xmm8
jp 0x1400ae0be
je 0x1400ae0ca
mov eax, r8d
cmp eax, r8d
je 0x1400ae17d
lea rcx, [rsp + 0xc0]
call fcn.14005aef8
lea rcx, [rsp + 0xe0]
call fcn.14005aef8
lea rcx, [rsp + 0x70]
call fcn.14005aef8
lea rcx, [rsp + 0xe8]
call fcn.14005aef8
lea rcx, [rsp + 0x160]
call fcn.14005aef8
mov r12, 0xffffffff80070057
lea rcx, [rsp + 0x90]
call fcn.14005aef8
lea rcx, [rsp + 0x80]
call fcn.14005aef8
lea rcx, [rsp + 0x88]
call fcn.14005aef8
lea rcx, [rsp + 0xf0]
call fcn.14005aef8
lea rcx, [rsp + 0x148]
call fcn.1400281dc
lea rcx, [rsp + 0x148]
call fcn.14005aef8
lea rcx, [rsp + 0x118]
call fcn.14005aef8
mov rax, r12
jmp 0x1400ae9f6
movsd xmm7, qword [rsp + 0x508]
jmp 0x1400ae185
mov r11d, dword [rsp + 0x9c]
mov al, byte [0x14013a24f]
mov r13, r12
cmp al, r8b
jle 0x1400ae49d
mov r12, qword [rsp + 0x520]
mov r15, qword [rsp + 0x1c0]
mov r10, qword [rsp + 0x500]
mov ebx, 0xfeff
xor ecx, ecx
mov r8, qword [rsp + 0x508]
movzx eax, word [r8]
cmp ax, cx
je 0x1400ae49d
test byte [r10 + 0xc8], 0xef
jne 0x1400ae49d
mov rdx, r8
test r11d, r11d
je 0x1400ae2f5
xor ecx, ecx
cmp sil, r9b
jne 0x1400ae241
cmp dil, cl
mov rbx, qword [rsp + 0x100]
jle 0x1400ae20a
cmp rbx, qword [rsp + 0xf8]
jg 0x1400ae49d
cmp dil, cl
jge 0x1400ae21a
cmp rbx, qword [rsp + 0xf8]
jl 0x1400ae49d
mov r8, qword [rsp + 0x88]
mov edx, ebx
mov rcx, r10
call fcn.140066694
add rbx, qword [rsp + 0x130]
mov qword [rsp + 0x100], rbx
jmp 0x1400ae2eb
cmp bpl, cl
jle 0x1400ae254
comisd xmm7, xmm9
ja 0x1400ae49d
cmp bpl, cl
jge 0x1400ae261
comisd xmm9, xmm7
ja 0x1400ae49d
lea r8, [0x1401267a8]
lea rcx, [rsp + 0x1d0]
movapd xmm1, xmm7
call fcn.1400e62ec
lea rcx, [rsp + 0x1d0]
mov edx, 0x2e
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov rbx, rax
xor eax, eax
cmp rbx, rax
je 0x1400ae2c9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, 0x30
movsxd rcx, eax
lea rax, [rbx + rcx*2 - 2]
xor ecx, ecx
cmp dx, word [rax]
jne 0x1400ae2bc
mov word [rax], cx
sub rax, 2
jmp 0x1400ae2ae
mov edx, 0x2e
cmp dx, word [rax]
jne 0x1400ae2c9
mov word [rax], cx
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x500]
lea r8, [rsp + 0x1d0]
call fcn.140062600
addsd xmm7, xmm8
mov ebx, 0xfeff
jmp 0x1400ae3dc
xor r9d, r9d
cmp r13, r9
je 0x1400ae364
lea r10d, [r9 + 0x22]
cmp r10w, ax
jne 0x1400ae364
movsxd rax, r14d
lea rdx, [r8 + rax*2]
add r8, 2
mov qword [rsp + 0x508], r8
movzx eax, word [r8]
cmp ax, r9w
je 0x1400ae396
cmp r10w, ax
jne 0x1400ae30e
movzx eax, word [r8 + 2]
cmp ax, r9w
je 0x1400ae353
mov r11d, 9
cmp r11w, ax
ja 0x1400ae347
cmp ax, 0xd
jbe 0x1400ae353
mov r11d, 0x20
cmp r11w, ax
jne 0x1400ae30e
add r8, 2
mov ecx, r14d
mov qword [rsp + 0x508], r8
jmp 0x1400ae396
mov r10d, 0x20
lea r11d, [r10 - 0x17]
cmp r11w, ax
ja 0x1400ae37a
cmp ax, 0xd
jbe 0x1400ae396
cmp r10w, ax
je 0x1400ae396
add r8, 2
mov qword [rsp + 0x508], r8
mov ax, word [r8]
cmp ax, r9w
jne 0x1400ae36e
movsxd rax, ecx
lea rcx, [rsp + 0xc0]
add rax, rax
sub r8, rax
sub r8, rdx
sar r8, 1
call fcn.140063508
lea rcx, [rsp + 0x508]
call fcn.14005aec8
mov r8, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x500]
call fcn.140062600
mov r9d, 1
xor ecx, ecx
add dword [rsp + 0x54], r9d
cmp r15, rcx
je 0x1400ae430
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x510]
mov rcx, qword [rsp + 0x500]
add rax, 2
lea r8, [rsp + 0x110]
xor r9d, r9d
mov qword [rsp + 0x110], rax
lea rax, [0x14011c618]
mov qword [rsp + 0x20], rax
call fcn.1400a5738
jmp 0x1400ae45a
mov rdx, qword [rsp + 0x90]
cmp word [rdx], cx
je 0x1400ae462
mov r8, qword [rsp + 0x510]
mov rcx, qword [rsp + 0x500]
xor r9d, r9d
mov qword [rsp + 0x20], r12
call fcn.14004c180
mov r9d, 1
xor ecx, ecx
mov r10, qword [rsp + 0x500]
mov edx, 0x100
movzx eax, word [r10 + 0xc8]
test dx, ax
je 0x1400ae487
and ax, bx
mov word [r10 + 0xc8], ax
mov al, byte [0x14013a24f]
mov r11d, dword [rsp + 0x9c]
cmp al, cl
jg 0x1400ae1b6
lea rcx, [rsp + 0xc0]
jmp 0x1400adf35
call fcn.14001be60
lea rcx, [rsp + 0x80]
mov rdx, rax
call fcn.14006ffb0
mov r11, qword [rsp + 0x80]
xor r9d, r9d
cmp word [r11], r9w
je 0x1400ae912
mov ebp, dword [rsp + 0x5c]
movzx r12d, r9w
mov r13b, r9b
cmp ebp, r9d
je 0x1400ae598
cmp dword [rsp + 0x98], r9d
je 0x1400ae531
lea rdx, [rsp + 0x260]
mov ecx, 0x104
mov word [rsp + 0x260], r9w
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov r12w, word [rsp + 0x260]
cmp r12w, 0x61
jb 0x1400ae52e
cmp r12w, 0x7a
ja 0x1400ae52e
mov eax, 0xffdf
and r12w, ax
xor r9d, r9d
mov word [r15 + 2], r9w
mov word [r15], r9w
mov word [rbx + 2], r9w
mov rdx, r15
mov ecx, 0x324
mov word [rbx], r9w
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
xor r9d, r9d
and bpl, 2
mov rsi, r15
mov rbx, r15
cmp word [r15], r9w
je 0x1400ae581
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 0x1400ae564
cmp bpl, r9b
mov rbp, qword [rsp + 0x520]
mov rdi, r15
cmovne rdi, rsi
jmp 0x1400ae78e
mov rax, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x520]
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x80], rax
cmp r14d, r9d
jne 0x1400ae5d2
mov rax, qword [rsp + 0x90]
cmp word [rax], r9w
jne 0x1400ae5d2
mov eax, dword [rsp + 0x60]
cmp eax, r9d
je 0x1400ae908
mov esi, dword [rsp + 0xb0]
cmp dword [rsp + 0xd8], r9d
je 0x1400ae60a
movzx ecx, word [r11]
cmp cx, r9w
je 0x1400ae60a
mov eax, 0x3a
cmp word [r11 + 2], ax
jne 0x1400ae60a
call fcn.140101148
xor r9d, r9d
cmp eax, r9d
je 0x1400ae783
lea rcx, [rsp + 0x78]
call fcn.1400632a0
mov rcx, qword [rsp + 0x70]
lea r8, [rsp + 0x178]
lea rdx, [rsp + 0x78]
xor r13d, r13d
mov qword [rsp + 0x178], r13
call fcn.1400e3508
mov r8, qword [rsp + 0x78]
cmp dword [rsp + 0xc8], r13d
je 0x1400ae65b
mov rax, qword [rsp + 0x178]
sub rax, r8
sar rax, 1
mov qword [rsp + 0x198], rax
cmp dword [rsp + 0x140], r13d
je 0x1400ae6f0
mov ecx, 8
call fcn.1401021d8
cmp rax, r13
je 0x1400ae687
lea rdx, [rsp + 0x78]
mov rcx, rax
call fcn.14006ff74
jmp 0x1400ae68a
mov rax, r13
mov ebx, 1
lea r9, [rsp + 0x1b8]
lea r8, [rsp + 0x158]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x148]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 8
mov qword [rsp + 0x1b8], rax
call fcn.140063670
cmp dword [rsp + 0x5c], r13d
je 0x1400ae6eb
cmp word [rdi], r13w
je 0x1400ae6eb
lea rcx, [rsp + 0x78]
mov r13b, bl
call fcn.14005aef8
xor r9d, r9d
jmp 0x1400ae78e
mov r8, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x500]
mov r9, qword [rsp + 0x510]
mov qword [rsp + 0x48], rbp
mov dword [rsp + 0x40], esi
lea rax, [rsp + 0x180]
mov ecx, r14d
or ecx, dword [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x90]
or ecx, dword [rsp + 0xa0]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x28], ecx
lea rdx, [rsp + 0x160]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400ac3c4
mov ecx, 0x100
add dword [rsp + 0x54], eax
movzx eax, word [rbx + 0xc8]
test cx, ax
je 0x1400ae776
mov ecx, 0xfeff
and ax, cx
mov word [rbx + 0xc8], ax
lea rcx, [rsp + 0x78]
call fcn.14005aef8
xor r9d, r9d
cmp dword [rsp + 0x5c], r9d
je 0x1400ae86a
movsxd rbx, dword [rsp + 0x98]
mov al, byte [0x14013a24f]
cmp al, r9b
jle 0x1400ae863
cmp word [rdi], r9w
je 0x1400ae863
lea rax, [rsp + 0x180]
cmp qword [rax], r9
je 0x1400ae863
mov rax, qword [rsp + 0x500]
test byte [rax + 0xc8], 0xef
jne 0x1400ae863
lea rcx, [rsp + 0x70]
mov rdx, rdi
call fcn.140070048
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x70]
call fcn.1400633dc
xor r9d, r9d
cmp rbx, r9
jne 0x1400ae848
test byte [rsp + 0x5c], 2
je 0x1400ae820
sub rdi, 2
cmp rdi, r15
jbe 0x1400ae834
lea rax, [rdi - 2]
cmp word [rax], r9w
je 0x1400ae834
mov rdi, rax
cmp rax, r15
ja 0x1400ae80c
jmp 0x1400ae834
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
xor r9d, r9d
cdqe
lea rdi, [rdi + rax*2]
mov r11, qword [rsp + 0x70]
cmp r12w, word [r11]
je 0x1400ae796
jmp 0x1400ae5b2
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x98], r9d
mov word [rax], r12w
mov r11, qword [rsp + 0x70]
jmp 0x1400ae5b2
mov esi, dword [rsp + 0xb0]
cmp r13b, r9b
je 0x1400adf3a
mov rbx, qword [rsp + 0x90]
lea r8, [rsp + 0x150]
lea rdx, [rsp + 0x148]
mov r9d, 8
xor ecx, ecx
call fcn.140063780
or r14d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x510]
mov rcx, qword [rax]
mov rax, qword [rsp + 0x520]
or r14d, dword [rsp + 0xa0]
mov r8, qword [rcx]
mov rcx, qword [rsp + 0x500]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], esi
lea rax, [rsp + 0x180]
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
call fcn.1400ac3c4
mov ecx, dword [rsp + 0x54]
add ecx, eax
jmp 0x1400adf3e
mov ecx, dword [rsp + 0x54]
mov ebx, dword [rsp + 0x64]
jmp 0x1400ae91a
mov ecx, edi
mov ebx, ecx
mov eax, dword [rsp + 0x60]
mov r9, qword [rsp + 0x500]
mov edx, 0x8b
and word [r9 + 0xc8], dx
xor edx, edx
cmp byte [rsp + 0x58], dl
je 0x1400ae951
mov r8, qword [rsp + 0x160]
mov rdx, qword [rsp + 0x88]
mov rcx, r9
call fcn.140062600
jmp 0x1400ae967
cmp eax, edx
je 0x1400ae967
mov r8, qword [rsp + 0x88]
mov edx, ecx
mov rcx, r9
call fcn.140066694
lea rcx, [rsp + 0xe0]
call fcn.14005aef8
lea rcx, [rsp + 0x70]
call fcn.14005aef8
lea rcx, [rsp + 0xe8]
call fcn.14005aef8
lea rcx, [rsp + 0x160]
call fcn.14005aef8
lea rcx, [rsp + 0x90]
call fcn.14005aef8
lea rcx, [rsp + 0x80]
call fcn.14005aef8
lea rcx, [rsp + 0x88]
call fcn.14005aef8
lea rcx, [rsp + 0xf0]
call fcn.14005aef8
lea rcx, [rsp + 0x148]
call fcn.1400281dc
lea rcx, [rsp + 0x148]
call fcn.14005aef8
lea rcx, [rsp + 0x118]
call fcn.14005aef8
movsxd rax, ebx
lea r11, [rsp + 0x4b8]
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