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

Disassembly:
push rbp
push rdi
push r12
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x1802b92f8]
xor rax, rsp
mov qword [rbp + 0x50], rax
xor edi, edi
mov r12, rcx
cmp qword [rcx + 0x18], 0x10
jb 0x18010712e
mov rcx, qword [rcx]
mov qword [rsp + 0x198], rbx
mov qword [rsp + 0x1a0], rsi
mov qword [rsp + 0x1a8], r13
mov qword [rsp + 0x168], r14
mov qword [rsp + 0x160], r15
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x18010735d
mov r14, qword [r12 + 0x10]
test r14, r14
je 0x1801073d8
mov r15, rdi
lea rsi, [0x18026a544]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], 0
jne 0x180107184
mov r13, qword [r12 + 0x18]
mov rdi, r12
cmp r13, 0x10
jb 0x18010719f
mov rdi, qword [r12]
test rbx, rbx
je 0x180107202
cmp r15, r14
jae 0x180107202
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x100
call fcn.180154630
lea rdx, [rbx + rsi]
mov rcx, rsi
cmp rsi, rdx
je 0x1801071e0
nop word [rax + rax]
movzx eax, byte [rcx]
inc rcx
mov byte [rsp + rax + 0x50], 1
cmp rcx, rdx
jne 0x1801071d0
lea rdx, [r14 + rdi]
lea rax, [rdi + r15]
cmp rax, rdx
jae 0x180107202
nop dword [rax]
movzx ecx, byte [rax]
cmp byte [rsp + rcx + 0x50], 0
jne 0x180107278
inc rax
cmp rax, rdx
jb 0x1801071f0
mov rax, 0xffffffffffffffff
cmp rax, 0xffffffffffffffff
mov r15, r14
xorps xmm0, xmm0
cmovne r15, rax
xor edi, edi
cmp r14, r15
mov qword [rsp + 0x38], rdi
mov rsi, r15
mov qword [rsp + 0x40], rdi
cmovb rsi, r14
mov r14, r12
movups xmmword [rsp + 0x28], xmm0
cmp r13, 0x10
jb 0x18010723f
mov r14, qword [r12]
movabs r13, 0x7fffffffffffffff
cmp rsi, r13
ja 0x1801073e2
mov qword [rsp + 0x40], reloc.WS2_32.dll_ntohs
cmp rsi, 0x10
jae 0x18010727d
mov r8, rsi
mov qword [rsp + 0x38], rsi
mov rdx, r14
lea rcx, [rsp + 0x28]
call fcn.180153f80
jmp 0x1801072cd
sub rax, rdi
jmp 0x180107209
mov rdi, rsi
or rdi, 0xf
cmp rdi, r13
jbe 0x18010728e
mov rdi, r13
jmp 0x18010729b
cmp rdi, 0x16
mov eax, socket
cmovb rdi, rax
lea rdx, [rdi + 1]
lea rcx, [rsp + 0x28]
call fcn.1800221a0
mov r8, rsi
mov qword [rsp + 0x28], rax
mov rdx, r14
mov qword [rsp + 0x38], rsi
mov rcx, rax
mov qword [rsp + 0x40], rdi
mov rbx, rax
call fcn.180153f80
mov byte [rbx + rsi], 0
cmp qword [rsp + 0x38], 0
je 0x18010730f
cmp qword [rsp + 0x40], 0x10
lea rcx, [rsp + 0x28]
cmovae rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x18010730f
cmp qword [rsp + 0x40], 0x10
lea rcx, [rsp + 0x28]
cmovae rcx, qword [rsp + 0x28]
call fcn.1801afbf0
test eax, eax
jne 0x18010739f
mov rdx, qword [rsp + 0x40]
inc r15
cmp rdx, 0x10
jb 0x18010734f
mov rcx, qword [rsp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010734a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801073dc
call fcn.180118520
mov r14, qword [r12 + 0x10]
cmp r15, r14
jb 0x180107176
mov al, 1
mov r15, qword [rsp + 0x160]
mov r14, qword [rsp + 0x168]
mov r13, qword [rsp + 0x1a8]
mov rsi, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.180118df0
add rsp, 0x170
pop r12
pop rdi
pop rbp
ret
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x1801073d8
mov rcx, qword [rsp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801073d3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801073dc
call fcn.180118520
xor al, al
jmp 0x18010735f
call fcn.180162b34
int3
call fcn.180021cd0
int3