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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x450]
sub rsp, 0x550
mov rax, qword [0x1404953c0]
xor rax, rsp
mov qword [rbp + 0x440], rax
mov rdi, rdx
mov r12, rcx
xor r15d, r15d
mov edx, r15d
movzx eax, word [rdi]
or eax, 0x20
sub eax, 0x61
lea r13d, [r15 + 2]
cmp eax, 0x19
ja 0x1400ed927
cmp word [rdi + 2], 0x3a
cmove edx, r13d
mov rbx, 0xffffffffffffffff
mov esi, ebx
mov eax, edx
movzx ecx, word [rdi + rax*2]
test cx, cx
je 0x1400eddff
nop
mov eax, esi
cmp cx, 0x3a
jne 0x1400ed951
mov esi, edx
test eax, eax
cmovns esi, eax
jmp 0x1400ed95f
cmp cx, 0x5c
je 0x1400ed95d
cmp cx, 0x2f
jne 0x1400ed95f
mov esi, ebx
inc edx
movzx ecx, word [rdi + rdx*2]
test cx, cx
jne 0x1400ed940
test esi, esi
js 0x1400eddff
lea eax, [rsi + 1]
cmp word [rdi + rax*2], r15w
je 0x1400eddff
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov eax, esi
lea r13, [rax + rax]
lea r14, [rdi + r13]
cmp word [r14], r15w
je 0x1400ed9ab
nop dword [rax + rax]
inc r15d
cmp word [r14 + r15*2], 0
jne 0x1400ed9a0
mov ecx, r15d
inc rcx
mov eax, 2
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1402b6274
mov rcx, rax
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x4c], r15d
lea r8d, [r15 + 1]
add r8, r8
mov rdx, r14
call fcn.140305e90
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xor edx, edx
mov r14d, edx
cmp word [rdi], dx
je 0x1400eda0a
nop dword [rax]
inc r14d
cmp word [rdi + r14*2], dx
jne 0x1400eda00
mov ecx, r14d
inc rcx
mov eax, 2
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1402b6274
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x5c], r14d
lea r8d, [r14 + 1]
add r8, r8
mov rdx, rdi
mov rcx, rax
call fcn.140305e90
nop
cmp esi, r14d
jae 0x1400eda5e
mov r14d, esi
mov dword [rsp + 0x58], esi
mov rcx, qword [rsp + 0x50]
xor eax, eax
mov word [rcx + r13], ax
cmp r15d, 6
jbe 0x1400eda7d
mov eax, r15d
mov rcx, qword [rsp + 0x40]
lea rcx, [rcx + rax*2]
add rcx, 0xfffffffffffffff4
call fcn.1400ec4a0
test al, al
jne 0x1400eda87
lea rcx, [rsp + 0x40]
call fcn.1400ec840
mov r13, qword [rsp + 0x50]
movzx eax, word [r13]
or eax, 0x20
sub eax, 0x61
cmp eax, 0x19
ja 0x1400edb4e
cmp word [r13 + 2], 0x3a
jne 0x1400edb4e
cmp esi, 2
je 0x1400edac6
cmp esi, 3
jne 0x1400edb4e
cmp word [r13 + 4], 0x5c
jne 0x1400edb4e
xor ecx, ecx
mov qword [r12], rcx
mov qword [r12 + 8], rcx
mov qword [r12 + 0x10], rcx
mov qword [r12 + 0x18], rcx
mov dword [r12 + 0x20], ecx
mov word [r12 + 0x24], cx
lea r15, [r12 + 0x28]
mov dword [r15 + 8], ecx
mov rax, qword [r15]
mov word [rax], cx
cmp esi, 2
jne 0x1400edb66
lea rax, [rsp + 0x50]
cmp rax, r15
je 0x1400edb66
cmp r14d, dword [r15 + 0xc]
jbe 0x1400edb36
mov ecx, r14d
inc rcx
mov eax, 2
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1402b6274
mov rdi, rax
mov rcx, qword [r15]
call fcn.1402b5c4c
mov qword [r15], rdi
mov dword [r15 + 0xc], r14d
mov dword [r15 + 8], r14d
lea r8d, [r14 + 1]
add r8, r8
mov rdx, r13
mov rcx, qword [r15]
call fcn.140305e90
jmp 0x1400edb64
xor r8d, r8d
mov rdx, r13
mov rcx, r12
call fcn.1400ed8d0
test al, al
je 0x1400edde5
xor ecx, ecx
and dword [r12 + 0x20], 0xfffffbef
mov qword [r12], rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rcx
mov ecx, r14d
inc rcx
mov eax, 2
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1402b6274
mov rdi, rax
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], r14d
mov dword [rsp + 0x7c], r14d
lea r8d, [r14 + 1]
add r8, r8
mov rdx, r13
mov rcx, rax
call fcn.140305e90
nop
mov eax, 8
mov ecx, eax
call fcn.1402b6274
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x34], 3
mov word [rax], cx
cmp rbx, 0xffffffffffffffff
je 0x1400edc1e
mov rax, qword [0x1404ac7e8]
test rax, rax
je 0x1400edd84
lea rdx, [rbp - 0x80]
mov rcx, rbx
call rax
test eax, eax
je 0x1400edd8f
mov rax, qword [rbp - 0x80]
lea rdx, [rbp - 0x78]
jmp 0x1400edc7e
cmp qword [0x1404ac7e0], 0
je 0x1400edd84
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor r9d, r9d
lea r8, [rbp + 0x1e0]
xor edx, edx
mov rcx, rdi
call qword [0x1404ac7e0]
mov rbx, rax
mov qword [rsp + 0x68], rax
cmp rax, 0xffffffffffffffff
jne 0x1400edc66
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x26
je 0x1400edd8f
cmp rbx, 0xffffffffffffffff
je 0x1400edd8f
mov rax, qword [rbp + 0x1e0]
lea rdx, [rbp + 0x1e8]
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x28]
call fcn.1400ec7a0
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x28]
sub r13, r15
nop word [rax + rax]
movzx esi, word [r15 + r13]
movzx edi, word [r15]
lea r15, [r15 + 2]
cmp si, di
je 0x1400edd06
cmp esi, 0x61
jae 0x1400edcbd
movzx r14d, si
jmp 0x1400edcdf
cmp esi, 0x7a
ja 0x1400edcc8
lea r14d, [rsi - 0x20]
jmp 0x1400edcdf
cmp esi, 0x7f
ja 0x1400edcd3
movzx r14d, si
jmp 0x1400edcdf
mov rcx, rsi
call qword [sym.imp.USER32.dll_CharUpperW]
mov r14, rax
cmp edi, 0x61
jb 0x1400edd00
cmp edi, 0x7a
ja 0x1400edcef
sub di, 0x20
jmp 0x1400edd00
cmp edi, 0x7f
jbe 0x1400edd00
mov rcx, rdi
call qword [sym.imp.USER32.dll_CharUpperW]
mov rdi, rax
cmp r14w, di
jne 0x1400edd70
test si, si
jne 0x1400edca0
mov esi, dword [rsp + 0x30]
cmp esi, 7
jbe 0x1400edd2c
lea eax, [rsi - 6]
cmp eax, esi
jae 0x1400edd2c
mov esi, eax
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x28]
xor edx, edx
mov word [rcx + rax*2], dx
mov edx, esi
lea rcx, [r12 + 0x28]
call fcn.1400ec580
lea r8d, [rsi + 1]
mov ecx, dword [r12 + 0x30]
mov rax, qword [r12 + 0x28]
lea rcx, [rax + rcx*2]
add r8, r8
mov rdx, qword [rsp + 0x28]
call fcn.140305e90
add dword [r12 + 0x30], esi
mov rax, qword [rsp + 0x38]
mov qword [r12], rax
mov byte [r12 + 0x24], 1
mov dil, 1
jmp 0x1400edda6
mov rcx, qword [rsp + 0x28]
call fcn.1402b5c4c
mov rdi, qword [rsp + 0x70]
jmp 0x1400edbcb
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_SetLastError]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x26
jne 0x1400edda3
lea ecx, [rax - 0x24]
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor dil, dil
mov rcx, qword [rsp + 0x28]
call fcn.1402b5c4c
nop
mov rcx, qword [rsp + 0x70]
call fcn.1402b5c4c
cmp rbx, 0xffffffffffffffff
je 0x1400eddcb
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov rcx, qword [rsp + 0x50]
call fcn.1402b5c4c
nop
mov rcx, qword [rsp + 0x40]
call fcn.1402b5c4c
jmp 0x1400ee167
mov rcx, r13
call fcn.1402b5c4c
nop
mov rcx, qword [rsp + 0x40]
call fcn.1402b5c4c
xor r15d, r15d
lea r13d, [r15 + 2]
mov qword [rsp + 0x60], rbx
movzx eax, word [rdi]
cmp ax, 0x5c
je 0x1400ede13
cmp ax, 0x2f
jne 0x1400ede47
movzx eax, word [rdi + 2]
cmp ax, 0x5c
je 0x1400ede23
cmp ax, 0x2f
jne 0x1400ede47
cmp word [rdi + 4], 0x3f
jne 0x1400ede47
movzx eax, word [rdi + 6]
cmp ax, 0x5c
je 0x1400ede3a
cmp ax, 0x2f
jne 0x1400ede47
mov edx, 8
lea ecx, [rdx + 6]
mov r14d, edx
jmp 0x1400ede52
mov rdx, r15
mov ecx, 6
mov r14, r15
movzx eax, word [rdx + rdi]
or eax, 0x20
sub eax, 0x61
cmp eax, 0x19
ja 0x1400edf0b
cmp word [rdx + rdi + 2], 0x3a
jne 0x1400edf0b
movzx eax, word [rdx + rdi + 4]
cmp ax, 0x5c
je 0x1400ede86
cmp ax, 0x2f
jne 0x1400edf0b
cmp word [rdi + rcx], 0
jne 0x1400edf0b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400ee140
test al, 0x10
je 0x1400ee140
mov qword [r12], r15
mov qword [r12 + 8], 0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0
mov word [r12 + 0x24], 0
mov dword [r12 + 0x20], eax
lea rdx, [rdi + r14]
lea rcx, [r12 + 0x28]
call fcn.1400ec7a0
cmp dword [r12 + 0x30], 2
jbe 0x1400edef8
mov dword [r12 + 0x30], r13d
mov rax, qword [r12 + 0x28]
mov word [rax + 4], r15w
mov rdx, rdi
mov rcx, r12
call fcn.1400ee260
mov dil, 1
jmp 0x1400ee158
movzx eax, word [rdi]
cmp ax, 0x5c
je 0x1400edf1e
cmp ax, 0x2f
jne 0x1400ee140
mov rcx, rdi
cmp word [rdi + 2], 0
jne 0x1400edf84
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, eax
cmp eax, 0xffffffff
je 0x1400ee140
test cl, 0x10
je 0x1400ee140
mov qword [r12], r15
mov qword [r12 + 8], 0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0
mov word [r12 + 0x24], 0
mov dword [r12 + 0x30], r15d
mov rax, qword [r12 + 0x28]
mov word [rax], r15w
mov dword [r12 + 0x20], ecx
mov dil, 1
jmp 0x1400ee158
call fcn.1400fe690
mov r14d, eax
test eax, eax
je 0x1400ee140
lea rax, [rdi + r14*2]
movzx ecx, word [rax]
test cx, cx
je 0x1400ee140
mov rdx, rax
cmp cx, 0x5c
je 0x1400edfc1
cmp cx, 0x2f
je 0x1400edfc1
add rdx, 2
movzx ecx, word [rdx]
test cx, cx
jne 0x1400edfa7
jmp 0x1400edfcf
sub rdx, rax
sar rdx, 1
test edx, edx
jns 0x1400ee140
mov rdx, rdi
mov rcx, r12
call fcn.1400ee260
test al, al
je 0x1400edff4
lea rcx, [r12 + 0x28]
lea rdx, [rdi + r14*2]
call fcn.1400ec7a0
mov dil, 1
jmp 0x1400ee158
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov esi, r15d
cmp word [rdi], 0
je 0x1400ee00e
inc esi
cmp word [rdi + rsi*2], 0
jne 0x1400ee005
mov ecx, esi
inc rcx
mov rax, r13
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1402b6274
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x4c], esi
lea r8d, [rsi + 1]
add r8, r8
mov rdx, rdi
mov rcx, rax
call fcn.140305e90
nop
mov eax, esi
shr eax, 1
lea edx, [rsi + 0x10]
add edx, eax
and edx, 0xfffffff0
dec edx
cmp edx, esi
jb 0x1400ee05f
cmp edx, 0x3ffffffe
jbe 0x1400ee064
mov edx, 0x3ffffffe
cmp edx, esi
jbe 0x1400ee205
lea rcx, [rsp + 0x40]
call fcn.1400ec510
mov ecx, dword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov word [rbx + rcx*2], 0x5c
inc ecx
mov word [rbx + rcx*2], r15w
mov dword [rsp + 0x48], ecx
cmp dword [rsp + 0x4c], ecx
jne 0x1400ee0d0
mov edx, ecx
shr edx, 1
add edx, 0x10
add edx, ecx
and edx, 0xfffffff0
dec edx
cmp edx, ecx
jb 0x1400ee0b0
cmp edx, 0x3ffffffe
jbe 0x1400ee0b5
mov edx, 0x3ffffffe
cmp edx, ecx
jbe 0x1400ee1eb
lea rcx, [rsp + 0x40]
call fcn.1400ec510
mov ecx, dword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov eax, ecx
mov word [rbx + rax*2], 0x2a
inc ecx
mov word [rbx + rcx*2], r15w
mov dword [rsp + 0x48], ecx
xor sil, sil
mov r8, r12
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.1400ed810
test al, al
je 0x1400ee116
lea rcx, [r12 + 0x28]
mov rax, qword [rcx]
cmp word [rax], 0x2e
jne 0x1400ee113
cmp word [rax + 2], 0
je 0x1400ee1d1
mov sil, 1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, eax
test sil, sil
jne 0x1400ee195
cmp ecx, 0xffffffff
je 0x1400ee138
test cl, 0x10
jne 0x1400ee195
mov rcx, rbx
call fcn.1402b5c4c
mov r8, r12
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.1400ed810
movzx edi, al
mov rbx, qword [rsp + 0x60]
cmp rbx, 0xffffffffffffffff
je 0x1400ee167
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
movzx eax, dil
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.1402b5c00
mov rbx, qword [rsp + 0x5a0]
add rsp, 0x550
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [r12], r15
mov qword [r12 + 8], 0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0
mov word [r12 + 0x24], 0
mov eax, reloc.WS2_32.dll_recv
cmp ecx, 0xffffffff
cmovne eax, ecx
mov dword [r12 + 0x20], eax
lea rcx, [r12 + 0x28]
lea rdx, [rdi + r14*2]
call fcn.1400ec7a0
nop
mov rcx, rbx
call fcn.1402b5c4c
mov dil, 1
jmp 0x1400ee153
mov dword [rsp + 0x20], 0x13329ac
lea rdx, [0x14048a0d0]
lea rcx, [rsp + 0x20]
call fcn.1402b8690
int3
mov dword [rsp + 0x20], 0x13329ac
lea rdx, [0x14048a0d0]
lea rcx, [rsp + 0x20]
call fcn.1402b8690
int3