Function at 0x210106910
Capabilities:
Get file attributes

Disassembly:
push r15
mov eax, 0x1248
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.21021b550
sub rsp, rax
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov eax, dword [rax - 0x2cc8]
mov dword [rsp + 0xc8], eax
mov r13, rdx
mov ebp, r8d
lea r14, [rsp + 0xc8]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1290], rcx
mov rcx, r14
mov qword [rsp + 0x12a8], r9
mov eax, dword [rax - 0x2cc4]
mov dword [rsp + 0xcc], eax
call method.tmp_pathbuf.c_get__
mov rcx, r14
mov r12, rax
call method.tmp_pathbuf.c_get__
mov rcx, r14
mov qword [rsp + 0x70], rax
call method.tmp_pathbuf.w_get__
mov rcx, r14
mov qword [rsp + 0x78], rax
call method.tmp_pathbuf.c_get__
mov qword [rsp + 0x68], rax
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
lea rdx, [rsp + 0x120]
mov rax, qword [rax - 0x1bf8]
mov qword [rsp + 0x120], rax
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov qword [rax - 0x1bf8], rdx
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov rax, qword [rax - 0x2cc8]
mov qword [rsp + 0x128], rax
lea rax, [0x210106eb8]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rsp
mov rax, qword [rsp + 0x1290]
movabs rdi, 0x40ffffffff
mov rcx, qword [rax + 0x70]
mov qword [rax], rdi
mov qword [rax + 0x98], 0
mov qword [rax + 0xa0], 0
test rcx, rcx
je 0x210106a58
call sym.cfree
nop dword [rax]
mov rax, qword [rsp + 0x1290]
mov rcx, qword [rax + 0x90]
mov qword [rax + 0x70], 0
test rcx, rcx
je 0x210106a8c
call sym.cfree
mov rax, qword [rsp + 0x1290]
mov qword [rax + 0x90], 0
mov rax, qword [rsp + 0x1290]
mov rcx, qword [rax + 0xb0]
test rcx, rcx
je 0x210106aa5
call sym.CloseHandle
mov rax, qword [rsp + 0x1290]
mov rbx, qword [rsp + 0x1290]
mov qword [rax + 0xb0], 0
add rax, 8
mov qword [rbx + 8], 0
mov qword [rbx + 0x10], 0
mov dword [rax + 0x10], 0
mov rcx, qword [rbx + 0xa8]
mov qword [rsp + 0x98], rax
mov dword [rbx + 0x1c], 0
mov byte [rbx + 0x20], 0
test rcx, rcx
je 0x210106b12
call sym.cfree
mov rax, qword [rsp + 0x1290]
mov qword [rax + 0xa8], 0
test bpl, 0x20
je 0x210106ee0
movzx eax, byte [r13]
test al, al
je 0x210107468
mov byte [rsp + 0xa1], 0
mov rsi, qword [rsp + 0x1290]
mov dword [rsp + 0xa4], 0xb
mov dword [rsp + 0x88], 0
mov byte [rsp + 0xa2], 0
mov dword [rsp + 0x12a0], ebp
cmp al, 0x2f
sete cl
cmp al, 0x5c
sete dl
or cl, dl
mov byte [rsp + 0xa3], cl
jne 0x210106f00
movsx ecx, al
call sym.msys_2.0.dll_isalpha
test eax, eax
je 0x210106b8e
cmp byte [r13 + 1], 0x3a
je 0x21010753d
mov byte [rsp + 0xa3], 1
lea r8, [rsp + 0xb8]
mov rdx, r12
mov rcx, r13
call sym.normalize_posix_path_char_const__char__char_
mov dword [rsi + 0x120], eax
test eax, eax
jg 0x210106e50
je 0x210106be3
mov edx, dword [rsp + 0x88]
mov eax, 1
movzx ebx, byte [rsp + 0xa1]
mov dword [rsi + 0x120], 0
test edx, edx
cmove ebx, eax
mov byte [rsp + 0xa1], bl
mov rdi, qword [rsp + 0xb8]
lea rax, [r12 + 2]
mov qword [rsp + 0x80], rdi
cmp rdi, rax
jbe 0x210106f10
cmp byte [rdi - 1], 0x2f
jne 0x210106c30
lea rax, [rdi - 1]
mov byte [rsp + 0xa2], 1
mov qword [rsp + 0xb8], rax
mov byte [rdi - 1], 0
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x80], rax
nop
mov rax, qword [rsp + 0x12a8]
mov r14, qword [rsp + 0x68]
mov byte [rsp + 0x200], 0
lea r13, [rsi + 0x128]
mov edi, dword [rsp + 0x12a0]
mov dword [rsp + 0x8c], 0
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x88], 0
and edi, 0x3005
lea r15, [rsp + 0x1210]
mov rbp, r15
jmp 0x210106d37
mov eax, dword [rsi + 0x130]
cmp eax, 0xc0
je 0x210107565
cmp eax, 0xc1
je 0x210106f50
lea edx, [rax - 0xc8]
cmp edx, 0x37
jbe 0x210106ccf
cmp eax, 0xc2
sete dl
cmp eax, 0xbf
sete cl
or dl, cl
je 0x210107c8c
mov rdx, r12
mov rcx, r13
call sym.build_fh_dev_device_const__char_const_
mov r15, rax
test rax, rax
je 0x210107840
mov rax, qword [rax]
mov rcx, r15
call qword [rax + 0x340]
cmp eax, 2
je 0x210107591
cmp eax, 7
je 0x210107591
cmp eax, 0x1003
jne 0x210107877
cmp dword [rsi + 0x130], 0xfb
jne 0x2101078a0
mov rdx, qword [r15 + 0x1d0]
mov rcx, r12
call sym.msys_2.0.dll_strcpy
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x20]
mov rax, qword [0x21025fe40]
mov r9, r13
mov r8, r14
mov rdx, r12
mov qword [rsp + 0x20], rbp
lea rcx, [rax + 0x10]
call method.mount_info.conv_to_win32_path_char_const__char__device__unsigned_int_
mov dword [rsi + 0x120], eax
mov ebx, eax
test eax, eax
jne 0x210106e50
mov dword [rsp + 0x1214], edi
mov rcx, r13
call qword [rsi + 0x140]
test eax, eax
jne 0x210106c90
mov rax, qword [rsp + 0x1290]
mov dword [rax + 0x120], 6
jmp 0x210106e50
test ebp, 0x8000
je 0x210106dd0
cmp byte [rsp + 0xa2], 0
je 0x210106dd0
mov rax, qword [rsp + 0x1290]
mov rsi, qword [rax + 0x90]
mov rcx, rsi
call sym.msys_2.0.dll_strlen
cmp byte [rsi + rax - 1], 0x5c
mov rbx, rax
jne 0x2101074da
nop
test ebp, 0x200
je 0x210106de7
mov rax, qword [rsp + 0x1290]
or dword [rax + 0x9c], 2
test ebp, 0x400
je 0x210106dfe
mov rax, qword [rsp + 0x1290]
or dword [rax + 0x9c], 1
test bpl, bpl
jns 0x210106e50
test r12, r12
je 0x210106e50
mov rcx, r12
call sym.msys_2.0.dll_strlen
lea rbx, [rax + 1]
mov rax, qword [rsp + 0x1290]
mov rdx, rbx
mov rcx, qword [rax + 0xa8]
call sym.crealloc_abort
mov r8, rbx
mov rdx, r12
mov rcx, rax
call sym.msys_2.0.dll_memcpy
mov rbx, qword [rsp + 0x1290]
mov qword [rbx + 0xa8], rax
nop dword [rax + rax]
mov rdx, qword [rsp + 0x120]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov qword [rax - 0x1bf8], rdx
mov edx, dword [rsp + 0xc8]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov dword [rax - 0x2cc8], edx
mov edx, dword [rsp + 0xcc]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov dword [rax - 0x2cc4], edx
add rsp, 0x1248
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x1290]
mov dword [rax + 0x120], 0
movzx eax, byte [r13]
jmp 0x210106b29
mov byte [rsp + 0xa3], 0
jmp 0x210106b96
lea rax, [r12 + 1]
cmp qword [rsp + 0x80], rax
jne 0x210106c30
mov rax, qword [rsp + 0x80]
movzx ebx, byte [rsp + 0xa2]
cmp byte [rax - 1], 0x2f
mov eax, 1
cmove ebx, eax
mov byte [rsp + 0xa2], bl
jmp 0x210106c30
cmp byte [r14], 0
je 0x210106f70
cmp byte [r14 + 1], 0x3a
jne 0x210106f70
cmp byte [r14 + 2], 0
jne 0x210106f70
mov r11d, 0x5c
mov word [r14 + 2], r11w
nop
cmp byte [rsp + 0xa1], 0
jne 0x21010752d
lea rax, [rsi + 0xb0]
mov r9, qword [rsp + 0x98]
mov rdx, r14
mov r8, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x200]
call method.symlink_info.check_char__suffix_info_const__fs_info__path_conv_handle_
mov dword [rsp + 0x8c], eax
movzx ecx, byte [rsp + 0x1228]
test cl, cl
jne 0x210107ebe
mov eax, dword [rsp + 0x120c]
test al, 0x20
jne 0x210107e42
mov r8d, dword [rsp + 0x88]
mov edx, dword [rsi + 0x130]
test r8d, r8d
je 0x2101078ab
cmp edx, 0xc1
je 0x210107995
mov r15d, dword [rsp + 0x121c]
test r15d, r15d
jne 0x210107010
mov eax, dword [rsp + 0x1218]
cmp eax, 0xffffffff
jne 0x2101080de
mov ebp, dword [rsp + 0x8c]
test ebp, ebp
jne 0x210107f24
mov eax, dword [rsp + 0x1224]
mov ebx, eax
and ebx, 0xfffffffd
mov dword [rsp + 0x8c], ebx
jne 0x2101080b5
mov rbx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0xb8]
mov rax, rbx
cmp rdx, rbx
je 0x21010705b
mov byte [rdx], 0x2f
mov rax, qword [rsp + 0xb8]
lea rcx, [r12 + 1]
jmp 0x210107071
cmp byte [rax], 0x2f
je 0x210107428
mov rdx, rax
sub rax, 1
mov qword [rsp + 0xb8], rax
cmp rax, rcx
ja 0x210107068
mov ebp, dword [rsp + 0x12a0]
xor r15d, r15d
mov rax, qword [rsp + 0x1290]
mov rcx, qword [rax + 0x90]
test rcx, rcx
je 0x2101070a8
call sym.cfree
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
call sym.msys_2.0.dll_strlen
mov ecx, 1
lea rdx, [rax + 7]
call sym.cmalloc_abort
mov rdx, rbx
mov rcx, rax
call sym.msys_2.0.dll_strcpy
mov rcx, rax
mov rax, qword [rsp + 0x1290]
mov qword [rax + 0x90], rcx
test r15b, r15b
jne 0x210107480
mov rax, qword [rsp + 0x1290]
mov ebx, dword [rsp + 0x88]
mov eax, dword [rax + 0x130]
test ebx, ebx
je 0x21010710d
cmp eax, 0xc2
je 0x210107d35
sub eax, 0xc8
cmp eax, 0x37
jbe 0x210107454
cmp byte [rsp + 0xa2], 0
je 0x210107160
mov rax, qword [rsp + 0x1290]
mov r11d, dword [rax + 0x120]
test r11d, r11d
jne 0x210107160
mov eax, dword [rax]
cmp eax, 0xffffffff
je 0x210107dcf
test al, 0x10
je 0x210107d47
mov rax, qword [rsp + 0x1290]
and dword [rax + 0x9c], 0xffffffef
nop dword [rax + rax]
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0x80]
jae 0x210107180
lea rdx, [r12 + 1]
cmp rax, rdx
ja 0x210107525
mov rax, qword [rsp + 0x1290]
cmp byte [rax + 0x14d], 0
jne 0x210107318
cmp dword [rax + 0x130], 0xc3
je 0x210107318
test bpl, 0x10
je 0x210106d98
cmp byte [rsp + 0xa3], 0
je 0x210106da0
mov rax, qword [rsp + 0x1290]
xor r13d, r13d
lea rcx, [rsp + 0xd8]
mov edx, dword [rax + 4]
mov rdi, qword [rax + 0x90]
test edx, edx
setne r13b
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov eax, dword [rax - 0x2cc8]
mov dword [rsp + 0xd8], eax
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov eax, dword [rax - 0x2cc4]
mov dword [rsp + 0xdc], eax
call method.tmp_pathbuf.c_get__
mov dword [rsp + 0x20], 0x8000
xor r9d, r9d
xor r8d, r8d
mov rbx, rax
mov rax, qword [0x21023d810]
mov rdx, rbx
lea rcx, [rax + 0x48c8]
call method.cwdstuff.get_char__int__int__unsigned_int_
test rax, rax
je 0x2101072b2
mov rcx, rbx
call sym.msys_2.0.dll_strlen
mov r9d, r13d
mov rdx, rdi
mov rcx, rbx
mov r8d, eax
mov rsi, rax
call sym.path_prefix_p_char_const__char_const__int__bool_
test eax, eax
je 0x2101072b2
mov rcx, rdi
call sym.msys_2.0.dll_strlen
mov edx, esi
cmp rax, rdx
jb 0x2101072b2
lea r13, [rdi + rax]
je 0x210107292
lea eax, [rsi - 1]
movzx eax, byte [rbx + rax]
cmp al, 0x2f
je 0x21010728e
lea ecx, [rsi + 1]
cmp al, 0x5c
cmovne rdx, rcx
lea r13, [rdi + rdx]
mov rcx, r13
call sym.msys_2.0.dll_strlen
mov rdx, r13
mov rcx, rdi
lea r8, [rax + 1]
call sym.msys_2.0.dll_memmove
cmp byte [rdi], 0
je 0x210107eb1
mov edx, dword [rsp + 0xd8]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov dword [rax - 0x2cc8], edx
mov edx, dword [rsp + 0xdc]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov dword [rax - 0x2cc4], edx
mov rax, qword [rsp + 0x1290]
mov rcx, qword [rax + 0x70]
test rcx, rcx
je 0x2101072fc
call sym.cfree
mov rax, qword [rsp + 0x1290]
mov qword [rax + 0x70], 0
jmp 0x210106da0
mov rax, qword [rsp + 0x1290]
mov r9d, dword [rax + 8]
test r9d, r9d
je 0x210107910
cmp byte [rsp + 0xa1], 0
jne 0x210107514
mov rax, qword [rsp + 0x1290]
movzx eax, byte [rax + 0x18]
test byte [0x210273880], 1
jne 0x210107954
mov rax, qword [rsp + 0x1290]
mov rbx, qword [rsp + 0x1290]
mov eax, dword [rax + 0x98]
movzx edx, byte [rbx + 0x18]
test ah, 0x20
jne 0x210107389
test dl, 2
je 0x210107389
mov rbx, qword [rsp + 0x1290]
or ah, 1
mov dword [rbx + 0x98], eax
test dl, 4
jne 0x2101073a1
mov rbx, qword [rsp + 0x1290]
or eax, 0x80000
mov dword [rbx + 0x98], eax
mov rcx, qword [0x21025fe48]
mov r8d, dword [rcx + 0x9c0c]
test r8d, r8d
je 0x2101074cc
mov rbx, qword [rsp + 0x1290]
or ah, 0x40
mov dword [rbx + 0x98], eax
mov edx, eax
mov rbx, qword [rsp + 0x1290]
shr edx, 8
and edx, 0x40
mov dword [rbx + 4], edx
test eax, 0x150
je 0x2101078d8
mov r8d, 0xc
lea rdx, str._dev_mqueue_
mov rcx, r12
call sym.msys_2.0.dll_strncmp
test eax, eax
jne 0x2101071a5
cmp byte [r12 + 0xc], 0
je 0x2101071a5
mov edx, 0xf
mov rcx, r13
call method.device.parse_unsigned_int_
jmp 0x2101071a5
mov edi, dword [rsp + 0x12a0]
mov byte [rdx - 1], 0
add dword [rsp + 0x88], 1
mov r14, qword [rsp + 0x70]
mov qword [rsp + 0x90], 0
and edi, 5
jmp 0x210106c77
mov rax, qword [rsp + 0x1290]
cmp dword [rax], 0xffffffff
jne 0x21010711b
nop dword [rax]
mov rax, qword [rsp + 0x1290]
mov dword [rax + 0x120], 2
jmp 0x210106e50
mov rdx, qword [rsp + 0x1200]
test rdx, rdx
je 0x2101070e9
cmp byte [rdx], 0
je 0x2101070e9
movsxd rax, dword [rsp + 0x1208]
add rcx, rax
mov rax, qword [rsp + 0x1290]
cmp byte [rsp + 0x1220], 0
mov qword [rax + 0xa0], rcx
je 0x2101070e9
call sym.msys_2.0.dll_strcpy
jmp 0x2101070e9
and edx, 8
je 0x2101073c9
jmp 0x2101073b8
mov r8d, 4
lea rdx, str.._
mov rcx, rsi
call sym.msys_2.0.dll_strncmp
test eax, eax
je 0x210106dd0
mov byte [rsi + rbx], 0x5c
mov rax, qword [rsp + 0x1290]
mov rax, qword [rax + 0x90]
mov byte [rax + rbx + 1], 0
jmp 0x210106dd0
mov rax, qword [rsp + 0x1290]
and byte [rax + 0x18], 0xfd
jmp 0x21010733b
mov byte [rax], 0x2f
jmp 0x210107180
or dword [rsp + 0x1210], 0x6000
jmp 0x210106f7e
movzx eax, byte [r13 + 2]
test al, al
je 0x210106b96
cmp al, 0x2f
sete dl
cmp al, 0x5c
sete al
or eax, edx
xor eax, 1
mov byte [rsp + 0xa3], al
jmp 0x210106b96
mov eax, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x12a0]
test eax, eax
jne 0x2101079b2
mov rax, qword [rsp + 0x1290]
xor r15d, r15d
mov dword [rax], 0x11
jmp 0x21010708f
mov dword [rsp + 0xac], eax
mov rax, qword [r15]
mov rcx, r15
mov rbp, r15
call qword [rax + 0x348]
mov r15, qword [r15 + 0x1d0]
lea rcx, [rsp + 0x200]
mov rdx, r15
call sym.msys_2.0.dll_strcpy
mov rcx, r15
movabs rax, 0x100000080
mov dword [rsp + 0x1224], 0
mov qword [rsp + 0x1218], rax
movabs rax, 0x1000000000
mov byte [rsp + 0x1228], 0
mov byte [rsp + 0x1220], 0
mov dword [rsp + 0x1230], 0
mov dword [rsp + 0x122a], 0
mov qword [rsp + 0x1200], 0
mov qword [rsp + 0x1208], rax
mov dword [rsp + 0x1210], 0
call sym.msys_2.0.dll_strlen
mov r9d, dword [rsp + 0xac]
mov dword [rsp + 0x8c], eax
mov rax, qword [rbp]
mov dword [rsp + 0xa8], r9d
mov rcx, rbp
call qword [rax + 0x20]
mov r9d, dword [rsp + 0xa8]
cmp r9d, 8
ja 0x2101077f0
test r9d, r9d
je 0x210107840
cmp r9d, 8
ja case.0x210107686.0
lea rdi, [0x2102a2044]
movsxd rax, dword [rdi + r9*4]
add rax, rdi
jmp rax
test dword [rsp + 0x12a0], 0x800
je case.0x210107686.2
and dword [rsp + 0x12a0], 0xfffffffe
or dword [rsp + 0x120c], 0x40
jmp case.0x210107686.2
mov r15d, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x12a0]
test r15d, r15d
jne 0x21010785a
mov rax, qword [rsp + 0x1290]
cmp byte [rsp + 0xa2], 0
mov dword [rax], 0x40
jne 0x210107df6
mov r8d, 0x270f
mov edx, 0x11c
mov rcx, r13
xor r15d, r15d
call method.device.parse_unsigned_short__unsigned_short_
jmp 0x21010708f
mov esi, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x12a0]
test esi, esi
jne 0x21010785a
mov rax, qword [rsp + 0x1290]
mov dword [rax], 0x40
nop dword [rax]
mov rax, qword [rsp + 0x1290]
xor r15d, r15d
or dword [rax + 0x98], 0x1000
jmp 0x21010708f
mov eax, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x12a0]
test eax, eax
jne 0x21010785a
mov rax, qword [rsp + 0x1290]
mov edx, 0x1e0000
mov rcx, r13
mov dword [rax], 0
call method.device.parse_unsigned_int_
mov dword [rsp + 0x88], ebx
jmp 0x210107728
mov eax, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x12a0]
test eax, eax
jne 0x21010785a
mov rax, qword [rsp + 0x1290]
mov edx, 0xc7
mov rcx, r13
mov dword [rax], 0
call method.device.parse_unsigned_int_
jmp 0x210107773
mov edx, 0xc3
mov rcx, r13
call method.device.parse_unsigned_int_
jmp 0x210106f7e
mov eax, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x12a0]
test eax, eax
jne 0x21010785a
mov rax, qword [rsp + 0x1290]
mov dword [rax], 0
jmp 0x210107728
cmp r9d, 0x1002
ja 0x210107830
cmp r9d, 0x1000
jbe 0x210107840
mov eax, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x12a0]
test eax, eax
jne 0x21010785a
mov rax, qword [rsp + 0x1290]
mov dword [rax], 0x10
jmp 0x210107728
cmp r9d, 0x1003
je case.0x210107686.8
nop dword [rax]
mov ebx, dword [rsp + 0x88]
test ebx, ebx
jne 0x210107038
mov dword [rsi], 0xffffffff
jmp 0x210107038
mov rax, qword [rsp + 0x1290]
cmp dword [rax + 0x130], 0xc2
jne 0x210107728
jmp 0x21010708c
mov r9d, eax
mov rbp, r15
test eax, eax
jne 0x210107641
cmp dword [rsi + 0x130], 0xfb
je 0x210107d88
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x20]
jmp 0x210107840
mov r9d, eax
mov rbp, r15
jmp 0x210107641
cmp edx, 0xc1
mov edx, 0x10
cmovne edx, dword [rsp + 0x1218]
mov dword [rsi + 0x9c], eax
mov dword [rsi], edx
mov edx, dword [rsp + 0x1210]
mov dword [rsi + 0x98], edx
jmp 0x210106ff3
mov ecx, dword [sym.msys_2.0.dll__check_for_executable]
test ecx, ecx
je 0x2101073e7
mov edx, dword [rbx]
cmp edx, 0xffffffff
je 0x210107cf6
and edx, 0x10
je 0x210107cf6
mov rbx, qword [rsp + 0x1290]
or eax, 0x10
mov dword [rbx + 0x98], eax
jmp 0x2101073e7
xor edx, edx
mov rcx, rax
call method.path_conv.get_nt_native_path__UNICODE_STRING_
mov rcx, qword [rsp + 0x98]
xor r8d, r8d
mov rdx, rax
call method.fs_info.update__UNICODE_STRING__void_
test al, al
jne 0x21010732d
mov rax, qword [rsp + 0x1290]
mov rbx, qword [rsp + 0x1290]
mov eax, dword [rax + 0x98]
movzx edx, byte [rbx + 0x18]
jmp 0x210107389
shr al, 1
lea r9, str.this__path__s___has_acls__d_
lea r8, str.void_path_conv::check_const_char__unsigned_int__const_suffix_info_
mov edx, 0x40
and eax, 1
lea rcx, [0x210273880]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x1290]
mov rax, qword [rax + 0x90]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x210107354
cmp dword [rsp + 0x1224], 2
je 0x210107dae
mov dword [rsi + 0x130], 0xc3
jmp 0x210106ff3
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov ebx, dword [rsp + 0x1210]
lea rcx, [rsp + 0xd0]
mov eax, dword [rax - 0x2cc8]
and ebx, 0x4000
mov dword [rsp + 0xd0], eax
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov eax, dword [rax - 0x2cc4]
mov dword [rsp + 0xe0], 0xfffe0000
mov dword [rsp + 0xd4], eax
call method.tmp_pathbuf.w_get__
test ebx, ebx
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0xe0]
setne bl
xor r8d, r8d
mov qword [rsp + 0x180], rdx
movzx ebx, bl
mov qword [rsp + 0xe8], rax
mov dword [rsp + 0x170], 0x30
shl ebx, 6
mov qword [rsp + 0x178], 0
mov dword [rsp + 0x188], ebx
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
call sym.get_nt_native_path_char_const___UNICODE_STRING__bool_
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x170]
call sym.NtQueryAttributesFile
mov r14d, eax
mov eax, dword [rsp + 0x160]
test r14d, r14d
jns 0x210107c3c
cmp r14d, 0xc0000034
je 0x210107c28
cmp r14d, 0xc000000f
je 0x210107c28
movzx r8d, word [rsp + 0xe0]
mov rcx, qword [rsp + 0xe8]
mov eax, r8d
shr ax, 1
jmp 0x210107ae5
lea edx, [rax - 1]
movzx r9d, dx
cmp word [rcx + r9*2], 0x5c
je 0x210107e28
mov eax, edx
test ax, ax
jne 0x210107ad0
mov eax, 2
mov edx, 2
mov dword [rsp + 0x28], 0x4021
sub r8d, edx
mov dword [rsp + 0x20], 7
mov qword [rsp + 0x108], rcx
add rcx, rax
lea rax, [rsp + 0x100]
mov dword [rsp + 0x188], ebx
lea rbx, [rsp + 0xf0]
mov word [rsp + 0x102], dx
mov r9, rbx
mov word [rsp + 0x100], dx
mov edx, 0x100001
mov word [rsp + 0x112], r8w
mov word [rsp + 0x110], r8w
lea r8, [rsp + 0x170]
mov qword [rsp + 0x118], rcx
lea rcx, [rsp + 0xc0]
mov dword [rsp + 0x170], 0x30
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
call sym.NtOpenFile
mov r14d, eax
test eax, eax
js 0x210107c28
mov dword [rsp + 0x50], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rax, [rsp + 0x110]
mov dword [rsp + 0x40], 1
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x1a0]
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x30], 0x60
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call sym.NtQueryDirectoryFile
mov rcx, qword [rsp + 0xc0]
mov r14d, eax
call sym.NtClose
test r14d, r14d
jns 0x210107e36
cmp r14d, 0x80000005
je 0x210107e36
mov ecx, r14d
call sym.RtlNtStatusToDosError
mov ecx, eax
call sym.SetLastError
mov eax, 0xffffffff
mov rdx, qword gs:[0x30]
mov ecx, dword [rsp + 0xd0]
mov rdx, qword [rdx + 8]
xor r15d, r15d
mov rbx, qword [rsp + 0x1290]
mov dword [rdx - 0x2cc8], ecx
mov ecx, dword [rsp + 0xd4]
mov rdx, qword gs:[0x30]
mov rdx, qword [rdx + 8]
mov dword [rdx - 0x2cc4], ecx
mov dword [rbx], eax
mov dword [rbx + 0x130], 0xc3
jmp 0x21010708f
cmp eax, 0xc3
je 0x210106f50
mov rax, qword [rsp + 0x1290]
mov rsi, qword [rsp + 0x1290]
mov r15d, edx
cmp dword [rsp + 0x88], 0
mov ebp, dword [rsp + 0x12a0]
mov dword [rax], 0
mov eax, dword [rsp + 0x1210]
mov dword [rsi + 0x98], eax
mov eax, dword [rsp + 0x120c]
mov dword [rsi + 0x9c], eax
je 0x21010708f
mov rax, qword [rsp + 0x1290]
mov dword [rax + 0x120], 0x14
jmp 0x210106e50
mov rbx, qword [rsp + 0x1290]
test byte [rbx + 0x9c], 0x10
jne 0x210107d1f
mov rsi, qword [rsp + 0x1290]
cmp dword [rsi + 0x130], 0x1e0078
jne 0x2101073e7
mov rbx, qword [rsp + 0x1290]
or ah, 1
mov dword [rbx + 0x98], eax
jmp 0x2101073e7
mov edx, 0xc3
mov rcx, r13
call method.device.parse_unsigned_int_
jmp 0x210107160
test byte [0x210273880], 1
je 0x210107cdf
mov rax, qword [rsp + 0x1290]
lea r9, str._s_is_a_non_directory
lea r8, str.void_path_conv::check_const_char__unsigned_int__const_suffix_info_
mov edx, 0x40
lea rcx, [0x210273880]
mov rax, qword [rax + 0x90]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x210107cdf
call sym.msys_2.0.dll___errno
mov edx, dword [rax]
mov rax, qword [r15]
mov dword [rsi + 0x120], edx
mov rax, qword [rax + 0x20]
test edx, edx
jne 0x210108249
mov rcx, r15
call rax
jmp 0x210107840
test dword [rsp + 0x12a0], 0x1000
jne 0x2101079a3
mov dword [rsp + 0x1224], 0x1e
jmp 0x210106ff3
mov rax, qword [rsp + 0x1290]
mov rbx, qword [rax + 0x90]
mov rcx, rbx
call sym.msys_2.0.dll_strlen
mov r10d, 0x5c
mov word [rbx + rax], r10w
jmp 0x210107160
mov edx, 0xc3
mov rcx, r13
mov edi, 0x5c
xor r15d, r15d
call method.device.parse_unsigned_int_
mov rcx, r14
call sym.msys_2.0.dll_strlen
mov word [r14 + rax], di
mov rax, qword [rsp + 0x1290]
or dword [rax], 0x10
jmp 0x21010708f
lea edx, [rax + rax]
movzx eax, ax
add rax, rax
jmp 0x210107af4
mov eax, dword [rsp + 0x1d8]
jmp 0x210107c3c
mov r9d, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x12a0]
mov r15d, ecx
test r9d, r9d
jne 0x210107cdf
mov eax, dword [rsp + 0x1218]
mov rsi, qword [rsp + 0x1290]
mov edx, 0x1e0078
mov rcx, r13
mov dword [rsi], eax
call method.device.parse_unsigned_int_
mov rax, qword [rsp + 0x1290]
mov rbx, qword [rsp + 0x1290]
mov byte [rax + 0x14d], 1
mov eax, dword [rsp + 0x1210]
mov dword [rbx + 0x98], eax
mov eax, dword [rsp + 0x120c]
mov dword [rbx + 0x9c], eax
jmp 0x21010708f
mov eax, 0x2e
mov word [rdi], ax
jmp 0x2101072b2
mov r10d, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x12a0]
test r10d, r10d
jne 0x210107cdf
movzx edx, word [rsp + 0x122a]
mov rcx, r13
xor r15d, r15d
movzx r8d, word [rsp + 0x122c]
call method.device.parse_unsigned_short__unsigned_short_
mov rax, qword [rsp + 0x1290]
mov rsi, qword [rsp + 0x1290]
mov byte [rax + 0x14d], 1
mov eax, dword [rsp + 0x1230]
mov dword [rsi + 0x148], eax
mov eax, dword [rsp + 0x1218]
mov dword [rsi], eax
jmp 0x21010708f
js 0x2101080d2
mov edi, dword [rsp + 0x88]
test edi, edi
jne 0x210107f57
test byte [rsp + 0x12a0], 1
je 0x210108170
mov eax, dword [rsi + 0x9c]
and eax, 0x88
cmp eax, 8
je 0x210108162
mov rax, qword [rsp + 0x98]
mov qword [rax], 0
mov qword [rax + 8], 0
mov dword [rax + 0x10], 0
mov rcx, qword [rsi + 0xb0]
mov dword [rsi + 0x1c], 0
mov byte [rsi + 0x20], 0
test rcx, rcx
je 0x210107f91
call sym.CloseHandle
sub dword [rsp + 0xa4], 1
mov qword [rsi + 0xb0], 0
je 0x2101081cd
movzx eax, byte [rsp + 0x200]
cmp al, 0x2f
je 0x210107ff5
cmp al, 0x5c
je 0x210107ff5
movsx ecx, al
call sym.msys_2.0.dll_isalpha
test eax, eax
je 0x210108125
cmp byte [rsp + 0x201], 0x3a
jne 0x210108125
movzx eax, byte [rsp + 0x202]
mov rcx, qword [rsp + 0x78]
test al, al
je 0x210107ffa
cmp al, 0x2f
je 0x210107ff5
cmp al, 0x5c
jne 0x210108125
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
lea r9, [rax + 0x10000]
movsxd rax, dword [rsp + 0x8c]
add rax, rcx
cmp r9, rax
jbe 0x2101081e4
movzx eax, byte [rsp + 0x200]
lea rdx, [rsp + 0x200]
mov r8d, 0x2f
test al, al
je 0x21010804c
cmp al, 0x5c
cmove eax, r8d
add rdx, 1
add rcx, 1
mov byte [rcx - 1], al
movzx eax, byte [rdx]
test al, al
jne 0x210108034
mov byte [rcx], 0
mov rax, qword [rsp + 0xb8]
lea rdx, [rax + 1]
mov qword [rsp + 0xb8], rdx
cmp rax, qword [rsp + 0x80]
jae 0x2101080a6
cmp byte [rcx - 1], 0x2f
je 0x21010807a
mov byte [rcx], 0x2f
add rcx, 1
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x80]
sub r8, rdx
add r8d, 1
movsxd r8, r8d
lea rax, [rcx + r8]
cmp r9, rax
jb 0x2101081e4
call sym.msys_2.0.dll_memcpy
mov r13, qword [rsp + 0x78]
movzx eax, byte [r13]
jmp 0x210106b5e
mov rsi, qword [rsp + 0x1290]
mov ebp, dword [rsp + 0x12a0]
mov r15d, ecx
mov dword [rsi + 0x120], eax
jmp 0x21010708f
neg dword [rsp + 0x8c]
jmp 0x210107f57
mov edx, dword [rsp + 0x1224]
mov rbx, qword [rsp + 0x1290]
mov r15d, ecx
mov r14d, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x12a0]
mov dword [rbx + 0x120], edx
test r14d, r14d
je 0x2101081c2
test al, 0x10
jne 0x21010708f
mov dword [rbx + 0x120], 0x14
jmp 0x21010708f
mov rax, qword [rsp + 0xb8]
jmp 0x210108134
cmp byte [rax], 0x2f
je 0x21010813d
sub rax, 1
cmp r12, rax
jb 0x21010812f
sub rax, r12
mov rdi, qword [rsp + 0x78]
mov rdx, r12
lea ecx, [rax + 1]
movsxd rbx, ecx
mov rcx, rdi
mov r8, rbx
call sym.msys_2.0.dll_memcpy
lea rcx, [rdi + rbx]
jmp 0x210107ffa
test byte [rsp + 0x12a0], 4
je 0x210107f57
cmp byte [rsp + 0xa2], 0
je 0x21010818b
test dword [rsp + 0x12a0], 0x4000
je 0x210107f57
mov rax, qword [rsp + 0x1290]
mov ebx, dword [rsp + 0x8c]
mov r15d, ecx
mov ebp, dword [rsp + 0x12a0]
or dword [rax + 0x9c], 0x10
mov dword [rax + 0x88], ebx
test bpl, 8
jne 0x210108253
mov byte [rsp + 0xa2], cl
mov r15d, 1
jmp 0x21010708f
mov rax, qword [rsp + 0x1290]
mov dword [rax + 0x120], 0x5c
jmp 0x210106e50
mov rax, qword [rsp + 0x1290]
mov rcx, qword [rax + 0x90]
mov dword [rax + 0x120], 0x5b
test rcx, rcx
je 0x210108207
call sym.cfree
mov edx, 0x17
mov ecx, 1
movabs rdi, 0x54454d414e453a3a
movabs rbp, 0x3a3a474e4f4c4f4f
call sym.cmalloc_abort
mov rbx, qword [rsp + 0x1290]
mov qword [rax], rdi
mov qword [rax + 8], rbp
mov byte [rax + 0x10], 0
mov qword [rbx + 0x90], rax
jmp 0x210106e50
mov rcx, r15
call rax
jmp 0x210106e50
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x200]
call sym.msys_2.0.dll_strcpy
mov byte [rsp + 0xa2], r15b
jmp 0x21010708f