Function at 0x18002c880
Capabilities:
Read file on windows

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x200
mov ebx, r8d
mov rdi, rdx
mov r15, rcx
test rdx, rdx
jne 0x18002c8ac
test ebx, ebx
jne 0x18002c8ac
xor eax, eax
add rsp, 0x200
pop r15
pop rdi
pop rbx
ret
mov qword [rsp + 0x220], rbp
mov edx, 0x19
mov qword [rsp + 0x1f8], rsi
mov qword [rsp + 0x1f0], r12
mov qword [rsp + 0x1e8], r13
mov qword [rsp + 0x1e0], r14
call fcn.18002b3a0
mov dword [rsp + 0x238], eax
mov ebp, eax
test eax, eax
je 0x18002ca93
mov rcx, qword [r15 + 0x40]
movzx eax, byte [rcx + 0x341]
mov qword [rsp + 0x38], rax
cmp byte [rcx + rax*8 + 0x22], 0
je 0x18002c91c
lea rdx, str.fragmented_basic_auth_header_not_allowed_n
mov ecx, 1
call fcn.180026520
jmp 0x18002ca93
mov r9d, 0x19
lea rdx, [rsp + 0xc0]
mov r8d, 0xa0
mov rcx, r15
call fcn.18002b0f0
cmp eax, 7
jge 0x18002c958
lea rdx, str.b64_auth_too_long_n
mov ecx, 1
call fcn.180026520
mov eax, 2
jmp 0x18002ca98
lea rdx, str.Basic
mov byte [rsp + 0xc5], 0
lea rcx, [rsp + 0xc0]
call sub.msvcrt.dll__stricmp
test eax, eax
je 0x18002c99b
lea r8, [rsp + 0xc0]
mov ecx, 1
lea rdx, str.auth_missing_basic:__s_n
call fcn.180026520
mov eax, 2
jmp 0x18002ca98
mov r8d, 0x77
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xc6]
call fcn.18003bea0
mov esi, eax
mov dword [rsp + 0x228], esi
test eax, eax
jns 0x18002c9db
lea rdx, str.plain_auth_too_long_n
mov ecx, 1
call fcn.180026520
mov eax, 2
jmp 0x18002ca98
movsxd r13, esi
lea rcx, [rsp + 0x40]
mov edx, 0x3a
mov byte [rsp + r13 + 0x40], 0
call sub.msvcrt.dll_strchr
mov qword [rsp + 0x30], rax
mov r14, rax
test rax, rax
jne 0x18002ca18
lea rdx, str.basic_auth_format_broken_n
lea ecx, [rax + 1]
call fcn.180026520
lea eax, [r14 + 2]
jmp 0x18002ca98
test ebx, ebx
je 0x18002ca4f
cmp ebx, 0x10000000
jne 0x18002ca93
mov r10, qword [r15 + 0x10]
lea r9, [rsp + 0x40]
mov r8, qword [r15 + 0x3d8]
mov edx, 0x66
mov rcx, r15
mov qword [rsp + 0x20], rsi
call qword [r10 + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
jne 0x18002cb77
jmp 0x18002ca93
xor ebx, ebx
xor edx, edx
mov rcx, rdi
mov esi, ebx
mov ebp, ebx
mov r14d, ebx
call fcn.1800290f0
mov r12d, eax
test eax, eax
jns 0x18002cacc
mov r8, rdi
lea rdx, str.cant_open_auth_file:__s_n
lea ecx, [rbx + 1]
call fcn.180026520
lea r8, str.lws_check_basic_auth
mov ecx, 1
lea rdx, str._s:_basic_auth_lookup_failed_n
call fcn.180026520
mov eax, 1
mov r13, qword [rsp + 0x1e8]
mov r12, qword [rsp + 0x1f0]
mov rsi, qword [rsp + 0x1f8]
mov rbp, qword [rsp + 0x220]
mov r14, qword [rsp + 0x1e0]
add rsp, 0x200
pop r15
pop rdi
pop rbx
ret
mov r8, rbx
mov rdi, rbx
cmp ebp, r14d
jne 0x18002caf9
mov r8d, 0x80
lea rdx, [rsp + 0x160]
mov ecx, r12d
call sub.msvcrt.dll__read
mov r14d, eax
test eax, eax
jle 0x18002cb4a
mov ebp, ebx
mov r8, rbx
lea rcx, [rsp + 0x160]
cmp rdi, r13
jne 0x18002cb1a
movzx edx, byte [rcx + r8]
cmp dl, 0xd
je 0x18002cb56
cmp dl, 0xa
je 0x18002cb56
mov esi, ebx
mov rdi, rbx
movzx eax, byte [rcx + r8]
movzx ecx, byte [rsp + rdi + 0x40]
cmp al, cl
jne 0x18002cb39
inc rdi
inc ebp
inc r8
inc esi
cmp al, cl
cmovne esi, ebx
jmp 0x18002cad2
inc ebp
inc r8
inc esi
mov rdi, rbx
cmp al, cl
cmovne esi, ebx
jmp 0x18002cad2
cmp esi, dword [rsp + 0x228]
sete bl
jmp 0x18002cb5b
mov ebx, 1
mov ecx, r12d
call sub.msvcrt.dll__close
test ebx, ebx
je 0x18002ca7b
mov r14, qword [rsp + 0x30]
mov ebp, dword [rsp + 0x238]
movzx ecx, byte [rsp + 0x38]
lea rax, [rsp + 0x40]
mov byte [r14], 0
mov edx, 0x19
sub r14w, ax
mov rax, qword [r15 + 0x40]
mov word [rax + rcx*8 + 0x20], r14w
mov rcx, r15
call fcn.18002b370
lea r8d, [rbp - 1]
mov rcx, rax
lea rdx, [rsp + 0x40]
mov rbx, rax
call sub.msvcrt.dll_strncpy
movsxd rcx, ebp
xor eax, eax
mov byte [rcx + rbx - 1], 0
jmp 0x18002ca98