Function at 0x5d61d0
Capabilities:
Check if file exists

Disassembly:
push rbp
mov eax, reloc.WS2_32.dll_WSASetLastError
call fcn.00693bc0
sub rsp, rax
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x60], rbx
mov qword [rbp + 0x68], rsi
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x28], r13
mov qword [rbp + 0x20], r14
mov rax, qword [0x0072f1d0]
mov qword [rbp + 0x10], rax
xor ebx, ebx
mov r12, rdx
mov rsi, rcx
cmp byte [rcx], bl
mov rax, rcx
mov edi, ebx
je 0x5d6229
cmp edi, 0x80000000
jae 0x5d6229
inc rax
inc edi
cmp byte [rax], bl
jne 0x5d6218
mov r8, rcx
btr edi, 0x1f
mov r13d, 8
inc edi
mov ecx, 0xfde9
mov edx, r13d
mov r9d, edi
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
mov r9d, eax
jg 0x5d62a2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3ec
jne 0x5d628c
mov r9d, edi
mov r8, rsi
xor edx, edx
mov ecx, 0xfde9
mov dword [rsp + 0x28], ebx
mov r13d, ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
mov r9d, eax
jg 0x5d62a2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x459
jne 0x5d6372
jmp 0x5d635b
movsxd rax, r9d
add rax, rax
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.00693bc0
sub rsp, rax
mov r8, rsi
mov dword [rsp + 0x28], r9d
lea r14, [rsp + 0x30]
mov edx, r13d
mov r9d, edi
mov ecx, 0xfde9
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x5d6372
cmp byte [r12], bl
mov rax, r12
je 0x5d6302
nop
cmp ebx, 0x80000000
jae 0x5d6302
inc rax
inc ebx
cmp byte [rax], 0
jne 0x5d62f0
lea rax, [rbp]
btr ebx, 0x1f
mov r8, r12
lea r9d, [rbx + 1]
xor edx, edx
mov ecx, 0xfde9
mov dword [rsp + 0x28], 8
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x5d6372
lea rdx, [rbp]
mov rcx, r14
call sub.msvcrt.dll__wfopen
test rax, rax
mov rbx, rax
jne 0x5d640f
call sub.msvcrt.dll__errno
cmp dword [rax], 2
je 0x5d635b
call sub.msvcrt.dll__errno
cmp dword [rax], 9
jne 0x5d6369
mov rdx, r12
mov rcx, rsi
call sub.msvcrt.dll_fopen
mov rbx, rax
test rbx, rbx
jne 0x5d640f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 1
lea r9, [0x0074b7a0]
lea ecx, [rdx + 1]
mov r8d, eax
mov dword [rsp + 0x20], 0xa9
call fcn.005ad900
lea r11, [0x0074b7b8]
lea r9, [0x0074b7bc]
mov qword [rsp + 0x28], r11
lea rdx, [0x0074b7c0]
mov r8, rsi
mov ecx, 5
mov qword [rsp + 0x20], r12
call fcn.005ae0b0
call sub.msvcrt.dll__errno
mov edx, WSAGetLastError
cmp dword [rax], 2
lea ecx, [rdx - 0x4d]
jne 0x5d63f1
lea r9, [0x0074b7c8]
lea r8d, [rdx + 0x13]
mov dword [rsp + 0x20], 0xac
call fcn.005ad900
xor eax, eax
jmp 0x5d6450
lea r9, [0x0074b7e0]
mov r8d, 2
mov dword [rsp + 0x20], 0xae
call fcn.005ad900
xor eax, eax
jmp 0x5d6450
lea rcx, [0x0074b750]
call fcn.005a9b50
test rax, rax
mov rdi, rax
jne 0x5d642f
mov rcx, rbx
call sub.msvcrt.dll_fclose
xor eax, eax
jmp 0x5d6450
xor edx, edx
mov rcx, rax
call fcn.005a8cc0
mov edx, 0x6a
mov r9, rbx
lea r8d, [rdx - 0x69]
mov rcx, rdi
call fcn.005a9340
mov rax, rdi
mov rcx, qword [rbp + 0x10]
call fcn.00693b90
mov rbx, qword [rbp + 0x60]
mov rsi, qword [rbp + 0x68]
mov rdi, qword [rbp + 0x38]
mov r12, qword [rbp + 0x30]
mov r13, qword [rbp + 0x28]
mov r14, qword [rbp + 0x20]
lea rsp, [rbp + 0x40]
pop rbp
ret