Function at 0x1400489a0
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x250
mov rax, qword [0x14006e080]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov r15, r8
xor r12d, r12d
mov qword [r8], r12
mov esi, 0x104
mov r9d, esi
lea rdx, [rsp + 0x30]
lea rax, [rsp + 0x30]
sub rcx, rax
nop dword [rax]
lea rax, [r9 + 0x7ffffefa]
test rax, rax
je 0x140048a12
movzx eax, word [rcx + rdx]
test ax, ax
je 0x140048a12
mov word [rdx], ax
add rdx, 2
sub r9, 1
jne 0x1400489f0
lea rax, [rdx - 2]
test r9, r9
cmovne rax, rdx
mov word [rax], r12w
mov rcx, rsi
lea rax, [rsp + 0x30]
nop dword [rax]
cmp word [rax], r12w
je 0x140048a40
add rax, 2
sub rcx, 1
jne 0x140048a30
mov rax, rsi
sub rax, rcx
test rcx, rcx
cmove rax, r12
mov ebp, 0x7ffffffe
je 0x140048aa1
mov rdx, rsi
sub rdx, rax
lea rcx, [rsp + 0x30]
lea rcx, [rcx + rax*2]
je 0x140048a92
mov eax, ebp
lea r9, [0x140061090]
sub r9, rcx
test rax, rax
je 0x140048a92
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140048a92
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x140048a71
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r12w
lea r8, [rsp + 0x30]
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_OpenSemaphoreW]
mov rdi, rax
test rax, rax
je 0x140048d64
mov r14d, r12d
mov dword [rsp + 0x20], r12d
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x140048ae1
mov edx, 0x95
jmp 0x140048bbd
test eax, eax
je 0x140048af6
cmp eax, 0x102
je 0x140048af6
mov edx, 0x96
jmp 0x140048d1b
mov dword [rsp + 0x24], r12d
mov edx, 1
mov rcx, rdi
test eax, eax
jne 0x140048b53
lea r8, [rsp + 0x24]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSemaphore]
test eax, eax
jne 0x140048b20
mov edx, 0x9e
jmp 0x140048bbd
inc dword [rsp + 0x24]
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSemaphore]
test eax, eax
jne 0x140048b49
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 0x12a
je 0x140048bea
mov edx, 0xa3
jmp 0x140048d1b
mov dword [rsp + 0x28], r12d
lea r8, [rsp + 0x28]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSemaphore]
test eax, eax
jne 0x140048b6e
mov edx, 0xad
jmp 0x140048bbd
cmp dword [rsp + 0x28], r12d
je 0x140048b7f
mov edx, 0xae
jmp 0x140048d1b
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSemaphore]
test eax, eax
jne 0x140048d16
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 0x12a
jne 0x140048d16
xor edx, edx
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x140048bdc
mov edx, 0xb4
lea r8, [0x140061040]
mov rcx, qword [rsp + 0x278]
call fcn.1400453f0
mov ebx, eax
test eax, eax
jns 0x140048bef
jmp 0x140048d37
test eax, eax
je 0x140048bea
mov edx, 0xb5
jmp 0x140048d1b
mov r14d, dword [rsp + 0x24]
mov rcx, rsi
lea rax, [rsp + 0x30]
cmp word [rax], r12w
je 0x140048c07
add rax, 2
sub rcx, 1
jne 0x140048bf7
mov rax, rsi
sub rax, rcx
test rcx, rcx
cmove rax, r12
je 0x140048c5d
sub rsi, rax
lea rdx, [rsp + 0x30]
lea rdx, [rdx + rax*2]
je 0x140048c4e
lea rcx, [0x1400610cc]
sub rcx, rdx
nop
test rbp, rbp
je 0x140048c4e
movzx eax, word [rcx + rdx]
test ax, ax
je 0x140048c4e
mov word [rdx], ax
add rdx, 2
dec rbp
sub rsi, 1
jne 0x140048c30
lea rax, [rdx - 2]
test rsi, rsi
cmovne rax, rdx
mov word [rax], r12w
lea r8, [rsp + 0x30]
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_OpenSemaphoreW]
mov rbx, rax
test rax, rax
je 0x140048cee
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.1400475c0
mov esi, eax
test eax, eax
jns 0x140048cc3
lfence
mov rcx, qword [rsp + 0x278]
mov r9d, eax
lea r8, [0x140061040]
mov edx, 0xd7
call fcn.140039f70
nop
mov rcx, rbx
call fcn.1400426b0
nop
mov rcx, rdi
call fcn.1400426b0
nop
mov eax, esi
jmp 0x140048d8c
mov rcx, rbx
call fcn.1400426b0
nop
movsxd rcx, dword [rsp + 0x20]
shl rcx, 0x1f
movsxd rax, r14d
or rax, rcx
mov qword [r15], rax
mov rcx, rdi
call fcn.1400426b0
nop
xor eax, eax
jmp 0x140048d8c
mov rcx, qword [rsp + 0x278]
lea r8, [0x140061040]
mov edx, 0xd5
call fcn.1400453f0
mov ebx, eax
mov rcx, rdi
call fcn.1400426b0
nop
mov eax, ebx
jmp 0x140048d8c
mov edx, 0xb1
mov ebx, 0x8000ffff
mov r9d, ebx
lea r8, [0x140061040]
mov rcx, qword [rsp + 0x278]
call fcn.140039f70
lfence
mov rcx, qword [rsp + 0x278]
mov r9d, ebx
lea r8, [0x140061040]
mov edx, 0xcf
call fcn.140039f70
nop
mov rcx, rdi
call fcn.1400426b0
nop
mov eax, ebx
jmp 0x140048d8c
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 2
je 0x140048ce7
mov rcx, qword [rsp + 0x278]
lea r8, [0x140061040]
mov edx, reloc.OLEAUT32.dll_CreateErrorInfo
call fcn.1400453f0
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140004fc0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret