Function at 0x180018b10
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov ebx, dword [rbp + 0xb8]
xor esi, esi
mov r14, qword [rbp + 0xb0]
mov r10, r8
mov rdi, qword [rsp + 0x60]
mov r11, rcx
imul eax, ebx, 0x7c8
mov r15d, ebx
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x48], rdi
mov dword [rsp + 0x7c], eax
cmp ebx, eax
mov rax, qword [rsp + 0x60]
ja 0x180018fcc
mov ebx, dword [rbp + 0xb8]
lea rcx, [0x1800e6f30]
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x60]
mov qword [rsp + 0x58], rax
mov eax, dword [rbp + 0xb8]
mov dword [rbp - 0x68], eax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x20], rax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x38], rax
mov rax, qword [rsp + 0x60]
mov qword [rbp], rax
nop dword [rax + rax]
cmp r15d, 0x1244
ja 0x180018e19
je 0x180018df0
cmp r15d, 0xbb
ja 0x180018d8c
je 0x180018cbd
cmp r15d, 0x1c
je 0x180018c51
cmp r15d, 0x41
je 0x180018c27
cmp r15d, 0x72
jne 0x180018f30
mov qword [rsp + 0x28], rsi
lea r9d, [r15 - 0x10]
xor r8d, r8d
mov qword [rsp + 0x20], r10
xor edx, edx
xor ecx, ecx
call fcn.180064120
mov r12, rax
test rax, rax
je 0x180019664
jmp 0x180018f22
mov rax, qword [r10 + 0x38]
cmp qword [r10 + 0x28], rax
je 0x180018f30
mov r9d, 0x63
mov qword [r10 + 0x28], rax
xor r8d, r8d
xor edx, edx
mov rcx, r10
call fcn.1800d7460
jmp 0x180018f22
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 8], rsi
cmp dword [rax], 2
jl 0x180018f9f
mov r8, qword [r14]
mov edx, 0x110
xor ecx, ecx
call fcn.1800e5740
test eax, eax
je 0x180018f98
mov rdx, qword [r14 + 8]
xor r9d, r9d
xor r8d, r8d
mov ecx, 0x119
call fcn.1800a59f0
test eax, eax
je 0x180018f98
mov rax, qword [r14]
lea r8, [rbp - 0x30]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0xac
call fcn.180093140
mov qword [rsp + 0x60], rax
jmp 0x180018f22
mov rax, qword [r10 + 0x60]
xor edx, edx
add rax, 0x460
mov r8d, 0x10b
mov rcx, r10
mov qword [rbp - 0x20], rax
call fcn.18002b4e0
mov r9, qword [rbp + 0xa0]
xor edx, edx
mov qword [rsp + 0x28], rsi
xor r8d, r8d
mov qword [rbp - 0x38], rax
mov qword [rsp + 0x20], rsi
lea ecx, [rdx + 0x6b]
call fcn.1800a2750
mov qword [rbp], rax
cmp qword [rbp - 0x38], rsi
je 0x180018d10
test rax, rax
jne 0x180018f22
mov r14d, 0x11c
nop word [rax + rax]
mov ecx, r14d
sub ecx, 0x11c
je 0x180018d56
sub ecx, 0x1e
je 0x180018d4d
cmp ecx, 0x1e
jne 0x180018d76
mov rax, qword [rbp - 0x78]
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rbp - 0x18], rsi
mov dword [rbp - 0x78], esi
jmp 0x180018d76
mov rcx, qword [rbp + 0xa0]
xor r9d, r9d
xor edx, edx
mov r8d, 0xed
call fcn.1800f3ce0
mov rax, qword [rbp + 0xc0]
mov dword [rax], esi
add r14d, 0x1e
cmp r14d, 0x176
jb 0x180018d20
mov r14, qword [rbp - 0x18]
jmp 0x180018f22
mov eax, r15d
sub eax, 0x118
je 0x180018ddc
cmp eax, 5
jne 0x180018f30
cmp dword [r10 + 0x28], 1
jb 0x180018e57
mov eax, dword [r14]
cmp eax, 1
jb 0x180018e57
mov r9, qword [rbp + 0xc0]
lea rdx, [rsp + 0x70]
mov r8d, 0xc2
mov dword [rsp + 0x70], eax
mov rcx, r10
call fcn.180076e80
mov r13, rax
jmp 0x180018f22
mov r9, r10
mov qword [rsp + 0x58], r10
mov rdi, r10
mov qword [rbp - 0x48], r10
jmp 0x180018f35
cmp dword [rbp - 0x30], 1
jl 0x180018f9f
mov rax, qword [r14 + 8]
lea rcx, [rbp + 0x10]
mov r8d, 0x84
mov rdx, qword [rax + 8]
call fcn.1800b2040
mov rbx, rax
jmp 0x180018f22
cmp r15d, 0x246c
je 0x180018ea6
cmp r15d, 0x3694
je 0x180018e8d
cmp r15d, 0x4a5e
je 0x180018e7c
cmp r15d, 0x944a
je 0x180018e5f
cmp r15d, 0xb9eb
jne 0x180018f30
test r13, r13
jne 0x180018fc4
mov rax, rsi
jmp 0x180018d39
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [rbp - 0x68], 0xffffffff
jmp 0x180018c1c
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [rbp - 0x68], eax
jmp 0x180018f22
xor r9d, r9d
mov qword [rsp + 0x20], rsi
lea r8, [rbp + 0x10]
xor ecx, ecx
lea edx, [r9 + 0x16]
call fcn.180098b00
jmp 0x180018f22
mov eax, dword [rbp - 0x30]
lea r9, [rbp - 0x60]
mov dword [rbp - 0x60], eax
lea rdx, [rbp + 8]
mov rax, qword [rbp + 0x18]
mov r8, r10
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x80]
mov dword [rsp + 0x30], 0x15
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x70], 1
mov dword [rbp - 0x80], ebx
call fcn.1800506c0
mov rax, qword [rbp + 8]
lea rdx, [rbp - 0x28]
mov qword [rbp - 0x28], rax
xor r9d, r9d
mov rax, qword [rbp + 0xa0]
xor r8d, r8d
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov dword [rsp + 0x20], 0xf1
call fcn.18002be30
mov r10, qword [rbp + 0xa0]
lea rcx, [0x1800e6f30]
mov r9, qword [rsp + 0x58]
imul eax, dword [rbp + 0xb8], 0xa6
add r15d, eax
cmp r15d, dword [rsp + 0x7c]
jbe 0x180018bc0
mov r11, qword [rbp + 0x90]
mov r8, qword [rbp - 0x38]
mov ebx, dword [rbp + 0xb8]
mov r15, qword [rbp - 0x20]
lea edx, [rbx + 0x21]
mov dword [rsp + 0x78], edx
cmp ebx, edx
jae case.0x180019022.189
mov r12d, dword [rbp + 0xb8]
lea rcx, [0x180000000]
mov r13d, dword [rbp - 0x6c]
cmp ebx, 0x72
ja 0x180018ffa
je 0x180019659
cmp ebx, 0x1c
je 0x180018fbc
jmp case.default.0x180019022
mov r10, qword [rbp + 0xa0]
mov r9d, 0xaa
mov dword [rbp + 0xb8], esi
lea r8, [rbp + 0xb8]
mov rdx, r10
xor ecx, ecx
call fcn.1800e4c20
mov dword [rbp - 0x78], esi
jmp case.0x180019022.189
mov rax, r13
jmp 0x180018d39
mov r9, qword [rsp + 0x60]
mov r15, qword [rsp + 0x60]
mov r8, qword [rsp + 0x60]
mov ecx, dword [rbp + 0xb8]
mov qword [rsp + 0x58], r9
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x38], r8
mov dword [rbp - 0x68], ecx
mov qword [rbp], rax
jmp 0x180018f62
lea eax, [rbx - 0xbb]
cmp eax, 0x6c
ja case.default.0x180019022
movzx eax, byte [rcx + rax + 0x196a4]
mov ecx, dword [rcx + rax*4 + 0x1967c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rax, qword [rbp + 0xa8]
mov dword [rbp - 0x60], esi
mov dword [rsp + 0x50], esi
mov r12d, dword [rax]
sub r12d, 5
jmp case.0x180019022.196
mov eax, r12d
shr eax, 8
mov byte [rdi + 1], al
mov eax, dword [rsp + 0x50]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
mov rax, qword [rbp + 0x98]
add rdi, rcx
mov qword [rbp - 0x48], rdi
mov eax, dword [rax]
inc eax
cmp dword [rsp + 0x68], eax
jbe 0x1800195e1
mov rax, 0xffffffffffffffff
jmp 0x180018d39
mov r9d, dword [rsp + 0x7c]
cmp r9d, 1
jle 0x1800193e1
cmp dword [rbp - 0x60], esi
je 0x18001924f
mov r9d, 0x52
mov eax, r9d
sub eax, 0x51
je 0x1800191bb
cmp eax, 1
jne 0x18001923d
mov r10d, dword [rsp + 0x68]
mov r13d, r10d
mov dword [rbp - 0x6c], r10d
cmp word [r14 + r10*2], si
jne 0x1800190df
nop dword [rax + rax]
inc r10d
cmp word [r14 + r10*2], si
je 0x1800190d0
mov dword [rsp + 0x68], r10d
lea eax, [r13 + 0x18]
cmp r10d, eax
jb 0x180019175
nop dword [rax]
mov edx, 0xf7
mov eax, edx
sub eax, 0xf3
je 0x18001915a
sub eax, 1
je 0x180019150
sub eax, 1
je 0x18001912c
sub eax, 1
je 0x18001911c
cmp eax, 1
jne 0x18001915e
add r13d, 0x18
mov dword [rbp - 0x6c], r13d
jmp 0x18001915e
mov ecx, dword [rsp + 0x50]
mov eax, 0xffff
shl eax, cl
add r12d, eax
jmp 0x18001915e
cmp dword [r11], esi
jne 0x180019142
mov rax, qword [rbp - 0x10]
add rax, 0xfffffffffffffffe
cmp rdi, rax
ja 0x18001939a
mov eax, r12d
mov byte [rdi], r12b
shr eax, 8
mov byte [rdi + 1], al
jmp 0x18001915e
add rdi, 2
mov qword [rbp - 0x48], rdi
jmp 0x18001915e
shr r12d, 0x10
dec edx
cmp edx, 0xf2
ja 0x1800190f5
lea eax, [r13 + 0x18]
cmp r10d, eax
jae 0x1800190f0
lea edx, [r13 + 3]
cmp r10d, edx
jb 0x18001923d
mov r8d, dword [rsp + 0x50]
nop word [rax + rax]
mov ecx, r8d
mov eax, 3
shl eax, cl
add r13d, 3
add r12d, eax
add edx, 3
add r8d, 2
cmp edx, r10d
jbe 0x180019190
mov dword [rsp + 0x50], r8d
mov dword [rbp - 0x6c], r13d
jmp 0x18001923d
mov r8d, dword [rsp + 0x50]
mov ecx, r8d
mov eax, dword [rsp + 0x68]
add r8d, 2
sub eax, r13d
mov dword [rsp + 0x50], r8d
shl eax, cl
add r12d, eax
cmp r8d, 0x10
jle 0x18001923d
mov ecx, 0x47
mov eax, ecx
sub eax, 0x47
je 0x180019220
sub eax, 1
je 0x18001920a
sub eax, 1
je 0x180019204
cmp eax, 1
jne 0x180019236
sub r8d, 0x10
mov dword [rsp + 0x50], r8d
jmp 0x180019236
shr r12d, 0x10
jmp 0x180019236
mov eax, r12d
mov byte [rdi], r12b
shr eax, 8
mov byte [rdi + 1], al
add rdi, 2
mov qword [rbp - 0x48], rdi
jmp 0x180019236
cmp dword [r11], esi
jne 0x180019236
mov rax, qword [rbp - 0x10]
add rax, 0xfffffffffffffffe
cmp rdi, rax
ja 0x18001939a
inc ecx
cmp ecx, 0x4b
jb 0x1800191e3
dec r9d
cmp r9d, 0x50
ja 0x1800190a0
mov r9d, dword [rsp + 0x7c]
mov r10d, dword [rbp - 0x58]
mov r8d, 0x12a
nop dword [rax]
mov ecx, r10d
cmp r8d, 0x12a
je 0x18001932d
cmp r8d, 0xc5e4
je 0x1800192f1
cmp r8d, 0x18a9e
je 0x1800192ca
cmp r8d, 0x24f58
je 0x1800192bb
cmp r8d, 0x31412
jne 0x18001934e
mov eax, dword [rbp - 0x70]
cmp r9d, eax
jge 0x18001934e
mov ecx, dword [rbp - 0x80]
dec ecx
sar eax, 1
cmp r9d, eax
jl 0x1800192a7
mov dword [rbp - 0x80], ecx
mov dword [rbp - 0x70], eax
jmp 0x18001934e
cmp r9d, 1
jl 0x180019076
jmp 0x18001934e
cmp r10d, dword [rsp + 0x70]
mov ecx, esi
mov edx, dword [rsp + 0x50]
mov eax, dword [rbp - 0x80]
setl cl
sub eax, ecx
add edx, eax
mov eax, esi
cmp r10d, 1
mov dword [rsp + 0x50], edx
sete al
mov dword [rbp - 0x60], eax
jmp 0x180019352
mov eax, r10d
inc r10d
cdq
mov dword [rbp - 0x58], r10d
xor eax, edx
sub eax, edx
sub r9d, eax
mov dword [rsp + 0x7c], r9d
cmp r10d, dword [rbp - 0x70]
jl 0x18001931d
mov r10d, dword [rsp + 0x70]
inc r10d
add r10d, ecx
mov dword [rbp - 0x58], r10d
mov edx, dword [rsp + 0x50]
mov eax, r10d
mov ecx, edx
shl eax, cl
add r12d, eax
jmp 0x180019352
mov ecx, dword [rsp + 0x68]
mov eax, dword [rbp - 0x70]
add eax, eax
sub eax, r9d
movsx r10d, word [r14 + rcx*2]
inc ecx
dec eax
mov dword [rbp - 0x58], r10d
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x68], ecx
mov edx, dword [rsp + 0x50]
add r8d, 0xc4ba
cmp r8d, 0x3d7a2
jbe 0x180019260
cmp edx, 0x10
jle 0x1800193d3
mov ecx, 0x109
mov eax, ecx
sub eax, 0x106
je 0x1800193c2
sub eax, 1
je 0x1800193bc
sub eax, 1
je 0x1800193a6
cmp eax, 1
jne 0x1800193c9
cmp dword [r11], esi
jne 0x1800193c9
mov rax, qword [rbp - 0x10]
add rax, 0xfffffffffffffffe
cmp rdi, rax
jbe 0x1800193c9
mov rax, 0xfffffffffffffff3
jmp 0x180018d39
mov eax, r12d
mov byte [rdi], r12b
shr eax, 8
mov byte [rdi + 1], al
add rdi, 2
mov qword [rbp - 0x48], rdi
jmp 0x1800193c9
shr r12d, 0x10
jmp 0x1800193c9
sub edx, 0x10
mov dword [rsp + 0x50], edx
dec ecx
cmp ecx, 0x105
ja 0x180019370
cmp r9d, 1
jg 0x180019091
mov edx, dword [rsp + 0x78]
cmp dword [r11], esi
jne 0x1800193f3
mov rax, qword [rbp - 0x10]
add rax, 0xfffffffffffffffe
cmp rdi, rax
ja 0x18001939a
mov r9, qword [rsp + 0x58]
mov byte [rdi], r12b
jmp case.0x180019022.196
mov ecx, dword [rbp - 8]
add dword [rsp + 0x50], 4
mov dword [rbp - 0x70], ecx
lea eax, [rcx + 1]
mov dword [rsp + 0x7c], eax
mov rax, qword [rbp + 0xa8]
mov eax, dword [rax]
inc eax
mov dword [rbp - 0x80], eax
jmp case.0x180019022.196
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
lea ecx, [r9 + 0x47]
call fcn.18008d150
mov r8, r15
lea rcx, [rsp + 0x60]
mov edx, 0x57
call fcn.18008c380
test eax, eax
jne 0x1800195dc
mov r13d, dword [rbp - 0x50]
mov rdi, qword [rbp]
nop dword [rax]
mov rbx, qword [rsp + 0x60]
mov r14d, 5
lea r15d, [r14 + 1]
nop
cmp r14d, 5
ja case.default.0x18001948e
lea rdx, [0x180000000]
mov eax, r14d
mov ecx, dword [rdx + rax*4 + 0x19714]
add rcx, rdx
jmp rcx
mov rdx, qword [rbp - 0x38]
xor r9d, r9d
mov qword [rsp + 0x40], rsi
xor r8d, r8d
mov qword [rsp + 0x38], rsi
mov ecx, 0x90
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.1800ad5f0
jmp case.default.0x18001948e
movsxd rax, r13d
jmp 0x180019594
mov eax, dword [rbp - 0x40]
xor r9d, r9d
mov rcx, qword [rbp - 0x28]
xor r8d, r8d
sub eax, ecx
mov qword [rsp + 0x28], rdi
mov dword [rbp - 0x50], eax
lea rax, [rbp - 0x50]
lea edx, [r9 + 0x5b]
mov qword [rsp + 0x20], rax
call fcn.1800e2fb0
jmp case.default.0x18001948e
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbx]
mov r13d, edx
sub r13d, dword [rbx]
inc r13d
mov qword [rbp - 0x28], rcx
cmp rdx, rcx
jbe case.default.0x18001948e
movzx eax, byte [rdx]
cmp al, 0x2f
je 0x180019528
cmp al, 0x5c
je 0x180019528
dec rdx
cmp rdx, rcx
ja 0x180019515
mov qword [rbp - 0x40], rdx
cmp rdx, rcx
jbe case.default.0x18001948e
lea rax, [rdx + 1]
mov qword [rbp - 0x28], rax
jmp case.default.0x18001948e
mov rcx, qword [rbx]
mov rdx, qword [rbp - 0x40]
cmp rdx, rcx
jbe case.default.0x18001948e
movzx eax, byte [rdx]
cmp al, 0x2f
je 0x180019552
cmp al, 0x5c
jne case.default.0x18001948e
dec rdx
mov qword [rbp - 0x40], rdx
cmp rdx, rcx
ja 0x180019547
jmp case.default.0x18001948e
mov rax, qword [rsp + 0x60]
xor r9d, r9d
mov qword [rsp + 0x38], rsi
xor edx, edx
mov qword [rsp + 0x30], rdi
xor ecx, ecx
mov qword [rsp + 0x28], rsi
mov r8d, 0xd8
mov qword [rsp + 0x20], rsi
mov qword [rbp - 0x28], rax
call fcn.1800e58a0
mov eax, dword [rbx + 8]
dec eax
add rax, qword [rbx]
mov qword [rbp - 0x40], rax
dec r14d
sub r15, 1
jne 0x180019470
mov r15, qword [rbp - 0x20]
lea rcx, [rsp + 0x60]
mov r8, r15
mov dword [rbp - 0x50], r13d
mov edx, 0x57
call fcn.18008c380
test eax, eax
je 0x180019460
mov rdi, qword [rbp - 0x48]
mov r13d, dword [rbp - 0x6c]
mov r14, qword [rbp - 0x18]
mov ebx, dword [rbp + 0xb8]
mov r9, qword [rsp + 0x58]
mov edx, dword [rsp + 0x78]
lea rcx, [0x180000000]
add ebx, 3
mov dword [rbp + 0xb8], ebx
cmp ebx, edx
jae case.0x180019022.189
mov r11, qword [rbp + 0x90]
mov r10, qword [rbp + 0xa0]
mov r8, qword [rbp - 0x38]
jmp 0x180018f83
mov r9, r8
mov rdx, r10
mov r8d, 0x122
xor ecx, ecx
call fcn.1800e50a0
mov dword [rbp - 0x78], esi
jmp 0x1800195dc
mov rax, qword [rbp + 0xc0]
mov r8d, 1
mov dword [rsp + 0x68], esi
mov rax, qword [rax]
add rax, r9
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0xa8]
mov ecx, dword [rax]
shl r8d, cl
mov dword [rbp - 8], r8d
jmp case.0x180019022.196
mov eax, dword [rbp - 0x68]
test al, al
js 0x180018fbc
mov dword [rbp - 0x78], 0xffffffff
jmp case.0x180019022.189
sub rdi, r9
mov rax, rdi
jmp 0x180018d39