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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xd0
mov rax, qword [0x180112440]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rdi, rcx
movzx esi, word [rcx + 0xca]
inc rsi
mov qword [rbp - 0x69], rsi
xor r15d, r15d
mov qword [rbp - 0x61], r15
mov qword [rbp - 0x59], r15
mov qword [rbp - 0x51], r15
mov r14, rsi
shl r14, 5
cmp r14, 0x1000
jb 0x180040697
lea rcx, [r14 + 0x27]
cmp rcx, r14
jbe 0x1800409a0
call fcn.180085568
test rax, rax
je 0x1800409a6
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1800406ac
test r14, r14
je 0x1800406a9
mov rcx, r14
call fcn.180085568
mov rbx, rax
jmp 0x1800406ac
mov rbx, r15
mov qword [rbp - 0x49], rbx
lea rax, [r14 + rbx]
mov qword [rbp - 0x39], rax
nop dword [rax + rax]
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 7
mov word [rbx], r15w
add rbx, 0x20
sub rsi, 1
jne 0x1800406c0
mov rdx, rbx
mov rcx, rbx
call fcn.180040210
mov qword [rbp - 0x41], rbx
mov rax, qword [rbp - 0x69]
mov qword [rdi + 0xd0], rax
mov rax, qword [rbp - 0x61]
mov qword [rdi + 0xd8], rax
mov rax, qword [rbp - 0x59]
mov qword [rdi + 0xe0], rax
mov rax, qword [rbp - 0x51]
mov qword [rdi + 0xe8], rax
lea rbx, [rdi + 0xf0]
lea rax, [rbp - 0x49]
cmp rbx, rax
je 0x180040750
mov rcx, rbx
call fcn.18003fed0
mov rax, qword [rbp - 0x49]
mov qword [rbx], rax
mov rax, qword [rbp - 0x41]
mov qword [rbx + 8], rax
mov rax, qword [rbp - 0x39]
mov qword [rbx + 0x10], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x39], r15
mov qword [rbp - 0x69], r15
mov qword [rbp - 0x59], r15
mov qword [rbp - 0x61], r15
mov qword [rbp - 0x51], r15
lea rcx, [rbp - 0x49]
call fcn.18003fed0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov qword [rbp + 7], r15
call fcn.18005d26c
mov rbx, rax
mov rcx, qword [rbp - 1]
sub rcx, qword [rbp - 9]
sar rcx, 5
movzx eax, word [rdi + 0xca]
cmp rcx, rax
jae 0x1800408eb
movabs r15, 0xd6bf94d5e57a42bd
movabs r14, 0xc92a69c000
nop dword [rax]
mov rax, r15
imul rbx
add rdx, rbx
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rbp + 0x2f], rdx
lea rdx, [rbp + 0x2f]
lea rcx, [rbp - 0x31]
call fcn.1800ada98
movups xmm0, xmmword [rbp - 0x31]
movups xmmword [rbp - 0x69], xmm0
movups xmm1, xmmword [rbp - 0x21]
movups xmmword [rbp - 0x59], xmm1
mov eax, dword [rbp - 0x11]
mov dword [rbp - 0x49], eax
lea r8, [rbp - 0x69]
lea rdx, [rdi + 0x68]
lea rcx, [rbp + 0xf]
call fcn.1800345a0
nop
lea rcx, [rbp + 0xf]
cmp qword [rbp + 0x27], 8
cmovae rcx, qword [rbp + 0xf]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1800408ab
mov rax, qword [rbp - 1]
cmp rax, qword [rbp + 7]
je 0x18004083a
lea rdx, [rbp + 0xf]
mov rcx, rax
call fcn.180006ec0
add qword [rbp - 1], 0x20
jmp 0x18004084a
lea r8, [rbp + 0xf]
mov rdx, rax
lea rcx, [rbp - 9]
call fcn.180040b70
sub rbx, r14
mov rdx, qword [rbp + 0x27]
cmp rdx, 8
jb 0x18004088d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180040888
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004099a
call fcn.180085560
mov rcx, qword [rbp - 1]
sub rcx, qword [rbp - 9]
sar rcx, 5
movzx eax, word [rdi + 0xca]
cmp rcx, rax
jb 0x1800407b0
jmp 0x1800408eb
mov rdx, qword [rbp + 0x27]
cmp rdx, 8
jb 0x1800408eb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800408e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004099a
call fcn.180085560
mov rbx, qword [rbp - 1]
cmp rbx, qword [rbp - 9]
je 0x180040968
mov rcx, qword [rdi + 0xd0]
nop dword [rax]
add rbx, 0xffffffffffffffe0
test rcx, rcx
je 0x180040962
mov rcx, qword [rdi + 0xe0]
shl rcx, 5
add rcx, qword [rdi + 0xf0]
mov rdx, rbx
call fcn.180025060
mov rcx, qword [rdi + 0xd0]
mov rax, qword [rdi + 0xe0]
inc rax
xor edx, edx
div rcx
mov qword [rdi + 0xe0], rdx
mov rax, qword [rdi + 0xd8]
cmp rdx, rax
jne 0x180040962
inc rax
xor edx, edx
div rcx
mov qword [rdi + 0xd8], rdx
inc qword [rdi + 0xe8]
cmp rbx, qword [rbp - 9]
jne 0x180040900
lea rcx, [rbp - 9]
call fcn.18003fed0
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.180085510
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.1800a889c
nop
call fcn.180007910
int3
call fcn.1800a889c
int3