Function at 0x140011a00
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2e8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x260], 0xfffffffffffffffe
mov r12d, r8d
mov rdi, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.1400134c0
test eax, eax
js 0x140011b16
mov ebx, eax
mov r14d, eax
cmp word [rdi + r14*2 + 2], 0
je 0x140011b16
lea rdx, [rdi + r14*2]
lea rcx, [rbp + 0x218]
call fcn.14000df00
lea rcx, [rbp + 0x240]
mov rdx, rdi
call fcn.14000df00
cmp dword [rbp + 0x248], ebx
jbe 0x140011a8c
mov dword [rbp + 0x248], ebx
mov rax, qword [rbp + 0x240]
mov word [rax + r14*2], 0
mov eax, dword [rbp + 0x220]
cmp rax, 7
jb 0x140011ab7
mov rcx, qword [rbp + 0x218]
lea rcx, [rcx + rax*2]
add rcx, 0xfffffffffffffff4
lea rdx, str.:_DATA
call fcn.14000d800
test al, al
jne 0x140011aca
lea rdx, str.:_DATA
lea rcx, [rbp + 0x218]
call fcn.14000e6c0
mov rcx, qword [rbp + 0x240]
call fcn.1400132c0
test al, al
je 0x140011b1b
cmp ebx, 2
je 0x140011b38
cmp ebx, 3
jne 0x140011b1b
mov rax, qword [rbp + 0x240]
cmp word [rax + 4], 0x5c
jne 0x140011b1b
xorps xmm0, xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x1e], 0
mov dword [rsi + 0x30], 0
mov rax, qword [rsi + 0x28]
mov word [rax], 0
jmp 0x140011b6a
jmp 0x140011d2f
mov rdx, qword [rbp + 0x240]
mov rcx, rsi
mov r8d, r12d
call fcn.140011a00
test al, al
jne 0x140011b6a
xor ebx, ebx
jmp 0x140011d05
xorps xmm0, xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x1e], 0
lea rcx, [rsi + 0x28]
mov dword [rsi + 0x30], 0
mov rax, qword [rsi + 0x28]
mov word [rax], 0
lea rdx, [rbp + 0x240]
call fcn.14000e180
mov byte [rbp + 0x25f], r12b
and dword [rsi + 0x20], 0xfffffbef
mov qword [rsi], 0
mov qword [rbp + 0x228], 0xffffffffffffffff
lea rcx, [rbp + 0x230]
lea rdx, [rbp + 0x240]
call fcn.14000e040
lea rax, [rsi + 0x28]
mov qword [rbp + 0x1f8], rax
lea r13, [rbp + 0x200]
mov rbx, qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15, qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x140011bc9
test r12b, r12b
je 0x140011cd7
mov rcx, r13
call fcn.14000de70
mov rcx, qword [rbp + 0x228]
cmp rcx, 0xffffffffffffffff
je 0x140011c20
mov r8, qword [0x14051be20]
test r8, r8
je 0x140011ca0
lea rdx, [rbp - 0x60]
call r8
test eax, eax
je 0x140011ca8
mov rax, qword [rbp - 0x60]
mov qword [rbp + 0x210], rax
mov rcx, r13
lea rdx, [rbp - 0x58]
call fcn.14000e0f0
jmp 0x140011c3a
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x228]
mov r8, r13
call fcn.140011920
test al, al
je 0x140011ca8
mov rdx, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x200]
call fcn.14000d6b0
mov r12b, 1
test al, al
je 0x140011cbd
mov eax, dword [rbp + 0x208]
cmp eax, 8
jb 0x140011c75
add eax, 0xfffffffa
mov dword [rbp + 0x208], eax
mov rcx, qword [rbp + 0x200]
mov word [rcx + rax*2], 0
mov rcx, qword [rbp + 0x1f8]
mov rdx, r13
call fcn.14000e680
mov rax, qword [rbp + 0x210]
mov qword [rsi], rax
mov byte [rsi + 0x24], 1
mov r14b, 1
xor r12d, r12d
jmp 0x140011cbd
mov ecx, pe_nt_image_headers64
call r15
call rbx
cmp eax, 0x26
jne 0x140011cb7
mov ecx, 2
call r15
xor r12d, r12d
xor r14d, r14d
mov rcx, qword [rbp + 0x200]
test rcx, rcx
je 0x140011bc0
call fcn.14049f26c
jmp 0x140011bc0
mov rcx, qword [rbp + 0x230]
test rcx, rcx
je 0x140011ce8
call fcn.14049f26c
mov rcx, qword [rbp + 0x228]
cmp rcx, 0xffffffffffffffff
movzx r12d, byte [rbp + 0x25f]
je 0x140011d03
call qword [sym.imp.KERNEL32.dll_FindClose]
mov bl, 1
mov rcx, qword [rbp + 0x240]
test rcx, rcx
je 0x140011d16
call fcn.14049f26c
mov rcx, qword [rbp + 0x218]
test rcx, rcx
je 0x140011d27
call fcn.14049f26c
test bl, bl
jne 0x140012044
mov qword [rbp + 0x228], 0xffffffffffffffff
mov rcx, rdi
call fcn.140013280
movzx r15d, al
shl r15d, 2
lea rbx, [rdi + r15*2]
mov rcx, rbx
call fcn.1400130d0
test al, al
je 0x140011d6a
or r15d, 3
cmp word [rdi + r15*2], 0
je 0x140011e3d
movzx eax, word [rdi]
cmp eax, 0x5c
je 0x140011d7b
cmp eax, 0x2f
jne 0x140011fbd
cmp word [rdi + 2], 0
je 0x140011df3
mov rcx, rdi
call fcn.1400132e0
test eax, eax
je 0x140011fbd
mov eax, eax
cmp word [rdi + rax*2], 0
je 0x140011fbd
lea rbx, [rdi + rax*2]
mov rcx, rbx
call fcn.140013050
test eax, eax
jns 0x140011fbd
mov qword [rbp + 0x250], 0xffffffffffffffff
mov rcx, rsi
mov rdx, rdi
call fcn.1400122a0
test al, al
je 0x140011ebb
add rsi, 0x28
mov qword [rbp + 0x250], 0xffffffffffffffff
mov r14b, 1
mov rcx, rsi
mov rdx, rbx
call fcn.14000e0f0
jmp 0x140012044
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140011fbd
mov ecx, eax
and ecx, 0x10
je 0x140011fbd
xorps xmm0, xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x1e], 0
mov dword [rsi + 0x30], 0
mov rcx, qword [rsi + 0x28]
mov word [rcx], 0
mov dword [rsi + 0x20], eax
mov r14b, 1
jmp 0x140012044
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140011fbd
mov ecx, eax
and ecx, 0x10
je 0x140011fbd
xorps xmm0, xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x1e], 0
mov dword [rsi + 0x20], eax
lea rcx, [rsi + 0x28]
mov qword [rbp + 0x250], 0xffffffffffffffff
mov rdx, rbx
call fcn.14000e0f0
cmp dword [rsi + 0x30], 3
jb 0x140011e9d
mov dword [rsi + 0x30], 2
mov rax, qword [rsi + 0x28]
mov word [rax + 4], 0
mov qword [rbp + 0x250], 0xffffffffffffffff
mov r14b, 1
mov rcx, rsi
mov rdx, rdi
call fcn.1400122a0
jmp 0x140012044
mov qword [rbp + 0x250], 0xffffffffffffffff
lea rcx, [rbp - 0x60]
mov rdx, rdi
call fcn.14000df00
lea rcx, [rbp - 0x60]
call fcn.140012380
lea rcx, [rbp - 0x60]
mov dl, 0x2a
call fcn.1400123c0
mov rdx, qword [rbp - 0x60]
lea rcx, [rbp + 0x228]
mov r8, rsi
call fcn.140011860
test al, al
je 0x140011f3b
mov rcx, qword [rsi + 0x28]
lea rdx, [0x1404f9df2]
call fcn.1404bd5ac
test eax, eax
je 0x140011f76
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, eax
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x1e], 0
cmp eax, 0xffffffff
mov eax, reloc.WS2_32.dll_recv
cmovne eax, ecx
jmp 0x140011f65
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r15b, 1
cmp eax, 0xffffffff
je 0x140011f88
mov ecx, eax
and ecx, 0x10
je 0x140011f88
xorps xmm0, xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x1e], 0
mov dword [rsi + 0x20], eax
lea rcx, [rsi + 0x28]
mov rdx, rbx
call fcn.14000e0f0
jmp 0x140011f82
lea rcx, [rsi + 0x28]
mov rdx, rbx
call fcn.14000e0f0
mov r14b, 1
xor r15d, r15d
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x140011f96
call fcn.14049f26c
mov rbx, qword [rbp + 0x228]
test r15b, r15b
je 0x14001205f
cmp rbx, 0xffffffffffffffff
je 0x140011fbd
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x140012067
lea rdx, [rbp - 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
je 0x140012041
mov rbx, rax
mov eax, dword [rbp - 0x60]
mov dword [rsi + 0x20], eax
movups xmm0, xmmword [rbp - 0x5c]
movups xmmword [rsi + 8], xmm0
mov rax, qword [rbp - 0x4c]
mov qword [rsi + 0x18], rax
mov eax, dword [rbp - 0x44]
mov ecx, dword [rbp - 0x40]
shl rax, 0x20
or rcx, rax
mov qword [rsi], rcx
mov word [rsi + 0x24], 0
lea rdx, [rbp - 0x34]
lea rcx, [rsi + 0x28]
mov qword [rbp + 0x250], rbx
call fcn.14000e0f0
mov r14b, 1
test r12b, r12b
je 0x140012036
test byte [rsi + 0x21], 4
je 0x140012036
mov qword [rbp + 0x250], rbx
mov rcx, rsi
mov rdx, rdi
call fcn.1400122a0
mov r14d, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x140012044
xor r14d, r14d
and r14b, 1
mov eax, r14d
add rsp, 0x2e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp rbx, 0xffffffffffffffff
jne 0x140012036
jmp 0x140012044
xor r14d, r14d
jmp 0x140012036