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

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x3f8]
sub rsp, 0x4e0
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14003e010]
xor rax, rsp
mov qword [rbp + 0x3d0], rax
mov r14, rdx
mov rsi, rcx
call fcn.140005cb0
lea rbx, [rsi + 0x18]
mov qword [rsp + 0x20], rbx
test rbx, rbx
je 0x1400046a4
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400046a4
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov rdi, qword [rsi]
xor r15d, r15d
test rdi, rdi
jne 0x140004a29
lea rdx, [rbp - 0x70]
call fcn.1400051c0
nop
lea rdi, [rbp - 0x70]
cmp qword [rbp - 0x58], 8
jb 0x1400046d5
mov rdi, qword [rbp - 0x70]
test rdi, rdi
je 0x1400047da
cmp word [rdi], 0
je 0x1400047da
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp - 0x50]
call fcn.140019dc0
lea rcx, [rbp - 0x50]
sub rcx, rdi
nop word [rax + rax]
movzx eax, word [rdi]
mov word [rcx + rdi], ax
lea rdi, [rdi + 2]
test ax, ax
jne 0x140004700
mov edx, 0x5c
lea rcx, [rbp - 0x50]
call fcn.1400198d0
mov rdi, rax
test rax, rax
jne 0x14000473a
lea edx, [rax + 0x2f]
lea rcx, [rbp - 0x50]
call fcn.1400198d0
mov rdi, rax
test rax, rax
je 0x14000473f
mov word [rdi + 2], r15w
lea rcx, [rbp - 0x50]
sub rcx, 2
nop word [rax + rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x140004750
movups xmm0, xmmword [str.vcruntime140.dll]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x140034720]
movups xmmword [rcx + 0x10], xmm1
movzx eax, word [0x140034730]
mov word [rcx + 0x20], ax
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsi + 8], rax
test rdi, rdi
je 0x140004792
mov word [rdi + 2], r15w
lea rcx, [rbp - 0x50]
sub rcx, 2
nop word [rax + rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x1400047a0
movups xmm0, xmmword [str.msvcp140.dll]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x140034748]
movsd qword [rcx + 0x10], xmm1
movzx eax, word [0x140034750]
mov word [rcx + 0x18], ax
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsi + 0x10], rax
lea rdx, [rsp + 0x50]
call fcn.1400052a0
nop
lea r8, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae r8, qword [rsp + 0x50]
mov rdx, r14
call fcn.140003d20
test al, al
jne 0x14000480a
mov rdi, r15
jmp 0x140004985
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x140035a70]
movdqu xmmword [rsp + 0x40], xmm1
mov word [rsp + 0x30], r15w
mov r8d, 0x10
lea rdx, str.2345ImageApp.dll
lea rcx, [rsp + 0x30]
call fcn.140001f30
nop
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.140002400
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x140004896
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004891
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a76
call fcn.140018250
movdqa xmm0, xmmword [0x140035a70]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], r15w
lea rdi, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
jb 0x1400048c0
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x14000492e
cmp qword [rsi], 0
jne 0x14000492e
call fcn.1400038d0
cmp qword [rax], 0
jne 0x1400048dc
mov rdx, r14
mov rcx, rax
call fcn.140003970
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14000490d
test al, 0x10
jne 0x14000490d
call fcn.140006f10
xor r8d, r8d
mov rdx, rdi
mov rcx, rax
call fcn.140007000
test al, al
jne 0x140004912
mov rdx, rdi
call fcn.140003a30
mov rdi, r15
jmp 0x140004931
xor edx, edx
lea r8d, [rdx + 8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rdi, rax
test rax, rax
je 0x14000490d
mov qword [rsi], rax
jmp 0x140004931
mov rdi, qword [rsi]
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x140004972
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000496d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a7c
call fcn.140018250
movdqa xmm0, xmmword [0x140035a70]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], r15w
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x1400049c7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400049c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a82
call fcn.140018250
movdqa xmm0, xmmword [0x140035a70]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r15w
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140004a17
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004a12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a70
call fcn.140018250
movdqa xmm0, xmmword [0x140035a70]
movdqu xmmword [rbp - 0x60], xmm0
mov word [rbp - 0x70], r15w
test rbx, rbx
je 0x140004a41
mov rcx, qword [rbx]
test rcx, rcx
je 0x140004a3c
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0x20], r15
mov rax, rdi
mov rcx, qword [rbp + 0x3d0]
xor rcx, rsp
call fcn.1400181f0
lea r11, [rsp + 0x4e0]
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.14001c384
nop
call fcn.14001c384
nop
call fcn.14001c384
nop
call fcn.14001c384
int3