Function at 0x14009a490
Capabilities:
Check http status code

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
cmp byte [rcx + 0x1cc], 0
mov rsi, r8
mov r14, rdx
mov rbx, rcx
jne 0x14009a58d
cmp byte [rcx + 0xaf4], 0
jne 0x14009a58d
mov r8d, reloc.WS2_32.dll_ntohs
lea rcx, str.Content_Length:
mov rdx, rsi
call fcn.1400912d0
test eax, eax
je 0x14009a58d
xor edx, edx
lea rcx, [rsi + 0xf]
lea r9, [rsp + 0x60]
lea r8d, [rdx + 0xa]
call fcn.14009fe70
test eax, eax
jne 0x14009a52b
mov rax, qword [rbx + 0x728]
mov rdx, qword [rsp + 0x60]
test rax, rax
je 0x14009a510
cmp rdx, rax
jg 0x14009a53a
mov rcx, rbx
mov qword [rbx + 0xf0], rdx
mov qword [rbx + 0xf8], rdx
call fcn.14009d460
jmp 0x14009ae4a
cmp eax, 1
jne 0x14009a574
cmp qword [rbx + 0x728], 0
je 0x14009a553
lea rdx, str.Maximum_file_size_exceeded
mov rcx, rbx
call fcn.14008ced0
mov eax, 0x3f
jmp 0x14009ae4c
mov edx, 2
mov rcx, r14
call fcn.14008da50
lea rdx, str.Overflow_Content_Length:_value__n
mov rcx, rbx
call fcn.14008d030
jmp 0x14009ae4a
lea rdx, str.Invalid_Content_Length:_value
mov rcx, rbx
call fcn.14008ced0
mov eax, 8
jmp 0x14009ae4c
mov r8d, reloc.WS2_32.dll_listen
lea rcx, str.Content_Type:
mov rdx, rsi
call fcn.1400912d0
test eax, eax
je 0x14009a5dc
mov rcx, rsi
call fcn.1400992c0
mov rdi, rax
test rax, rax
je 0x14009ada4
cmp byte [rax], 0
je 0x14009ad06
mov rcx, qword [rbx + 0x1318]
call qword [str.__r_]
mov qword [rbx + 0x1318], rdi
jmp 0x14009ae4a
cmp dword [r14 + 0x1b8], 0xa
jne 0x14009a6a9
cmp byte [r14 + 0x3a4], 0
je 0x14009a6a9
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, str.Proxy_Connection:
mov rcx, rsi
call fcn.1400911b0
test eax, eax
je 0x14009a6a9
movzx eax, byte [rsi + 0x11]
lea rdi, [rsi + 0x11]
test al, al
je 0x14009a638
movzx ecx, al
call fcn.1400b98c0
test eax, eax
je 0x14009a638
movzx eax, byte [rdi + 1]
inc rdi
test al, al
jne 0x14009a621
mov edx, reloc.WS2_32.dll_listen
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
mov rbp, rax
test rax, rax
jne 0x14009a66d
lea edx, [rax + 0xa]
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
mov rbp, rax
test rax, rax
jne 0x14009a66d
xor edx, edx
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
mov rbp, rax
sub rbp, rdi
cmp rbp, 0xa
jb 0x14009a6a9
nop word [rax + rax]
mov r8d, 0xa
lea rdx, str.keep_alive
mov rcx, rdi
call fcn.1400911b0
test eax, eax
jne 0x14009a932
dec rbp
inc rdi
cmp rbp, 0xa
jae 0x14009a680
cmp dword [r14 + 0x1b8], 0xb
jne 0x14009a779
cmp byte [r14 + 0x3a4], 0
je 0x14009a779
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, str.Proxy_Connection:
mov rcx, rsi
call fcn.1400911b0
test eax, eax
je 0x14009a779
movzx eax, byte [rsi + 0x11]
lea rdi, [rsi + 0x11]
test al, al
je 0x14009a707
nop
movzx ecx, al
call fcn.1400b98c0
test eax, eax
je 0x14009a707
movzx eax, byte [rdi + 1]
inc rdi
test al, al
jne 0x14009a6f0
mov edx, reloc.WS2_32.dll_listen
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
mov rbp, rax
test rax, rax
jne 0x14009a73c
lea edx, [rax + 0xa]
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
mov rbp, rax
test rax, rax
jne 0x14009a73c
xor edx, edx
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
mov rbp, rax
sub rbp, rdi
cmp rbp, 5
jb 0x14009a779
nop word [rax + rax]
mov r8d, 5
lea rdx, str.close
mov rcx, rdi
call fcn.1400911b0
test eax, eax
jne 0x14009a950
dec rbp
inc rdi
cmp rbp, 5
jae 0x14009a750
cmp dword [r14 + 0x1b8], 0xa
jne 0x14009a839
mov r8d, ntohl
lea rdx, str.Connection:
mov rcx, rsi
call fcn.1400911b0
test eax, eax
je 0x14009a839
movzx eax, byte [rsi + 0xb]
lea rdi, [rsi + 0xb]
test al, al
je 0x14009a7c7
movzx ecx, al
call fcn.1400b98c0
test eax, eax
je 0x14009a7c7
movzx eax, byte [rdi + 1]
inc rdi
test al, al
jne 0x14009a7b0
mov edx, reloc.WS2_32.dll_listen
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
mov rbp, rax
test rax, rax
jne 0x14009a7fc
lea edx, [rax + 0xa]
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
mov rbp, rax
test rax, rax
jne 0x14009a7fc
xor edx, edx
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
mov rbp, rax
sub rbp, rdi
cmp rbp, 0xa
jb 0x14009a839
nop word [rax + rax]
mov r8d, 0xa
lea rdx, str.keep_alive
mov rcx, rdi
call fcn.1400911b0
test eax, eax
jne 0x14009a971
dec rbp
inc rdi
cmp rbp, 0xa
jae 0x14009a810
mov r8d, ntohl
lea rdx, str.Connection:
mov rcx, rsi
call fcn.1400911b0
test eax, eax
je 0x14009a8e9
movzx eax, byte [rsi + 0xb]
lea rdi, [rsi + 0xb]
test al, al
je 0x14009a879
movzx ecx, al
call fcn.1400b98c0
test eax, eax
je 0x14009a879
movzx eax, byte [rdi + 1]
inc rdi
test al, al
jne 0x14009a862
mov edx, reloc.WS2_32.dll_listen
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
mov rbp, rax
test rax, rax
jne 0x14009a8ae
lea edx, [rax + 0xa]
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
mov rbp, rax
test rax, rax
jne 0x14009a8ae
xor edx, edx
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
mov rbp, rax
sub rbp, rdi
cmp rbp, 5
jb 0x14009a8e9
nop word [rax + rax]
mov r8d, 5
lea rdx, str.close
mov rcx, rdi
call fcn.1400911b0
test eax, eax
jne 0x14009a98f
dec rbp
inc rdi
cmp rbp, 5
jae 0x14009a8c0
cmp byte [rbx + 0x1cc], 0
jne 0x14009a9d9
mov r8d, reloc.WS2_32.dll_select
lea rcx, str.Transfer_Encoding:
mov rdx, rsi
call fcn.1400912d0
test eax, eax
je 0x14009a9a1
lea rdx, [rsi + 0x12]
mov r8d, 1
mov rcx, rbx
call fcn.140091670
test eax, eax
je 0x14009ae4a
jmp 0x14009ae4c
xor edx, edx
mov rcx, r14
call fcn.14008da50
lea rdx, str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
mov rcx, rbx
call fcn.14008d030
jmp 0x14009ae4a
mov edx, 1
mov rcx, r14
call fcn.14008da50
lea rdx, str.HTTP_1.1_proxy_connection_set_close__n
mov rcx, rbx
call fcn.14008d030
jmp 0x14009ae4a
xor edx, edx
mov rcx, r14
call fcn.14008da50
lea rdx, str.HTTP_1.0_connection_set_to_keep_alive__n
mov rcx, rbx
call fcn.14008d030
jmp 0x14009ae4a
mov edx, 2
mov rcx, r14
call fcn.14008da50
jmp 0x14009ae4a
cmp byte [rbx + 0x1cc], 0
jne 0x14009a9d9
mov r8d, reloc.WS2_32.dll_recvfrom
lea rcx, str.Content_Encoding:
mov rdx, rsi
call fcn.1400912d0
test eax, eax
je 0x14009a9d9
cmp qword [rbx + 0x7b0], 0
je 0x14009a9d9
lea rdx, [rsi + 0x11]
xor r8d, r8d
jmp 0x14009a91d
mov r8d, ntohl
lea rcx, str.Retry_After:
mov rdx, rsi
call fcn.1400912d0
test eax, eax
je 0x14009aa48
lea rcx, [rsi + 0xc]
mov qword [rsp + 0x60], 0
call fcn.1400a02f0
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x14009aa32
lea r9, [rsp + 0x60]
xor edx, edx
lea r8d, [rax + 0xb]
lea rcx, [rsi + 0xc]
call fcn.14009fe70
mov rdi, qword [rsp + 0x60]
mov qword [rbx + 0x1328], rdi
jmp 0x14009ae4a
xor ecx, ecx
call sub.api_ms_win_crt_time_l1_1_0.dll__time64
sub rdi, rax
mov qword [rbx + 0x1328], rdi
jmp 0x14009ae4a
cmp byte [rbx + 0x1cc], 0
jne 0x14009aaf5
mov r8d, reloc.WS2_32.dll_ntohl
lea rcx, str.Content_Range:
mov rdx, rsi
call fcn.1400912d0
test eax, eax
je 0x14009aaf5
movzx eax, byte [rsi + 0xe]
lea rdi, [rsi + 0xe]
test al, al
je 0x14009aa9c
nop
movzx ecx, al
call fcn.1400b9840
test eax, eax
jne 0x14009aa9c
cmp byte [rdi], 0x2a
je 0x14009aa9c
movzx eax, byte [rdi + 1]
inc rdi
test al, al
jne 0x14009aa80
movzx ecx, byte [rdi]
call fcn.1400b9840
test eax, eax
je 0x14009aae5
xor edx, edx
lea r9, [rbx + 0x158]
mov rcx, rdi
lea r8d, [rdx + 0xa]
call fcn.14009fe70
test eax, eax
jne 0x14009ae4a
mov rax, qword [rbx + 0x158]
cmp qword [rbx + 0x1168], rax
jne 0x14009ae4a
mov byte [rbx + 0x1c9], 1
jmp 0x14009ae4a
mov qword [rbx + 0x1168], 0
jmp 0x14009ae4a
cmp qword [rbx + 0xb38], 0
je 0x14009aba0
cmp byte [rbx + 0x128f], 0
je 0x14009aba0
mov r8d, ntohl
lea rcx, str.Set_Cookie:
mov rdx, rsi
call fcn.1400912d0
test eax, eax
je 0x14009aba0
mov edx, 2
mov rcx, rbx
mov r8d, edx
call fcn.1400918c0
mov r8, qword [rbx + 0x1268]
test r8, r8
jne 0x14009ab4c
mov r8, qword [r14 + 0xa8]
mov rax, qword [r14 + 0x3f0]
lea rdx, [rsi + 0xb]
xor r9d, r9d
mov ecx, dword [rax + 0x7c]
mov rax, qword [rbx + 0x11e8]
shr ecx, 1
and cl, 1
mov byte [rsp + 0x38], cl
mov rcx, rbx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r8
mov r8b, 1
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbx + 0xb38]
call fcn.14007fe80
mov edx, 2
mov rcx, rbx
call fcn.140091900
jmp 0x14009ae4a
cmp byte [rbx + 0x1cc], 0
jne 0x14009abfd
mov r8d, reloc.WS2_32.dll_ntohl
lea rcx, str.Last_Modified:
mov rdx, rsi
call fcn.1400912d0
test eax, eax
je 0x14009abfd
cmp dword [rbx + 0x560], 0
jne 0x14009abd4
cmp byte [rbx + 0xad9], 0
je 0x14009abfd
lea rcx, [rsi + 0xe]
call fcn.1400a02f0
mov qword [rbx + 0x188], rax
cmp byte [rbx + 0xad9], 0
je 0x14009ae4a
mov qword [rbx + 0x12f0], rax
jmp 0x14009ae4a
mov r8d, reloc.WS2_32.dll_recvfrom
lea rcx, str.WWW_Authenticate:
mov rdx, rsi
call fcn.1400912d0
test eax, eax
je 0x14009ac24
mov edi, dword [rbx + 0x160]
cmp edi, 0x191
je 0x14009ac4b
mov r8d, reloc.WS2_32.dll_send
lea rcx, str.Proxy_authenticate:
mov rdx, rsi
call fcn.1400912d0
test eax, eax
je 0x14009ac8d
mov edi, dword [rbx + 0x160]
cmp edi, 0x197
jne 0x14009ac8d
mov rcx, rsi
call fcn.1400992c0
mov rsi, rax
test rax, rax
je 0x14009ada4
cmp edi, 0x197
mov r8, rax
mov rcx, rbx
sete dl
call fcn.14009b0b0
mov rcx, rsi
mov ebx, eax
call qword [str.__r_]
test ebx, ebx
je 0x14009ae4a
mov eax, ebx
jmp 0x14009ae4c
mov r8d, reloc.WS2_32.dll_ntohs
lea rcx, str.Persistent_Auth
mov rdx, rsi
call fcn.1400912d0
test eax, eax
je 0x14009ad14
cmp dword [rbx + 0xe2c], 4
jne 0x14009ae4a
mov rcx, rsi
call fcn.1400992c0
mov rdi, rax
test rax, rax
je 0x14009ada4
mov r8d, 5
lea rcx, str.false
mov rdx, rax
call fcn.1400912d0
test eax, eax
mov byte [r14 + 0x631], 1
mov r9, rdi
lea rdx, str.Negotiate:_noauthpersist_____d__header_part:__s
setne cl
mov byte [r14 + 0x630], cl
movzx r8d, cl
mov rcx, rbx
call fcn.14008d030
mov rcx, rdi
call qword [str.__r_]
jmp 0x14009ae4a
mov eax, dword [rbx + 0x160]
sub eax, 0x12c
cmp eax, 0x63
ja 0x14009adae
mov r8d, 9
lea rcx, str.Location:
mov rdx, rsi
call fcn.1400912d0
test eax, eax
je 0x14009adae
cmp qword [rbx + 0x198], 0
jne 0x14009adae
mov rcx, rsi
call fcn.1400992c0
test rax, rax
je 0x14009ada4
cmp byte [rax], 0
jne 0x14009ad6b
mov rcx, rax
call qword [str.__r_]
jmp 0x14009ae4a
cmp byte [rbx + 0xae6], 0
mov qword [rbx + 0x198], rax
je 0x14009ae4a
mov rcx, rax
call qword [case.0x140081fb9.0]
mov qword [rbx + 0x1a0], rax
test rax, rax
je 0x14009ada4
mov rdx, r14
mov rcx, rbx
call fcn.14009c710
jmp 0x14009a925
mov eax, reloc.WLDAP32.dll_Ordinal_27
jmp 0x14009ae4c
cmp qword [rbx + 0xb40], 0
je 0x14009ae2b
mov edi, 8
lea rcx, str.Alt_Svc:
mov r8d, edi
mov rdx, rsi
call fcn.1400912d0
test eax, eax
je 0x14009ae2b
mov rax, qword [r14 + 0x3f0]
test byte [rax + 0x84], 1
je 0x14009ae2b
cmp dword [r14 + 0x1b8], 0x14
mov eax, reloc.WS2_32.dll_recv
mov ecx, dword [r14 + 0x15c]
cmove edi, eax
call fcn.14008fa00
mov rdx, qword [rbx + 0xb40]
lea r8, [rsi + 8]
mov word [rsp + 0x28], ax
mov r9d, edi
mov rax, qword [r14 + 0xa8]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140090440
jmp 0x14009a925
mov rax, qword [r14 + 0x3f0]
test dword [rax + 0x7c], 0x40000
je 0x14009ae4a
mov rdx, rsi
mov rcx, rbx
call fcn.1400b06d0
test eax, eax
jne 0x14009ae4c
xor eax, eax
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret