Function at 0x1801cdf80
Capabilities:
Read file on windows

Disassembly:
push rdi
push r12
push r14
sub rsp, 0x30
mov qword [rsp + 0x50], rbx
mov r12, rdx
xor ebx, ebx
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r15
xor r14d, r14d
mov r15, rcx
mov qword [rsp + 0x60], rbx
mov qword [rdx], rbx
call fcn.1801cbc00
mov rsi, rax
test rax, rax
jne 0x1801cdfc1
lea edi, [rbx + 0xf]
jmp 0x1801ce24f
mov qword [rsp + 0x58], rbx
test r15, r15
je 0x1801ce24a
lea rdx, [0x1803c7370]
mov qword [rsp + 0x68], rbp
mov rcx, r15
call fcn.180296934
mov rbp, rax
test rax, rax
jne 0x1801ce00d
call qword [sym.imp.KERNEL32.dll_GetLastError]
sub eax, 2
je 0x1801ce003
cmp eax, 1
je 0x1801ce003
lea edi, [rbp + 0xe]
jmp 0x1801ce0b1
mov edi, 4
jmp 0x1801ce0b1
xor edx, edx
mov rcx, rbp
lea r8d, [rdx + 2]
call fcn.180296594
test eax, eax
je 0x1801ce029
mov edi, reloc.WS2_32.dll_ntohl
jmp 0x1801ce0a9
mov rcx, rbp
call fcn.18029e9a0
test eax, eax
jns 0x1801ce03c
mov edi, reloc.WS2_32.dll_ntohl
jmp 0x1801ce0a9
xor r8d, r8d
movsxd rdi, eax
xor edx, edx
mov rcx, rbp
call fcn.180296594
test eax, eax
je 0x1801ce057
mov edi, reloc.WS2_32.dll_ntohl
jmp 0x1801ce0a9
test rdi, rdi
je 0x1801ce0a7
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x58], rdi
mov rcx, rsi
call fcn.1801cbf40
test rax, rax
jne 0x1801ce078
lea edi, [rax + 0xf]
jmp 0x1801ce0a9
mov r9, rbp
mov r8, rdi
mov edx, 1
mov rcx, rax
call fcn.18029e5dc
mov qword [rsp + 0x58], rax
cmp rax, rdi
je 0x1801ce09c
mov edi, reloc.WS2_32.dll_ntohl
jmp 0x1801ce0a9
mov rdx, rdi
mov rcx, rsi
call fcn.1801cbfa0
xor edi, edi
mov rcx, rbp
call fcn.18029d798
mov rbp, qword [rsp + 0x68]
test edi, edi
jne 0x1801ce24f
lea ecx, [rdi + 0x20]
call fcn.18012efb0
mov r14, rax
test rax, rax
je 0x1801ce241
xor ecx, ecx
call fcn.180299ea4
mov rcx, r15
mov qword [r14], rax
call fcn.1801c97f0
mov qword [r14 + 8], rax
test rax, rax
je 0x1801ce21c
lea rcx, [0x1801cd950]
call fcn.1802397d0
mov qword [r14 + 0x10], rax
test rax, rax
je 0x1801ce21c
xor ecx, ecx
call fcn.1802397d0
mov qword [r14 + 0x18], rax
test rax, rax
je 0x1801ce21c
mov rcx, rsi
call fcn.1801ccca0
test rax, rax
je 0x1801ce218
nop
xor edx, edx
mov byte [rsp + 0x58], 0x23
mov rcx, rsi
call fcn.1801cc640
mov rcx, rsi
call fcn.1801ccca0
test rax, rax
je 0x1801ce218
mov r8d, 1
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.1801ccc50
test eax, eax
jne 0x1801ce1fa
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.1801cde00
mov rbx, qword [rsp + 0x60]
mov edi, eax
cmp eax, 0xf
je 0x1801ce24f
test eax, eax
jne 0x1801ce1fa
mov rdx, rbx
mov rcx, rsi
call fcn.1801cdc30
mov edi, eax
cmp eax, 0xf
je 0x1801ce24f
test eax, eax
je 0x1801ce1e2
test rbx, rbx
je 0x1801ce1d9
mov rax, qword [rbx]
test rax, rax
je 0x1801ce1be
dec rax
mov qword [rbx], rax
test rax, rax
jne 0x1801ce1d9
mov rcx, qword [rbx + 0x10]
call fcn.1801c8cb0
mov rcx, qword [rbx + 8]
call fcn.1801c8cb0
mov rcx, rbx
call qword [fcn.1800a58b0]
xor ebx, ebx
mov qword [rsp + 0x60], rbx
jmp 0x1801ce1fa
mov rdx, rbx
mov rcx, r14
call fcn.1801cd9a0
xor ebx, ebx
mov edi, eax
mov qword [rsp + 0x60], rbx
test eax, eax
jne 0x1801ce24f
mov edx, 1
mov rcx, rsi
call fcn.1801cc930
mov rcx, rsi
call fcn.1801ccca0
test rax, rax
jne 0x1801ce130
xor edi, edi
jmp 0x1801ce24f
mov rcx, qword [r14 + 8]
call qword [fcn.1800a58b0]
mov rcx, qword [r14 + 0x18]
call fcn.1801c95b0
mov rcx, qword [r14 + 0x10]
call fcn.1801c95b0
mov rcx, r14
call qword [fcn.1800a58b0]
xor r14d, r14d
lea edi, [r14 + 0xf]
jmp 0x1801ce24f
mov edi, 2
mov r15, qword [rsp + 0x20]
test rbx, rbx
je 0x1801ce287
mov rax, qword [rbx]
test rax, rax
je 0x1801ce26c
dec rax
mov qword [rbx], rax
test rax, rax
jne 0x1801ce287
mov rcx, qword [rbx + 0x10]
call fcn.1801c8cb0
mov rcx, qword [rbx + 8]
call fcn.1801c8cb0
mov rcx, rbx
call qword [fcn.1800a58b0]
mov rcx, rsi
call fcn.1801cbc80
mov rsi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x50]
test edi, edi
je 0x1801ce2d3
test r14, r14
je 0x1801ce2d7
mov rcx, qword [r14 + 8]
call qword [fcn.1800a58b0]
mov rcx, qword [r14 + 0x18]
call fcn.1801c95b0
mov rcx, qword [r14 + 0x10]
call fcn.1801c95b0
mov rcx, r14
call qword [fcn.1800a58b0]
mov eax, edi
add rsp, 0x30
pop r14
pop r12
pop rdi
ret
mov qword [r12], r14
mov eax, edi
add rsp, 0x30
pop r14
pop r12
pop rdi
ret