Function at 0x18002c830
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 0x18002c85c
test ebx, ebx
jne 0x18002c85c
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.18002b350
mov dword [rsp + 0x238], eax
mov ebp, eax
test eax, eax
je 0x18002ca43
mov rcx, qword [r15 + 0x40]
movzx eax, byte [rcx + 0x341]
mov qword [rsp + 0x38], rax
cmp byte [rcx + rax*8 + 0x22], 0
je 0x18002c8cc
lea rdx, str.fragmented_basic_auth_header_not_allowed_n
mov ecx, 1
call fcn.1800264d0
jmp 0x18002ca43
mov r9d, 0x19
lea rdx, [rsp + 0xc0]
mov r8d, 0xa0
mov rcx, r15
call fcn.18002b0a0
cmp eax, 7
jge 0x18002c908
lea rdx, str.b64_auth_too_long_n
mov ecx, 1
call fcn.1800264d0
mov eax, 2
jmp 0x18002ca48
lea rdx, str.Basic
mov byte [rsp + 0xc5], 0
lea rcx, [rsp + 0xc0]
call sub.msvcrt.dll__stricmp
test eax, eax
je 0x18002c94b
lea r8, [rsp + 0xc0]
mov ecx, 1
lea rdx, str.auth_missing_basic:__s_n
call fcn.1800264d0
mov eax, 2
jmp 0x18002ca48
mov r8d, 0x77
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xc6]
call fcn.18003be50
mov esi, eax
mov dword [rsp + 0x228], esi
test eax, eax
jns 0x18002c98b
lea rdx, str.plain_auth_too_long_n
mov ecx, 1
call fcn.1800264d0
mov eax, 2
jmp 0x18002ca48
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 0x18002c9c8
lea rdx, str.basic_auth_format_broken_n
lea ecx, [rax + 1]
call fcn.1800264d0
lea eax, [r14 + 2]
jmp 0x18002ca48
test ebx, ebx
je 0x18002c9ff
cmp ebx, 0x10000000
jne 0x18002ca43
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 0x18002cb27
jmp 0x18002ca43
xor ebx, ebx
xor edx, edx
mov rcx, rdi
mov esi, ebx
mov ebp, ebx
mov r14d, ebx
call fcn.1800290a0
mov r12d, eax
test eax, eax
jns 0x18002ca7c
mov r8, rdi
lea rdx, str.cant_open_auth_file:__s_n
lea ecx, [rbx + 1]
call fcn.1800264d0
lea r8, str.lws_check_basic_auth
mov ecx, 1
lea rdx, str._s:_basic_auth_lookup_failed_n
call fcn.1800264d0
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 0x18002caa9
mov r8d, 0x80
lea rdx, [rsp + 0x160]
mov ecx, r12d
call sub.msvcrt.dll__read
mov r14d, eax
test eax, eax
jle 0x18002cafa
mov ebp, ebx
mov r8, rbx
lea rcx, [rsp + 0x160]
cmp rdi, r13
jne 0x18002caca
movzx edx, byte [rcx + r8]
cmp dl, 0xd
je 0x18002cb06
cmp dl, 0xa
je 0x18002cb06
mov esi, ebx
mov rdi, rbx
movzx eax, byte [rcx + r8]
movzx ecx, byte [rsp + rdi + 0x40]
cmp al, cl
jne 0x18002cae9
inc rdi
inc ebp
inc r8
inc esi
cmp al, cl
cmovne esi, ebx
jmp 0x18002ca82
inc ebp
inc r8
inc esi
mov rdi, rbx
cmp al, cl
cmovne esi, ebx
jmp 0x18002ca82
cmp esi, dword [rsp + 0x228]
sete bl
jmp 0x18002cb0b
mov ebx, 1
mov ecx, r12d
call sub.msvcrt.dll__close
test ebx, ebx
je 0x18002ca2b
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.18002b320
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 0x18002ca48