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

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x118]
sub rsp, 0x210
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
mov rax, qword [0x180043008]
xor rax, rsp
mov qword [rbp + 0x100], rax
xor edi, edi
mov dword [rsp + 0x20], edi
mov ecx, dword [0x1800441d4]
mov rax, qword gs:[0x58]
mov edx, 4
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x180044e44], eax
jle 0x180004d7e
lea rcx, [0x180044e44]
call fcn.18001b8f8
cmp dword [0x180044e44], 0xffffffff
jne 0x180004d7e
xor eax, eax
mov qword [0x180044db0], rax
mov qword [0x180044db8], rax
mov qword [0x180044dc0], rax
mov qword [0x180044dc8], rax
mov qword [0x180044dd0], rax
mov qword [0x180044dd8], rax
mov qword [0x180044de0], rax
mov qword [0x180044de8], rax
mov qword [0x180044df0], rax
movdqa xmm0, xmmword [0x180039a30]
movdqa xmmword [rbp + 0x90], xmm0
mov byte [rbp + 0x80], al
mov qword [rbp + 0xd8], 0xf
mov byte [rbp + 0xc0], al
mov qword [rbp + 0xd0], 4
lea r8d, [rdi + 4]
lea rdx, str..dll
lea rcx, [rbp + 0xc0]
call fcn.18001d0f0
mov byte [rbp + 0xc4], dil
xor r8d, r8d
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0xa0]
call fcn.180002880
nop
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x1800047b4
inc rdx
mov rax, qword [rbp + 0xc0]
mov rcx, rax
cmp rdx, 0x1000
jb 0x1800047ab
lea r8, [rdx + 0x27]
cmp r8, rdx
jbe 0x180004da9
mov rdx, r8
test cl, 0x1f
jne 0x180004da9
mov rax, qword [rax - 8]
cmp rax, rcx
jae 0x180004da9
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x180004da9
mov rcx, rax
call fcn.18001bf44
nop
movdqa xmm0, xmmword [0x180039a30]
movdqa xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
mov qword [rbp + 0xd8], 0xf
mov byte [rbp + 0xc0], 0
mov qword [rbp + 0xd0], 4
mov r8d, 4
lea rdx, str.core
lea rcx, [rbp + 0xc0]
call fcn.18001d0f0
mov byte [rbp + 0xc4], 0
xor r8d, r8d
lea rdx, [rbp + 0xc0]
lea rcx, [rbp - 0x70]
call fcn.180002880
nop
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x18000487a
inc rdx
mov rax, qword [rbp + 0xc0]
mov rcx, rax
cmp rdx, 0x1000
jb 0x180004871
lea r8, [rdx + 0x27]
cmp r8, rdx
jbe 0x180004daf
mov rdx, r8
test cl, 0x1f
jne 0x180004daf
mov rax, qword [rax - 8]
cmp rax, rcx
jae 0x180004daf
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x180004daf
mov rcx, rax
call fcn.18001bf44
nop
movdqa xmm0, xmmword [0x180039a30]
movdqa xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
lea r9, [rbp + 0xea]
mov r8d, 0x40
movabs r10, 0xcccccccccccccccd
nop dword [rax]
nop dword [rax + rax]
sub r9, 2
mov rax, r10
mul r8
shr rdx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8, rdx
test rdx, rdx
jne 0x1800048b0
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], di
lea rax, [rbp + 0xea]
cmp r9, rax
je 0x180004937
lea rdx, [rbp + 0xea]
sub rdx, r9
sar rdx, 1
lea rcx, [rsp + 0x50]
cmp rdx, 7
ja 0x180004932
mov qword [rsp + 0x60], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
call fcn.18001d0f0
mov word [rsp + rbx + 0x50], di
jmp 0x180004937
call fcn.18000b1e0
mov dword [rsp + 0x20], 3
lea rdx, [0x180044f30]
lea rcx, [rbp + 0x40]
call fcn.180001900
mov rbx, rax
mov dword [rsp + 0x20], 7
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x60]
call fcn.18000a970
nop
mov rdx, rbx
lea rcx, [rbp]
call fcn.180001900
mov rbx, rax
mov dword [rsp + 0x20], 0xf
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x20]
call fcn.18000a970
nop
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.180001900
mov rbx, rax
mov dword [rsp + 0x20], 0x1f
lea rdx, [rbp + 0xa0]
lea rcx, [rbp - 0x20]
call fcn.18000a970
mov rdx, rbx
lea rcx, [0x180044db0]
call fcn.180003c80
nop
mov qword [0x180044df0], rdi
lea rcx, [0x180044dd0]
cmp qword [0x180044de8], 8
cmovae rcx, qword [0x180044dd0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x180004aa6
cmp qword [0x180044df0], 0
jne 0x180004aa6
lea rdx, [0x180044db0]
lea rcx, [rbp + 0xc0]
call fcn.180001900
lea rcx, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 8
cmovae rcx, qword [rbp + 0xe0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x180044df0], rax
lea rcx, [rbp + 0xe0]
call fcn.18000a8e0
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x180004aa6
inc rdx
mov rax, qword [rbp + 0xc0]
mov rcx, rax
cmp rdx, 0x1000
jb 0x180004a9d
lea r8, [rdx + 0x27]
cmp r8, rdx
jbe 0x180004db5
mov rdx, r8
test cl, 0x1f
jne 0x180004db5
mov rax, qword [rax - 8]
cmp rax, rcx
jae 0x180004db5
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x180004db5
mov rcx, rax
call fcn.18001bf44
nop
lea rcx, [rbp - 0x20]
call fcn.18000a8e0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x180004b0b
inc rdx
mov rax, qword [rbp - 0x40]
mov rcx, rax
cmp rdx, 0x1000
jb 0x180004b03
lea r8, [rdx + 0x27]
cmp r8, rdx
jbe 0x180004dbb
mov rdx, r8
test cl, 0x1f
jne 0x180004dbb
mov rax, qword [rax - 8]
cmp rax, rcx
jae 0x180004dbb
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x180004dbb
mov rcx, rax
call fcn.18001bf44
movdqa xmm0, xmmword [0x180039a30]
movdqa xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x40], 0
lea rcx, [rbp + 0x20]
call fcn.18000a8e0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x180004b81
inc rdx
mov rax, qword [rbp]
mov rcx, rax
cmp rdx, 0x1000
jb 0x180004b79
lea r8, [rdx + 0x27]
cmp r8, rdx
jbe 0x180004dc1
mov rdx, r8
test cl, 0x1f
jne 0x180004dc1
mov rax, qword [rax - 8]
cmp rax, rcx
jae 0x180004dc1
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x180004dc1
mov rcx, rax
call fcn.18001bf44
movdqa xmm0, xmmword [0x180039a30]
movdqa xmmword [rbp + 0x10], xmm0
mov byte [rbp], 0
lea rcx, [rbp + 0x60]
call fcn.18000a8e0
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x180004bf7
inc rdx
mov rax, qword [rbp + 0x40]
mov rcx, rax
cmp rdx, 0x1000
jb 0x180004bef
lea r8, [rdx + 0x27]
cmp r8, rdx
jbe 0x180004dc7
mov rdx, r8
test cl, 0x1f
jne 0x180004dc7
mov rax, qword [rax - 8]
cmp rax, rcx
jae 0x180004dc7
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x180004dc7
mov rcx, rax
call fcn.18001bf44
movdqa xmm0, xmmword [0x180039a30]
movdqa xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x40], 0
lea rcx, [rsp + 0x50]
call fcn.18000a8e0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180004c70
inc rdx
mov rax, qword [rsp + 0x30]
mov rcx, rax
cmp rdx, 0x1000
jb 0x180004c68
lea r8, [rdx + 0x27]
cmp r8, rdx
jbe 0x180004dcd
mov rdx, r8
test cl, 0x1f
jne 0x180004dcd
mov rax, qword [rax - 8]
cmp rax, rcx
jae 0x180004dcd
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x180004dcd
mov rcx, rax
call fcn.18001bf44
movdqa xmm0, xmmword [0x180039a30]
movdqa xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
lea rcx, [rbp - 0x70]
call fcn.18000a8e0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x180004ce9
inc rdx
mov rax, qword [rsp + 0x70]
mov rcx, rax
cmp rdx, 0x1000
jb 0x180004ce1
lea r8, [rdx + 0x27]
cmp r8, rdx
jbe 0x180004dd3
mov rdx, r8
test cl, 0x1f
jne 0x180004dd3
mov rax, qword [rax - 8]
cmp rax, rcx
jae 0x180004dd3
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x180004dd3
mov rcx, rax
call fcn.18001bf44
movdqa xmm0, xmmword [0x180039a30]
movdqa xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
lea rcx, [rbp + 0xa0]
call fcn.18000a8e0
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x180004d65
inc rdx
mov rax, qword [rbp + 0x80]
mov rcx, rax
cmp rdx, 0x1000
jb 0x180004d5d
lea r8, [rdx + 0x27]
cmp r8, rdx
jbe 0x180004dd9
mov rdx, r8
test cl, 0x1f
jne 0x180004dd9
mov rax, qword [rax - 8]
cmp rax, rcx
jae 0x180004dd9
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x180004dd9
mov rcx, rax
call fcn.18001bf44
lea rcx, [0x18002fdb0]
call fcn.18001bf2c
nop
lea rcx, [0x180044e44]
call fcn.18001b898
lea rax, [0x180044db0]
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.18001b6d0
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret
call fcn.18001ffac
nop
call fcn.18001ffac
nop
call fcn.18001ffac
nop
call fcn.18001ffac
nop
call fcn.18001ffac
nop
call fcn.18001ffac
nop
call fcn.18001ffac
nop
call fcn.18001ffac
nop
call fcn.18001ffac
int3