Function at 0x180209b50
Capabilities:
Check http status code

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor ebp, ebp
mov r15, r9
mov rbx, r8
mov r14, rdx
mov r13, rcx
mov qword [rsp + 0x70], rsi
lea r12d, [rbp + 3]
nop
mov rcx, qword [rbx + 0x68]
mov edx, 0xa
mov qword [rbx + 0x70], rcx
mov r8, qword [r15]
call qword [sym.imp.MSVCR100.dll_memchr]
mov rdi, rax
mov qword [rbx + 0x78], rax
test rax, rax
je 0x18020a75c
sub rdi, qword [rbx + 0x68]
inc rdi
sub qword [r15], rdi
mov rsi, qword [rbx + 0x78]
mov rcx, qword [rbx + 0x60]
inc rsi
mov qword [rbx + 0x68], rsi
sub rsi, qword [rbx + 0x70]
mov rdx, qword [r13 + 0x690]
add rcx, rsi
cmp rcx, rdx
jb 0x180209c1f
mov r12, qword [rbx + 0x58]
lea rbp, [rdx + rdx]
lea rax, [rcx + rcx*2]
mov rcx, qword [r13 + 0x688]
shr rax, 1
cmp rax, rbp
cmova rbp, rax
sub r12, rcx
mov rdx, rbp
call qword [case.0x18020c598.0]
test rax, rax
je 0x18020a79c
mov qword [r13 + 0x688], rax
add rax, r12
mov qword [r13 + 0x690], rbp
xor ebp, ebp
mov qword [rbx + 0x58], rax
lea r12d, [rbp + 3]
mov rdx, qword [rbx + 0x70]
mov rcx, qword [rbx + 0x58]
mov r8, rsi
call sub.MSVCR100.dll_memcpy
add qword [rbx + 0x58], rsi
add qword [rbx + 0x60], rsi
mov rax, qword [rbx + 0x58]
mov byte [rax], 0
cmp dword [rbx + 0x50], 0
mov rax, qword [rbx + 0x58]
mov qword [rbx + 0x78], rax
mov rax, qword [r13 + 0x688]
mov qword [rbx + 0x80], rax
jne 0x180209c78
cmp qword [rbx + 0x60], 5
jbe 0x180209c78
mov rdx, qword [r13 + 0x688]
mov rcx, r13
call fcn.180209960
test al, al
je 0x18020a683
mov rcx, qword [rbx + 0x80]
movzx eax, byte [rcx]
cmp al, 0xa
je 0x18020a4c9
cmp al, 0xd
je 0x18020a4cd
mov edx, dword [rbx + 0x50]
lea eax, [rdx + 1]
mov dword [rbx + 0x50], eax
test edx, edx
jne 0x180209e38
lea rsi, [rbx + 0x98]
lea r9, [r14 + 0x10c]
lea r8, [rsp + 0x80]
lea rdx, str._HTTP__d._d__3d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.MSVCR100.dll_sscanf]
cmp eax, 3
jne 0x180209ce5
mov eax, dword [rsp + 0x80]
lea ecx, [rax + rax*4]
add ecx, ecx
add dword [r14 + 0x10c], ecx
jmp 0x180209d33
mov rcx, qword [rbx + 0x80]
lea rdx, str._HTTP__3d
mov r8, rsi
call qword [sym.imp.MSVCR100.dll_sscanf]
mov dword [r14 + 0x10c], 0xa
test eax, eax
jne 0x180209d33
mov rdx, qword [rbx + 0x80]
mov rcx, r13
call fcn.180209960
test al, al
je 0x18020a80c
mov dword [rsi], 0xc8
mov dword [r14 + 0x10c], 0xa
mov eax, dword [rsi]
mov dword [r13 + 0x8830], eax
mov eax, dword [r14 + 0x10c]
mov dword [r13 + 0x8838], eax
mov eax, dword [r13 + 0x87dc]
test eax, eax
je 0x180209d5e
cmp eax, dword [r14 + 0x10c]
jle 0x180209d6c
mov eax, dword [r14 + 0x10c]
mov dword [r13 + 0x87dc], eax
cmp byte [r13 + 0x3c8], 0
je 0x180209dc8
mov eax, dword [rsi]
cmp eax, 0x190
jl 0x180209dc8
cmp eax, 0x191
jne 0x180209d90
cmp byte [r14 + 0x1ac], 0
jne 0x180209dc8
cmp eax, 0x197
jne 0x180209da1
cmp byte [r14 + 0x1ad], 0
jne 0x180209dc8
cmp qword [r13 + 0x8818], 0
je 0x18020a73c
cmp dword [r13 + 0x310], 1
jne 0x18020a73c
cmp eax, 0x1a0
jne 0x18020a73c
mov eax, dword [r14 + 0x10c]
cmp eax, 0xa
jne 0x180209ded
lea rdx, str.HTTP_1.0__assume_close_after_body_n
mov rcx, r13
call fcn.180203670
mov byte [r14 + 0x1a8], 1
jmp 0x180209e04
cmp eax, 0xb
jl 0x180209e04
cmp byte [r14 + 0x1a8], 0
jne 0x180209e04
mov byte [r14 + 0x21e], 1
mov ecx, dword [rsi]
sub ecx, 0xcc
je 0x180209e18
sub ecx, 0x64
je 0x180209e18
cmp ecx, 0x70
jne 0x180209e38
cmp dword [r13 + 0x300], 0
je 0x180209e2a
mov byte [r13 + 0x8840], 1
mov qword [rbx], rbp
mov qword [rbx + 0x10], rbp
mov byte [rbx + 0x136], 1
cmp byte [rbx + 0x136], 0
jne 0x180209ed4
cmp byte [r13 + 0x3ef], 0
jne 0x180209ed4
mov rdx, qword [rbx + 0x80]
lea rcx, str.Content_Length:
mov r8d, reloc.WS2_32.dll_ntohs
call fcn.180221670
test eax, eax
je 0x180209ed4
mov rcx, qword [rbx + 0x80]
xor edx, edx
lea r8d, [rdx + 0xa]
add rcx, 0xf
call qword [sym.imp.MSVCR100.dll__strtoi64]
mov rcx, qword [r13 + 0x3b0]
test rcx, rcx
je 0x180209e9c
cmp rax, rcx
jg 0x18020a6a8
mov rcx, r13
test rax, rax
js 0x180209eb8
mov rdx, rax
mov qword [rbx], rax
mov qword [rbx + 0x10], rax
call fcn.180220e10
jmp 0x18020a45e
lea rdx, str.Negative_content_length:__lld__closing_after_transfer_n
mov r8, rax
mov byte [r14 + 0x1a8], 1
call fcn.180203670
jmp 0x18020a45e
mov rdx, qword [rbx + 0x80]
lea rcx, str.Content_Type:
mov r8d, reloc.WS2_32.dll_listen
call fcn.180221670
test eax, eax
je 0x180209f34
mov rcx, qword [rbx + 0x80]
call fcn.18021bec0
mov rdi, rax
test rax, rax
je 0x18020a7ab
cmp byte [rax], 0
jne 0x180209f1c
mov rcx, rax
call qword [case.0x1800ec9ae.0]
jmp 0x18020a45e
mov rcx, qword [r13 + 0x8858]
call fcn.180204200
mov qword [r13 + 0x8858], rdi
jmp 0x18020a45e
cmp dword [r14 + 0x10c], 0xa
jne 0x180209f82
cmp byte [r14 + 0x1ab], 0
je 0x180209f82
mov rcx, qword [rbx + 0x80]
lea r8, str.keep_alive
lea rdx, str.Proxy_Connection:
call fcn.18021cb80
test al, al
je 0x180209f82
lea rdx, str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
mov rcx, r13
mov byte [r14 + 0x1a8], 0
call fcn.180203670
jmp 0x18020a45e
cmp dword [r14 + 0x10c], 0xb
jne 0x180209fd0
cmp byte [r14 + 0x1ab], 0
je 0x180209fd0
mov rcx, qword [rbx + 0x80]
lea r8, str.close
lea rdx, str.Proxy_Connection:
call fcn.18021cb80
test al, al
je 0x180209fd0
lea rdx, str.HTTP_1.1_proxy_connection_set_close__n
mov rcx, r13
mov byte [r14 + 0x1a8], 1
call fcn.180203670
jmp 0x18020a45e
cmp dword [r14 + 0x10c], 0xa
jne 0x18020a014
mov rcx, qword [rbx + 0x80]
lea r8, str.keep_alive
lea rdx, str.Connection:
call fcn.18021cb80
test al, al
je 0x18020a014
lea rdx, str.HTTP_1.0_connection_set_to_keep_alive__n
mov rcx, r13
mov byte [r14 + 0x1a8], 0
call fcn.180203670
jmp 0x18020a45e
mov rcx, qword [rbx + 0x80]
lea r8, str.close
lea rdx, str.Connection:
call fcn.18021cb80
test al, al
je 0x18020a03f
mov byte [r14 + 0x1a8], 1
jmp 0x18020a45e
mov rcx, qword [rbx + 0x80]
lea r8, str.chunked
lea rdx, str.Transfer_Encoding:
call fcn.18021cb80
test al, al
je 0x18020a071
mov rcx, r14
mov byte [rbx + 0x158], 1
call fcn.1802235b0
jmp 0x18020a45e
mov rdx, qword [rbx + 0x80]
lea rcx, str.Trailer:
mov r8d, 8
call fcn.180221670
test eax, eax
jne 0x18020a457
mov rdx, qword [rbx + 0x80]
lea r8d, [rax + 9]
lea rcx, str.Trailers:
call fcn.180221670
test eax, eax
jne 0x18020a457
mov rdx, qword [rbx + 0x80]
lea r8d, [rax + 0x11]
lea rcx, str.Content_Encoding:
call fcn.180221670
test eax, eax
je 0x18020a1d2
cmp qword [r13 + 0x438], 0
je 0x18020a1d2
mov rdi, qword [rbx + 0x80]
movzx eax, byte [rdi + 0x11]
add rdi, 0x11
test al, al
je 0x18020a109
movzx ecx, al
call qword [sym.imp.MSVCR100.dll_isspace]
test eax, eax
je 0x18020a109
movzx eax, byte [rdi + 1]
inc rdi
test al, al
jne 0x18020a0f1
lea rcx, str.identity
mov r8d, 8
mov rdx, rdi
call fcn.180221670
test eax, eax
je 0x18020a12d
mov dword [rbx + 0xa8], ebp
jmp 0x18020a45e
lea rcx, str.deflate
mov r8d, 7
mov rdx, rdi
call fcn.180221670
test eax, eax
je 0x18020a155
mov dword [rbx + 0xa8], 1
jmp 0x18020a45e
lea rcx, str.gzip
mov r8d, 4
mov rdx, rdi
call fcn.180221670
test eax, eax
jne 0x18020a1c3
lea r8d, [rax + 6]
lea rcx, str.x_gzip
mov rdx, rdi
call fcn.180221670
test eax, eax
jne 0x18020a1c3
lea r8d, [rax + 8]
lea rcx, str.compress
mov rdx, rdi
call fcn.180221670
test eax, eax
jne 0x18020a1b7
lea r8d, [rax + 0xa]
lea rcx, str.x_compress
mov rdx, rdi
call fcn.180221670
test eax, eax
je 0x18020a45e
mov dword [rbx + 0xa8], r12d
jmp 0x18020a45e
mov dword [rbx + 0xa8], 2
jmp 0x18020a45e
mov rdx, qword [rbx + 0x80]
lea rcx, str.Content_Range:
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.180221670
test eax, eax
je 0x18020a249
mov rdi, qword [rbx + 0x80]
movzx eax, byte [rdi + 0xe]
add rdi, 0xe
test al, al
je 0x18020a21a
movzx ecx, al
call qword [sym.imp.MSVCR100.dll_isdigit]
test eax, eax
jne 0x18020a21a
movzx eax, byte [rdi + 1]
inc rdi
test al, al
jne 0x18020a202
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 0xa]
call qword [sym.imp.MSVCR100.dll__strtoi64]
mov qword [rbx + 0x90], rax
cmp qword [r13 + 0x8818], rax
jne 0x18020a45e
mov byte [rbx + 0x88], 1
jmp 0x18020a45e
cmp qword [r13 + 0x560], 0
je 0x18020a2d7
mov rdx, qword [rbx + 0x80]
lea rcx, str.Set_Cookie:
mov r8d, ntohl
call fcn.180221670
test eax, eax
je 0x18020a2d7
mov edx, 2
mov rcx, r13
mov r8d, edx
call fcn.180213db0
mov r11, qword [r14 + 0x210]
test r11, r11
jne 0x18020a297
mov r11, qword [r14 + 0xb0]
mov r9, qword [rbx + 0x80]
mov rax, qword [r13 + 0x8800]
mov rdx, qword [r13 + 0x560]
mov qword [rsp + 0x28], rax
add r9, 0xb
mov r8b, 1
mov rcx, r13
mov qword [rsp + 0x20], r11
call fcn.18020cdb0
mov edx, 2
mov rcx, r13
call fcn.180213df0
jmp 0x18020a45e
mov rdx, qword [rbx + 0x80]
lea rcx, str.Last_Modified:
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.180221670
test eax, eax
je 0x18020a34b
cmp dword [r13 + 0x300], 0
jne 0x18020a308
cmp byte [r13 + 0x3c1], 0
je 0x18020a34b
xor ecx, ecx
call qword [sym.imp.MSVCR100.dll__time64]
mov rcx, qword [rbx + 0x80]
lea rdx, [rsp + 0x30]
add rcx, 0xe
mov qword [rsp + 0x30], rax
call fcn.180223570
mov qword [rbx + 0x108], rax
cmp byte [r13 + 0x3c1], 0
je 0x18020a45e
mov dword [r13 + 0x883c], eax
jmp 0x18020a45e
mov rdx, qword [rbx + 0x80]
lea rcx, str.WWW_Authenticate:
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.180221670
test eax, eax
je 0x18020a376
mov edx, dword [rbx + 0x98]
cmp edx, 0x191
je 0x18020a3a1
mov rdx, qword [rbx + 0x80]
lea rcx, str.Proxy_authenticate:
mov r8d, reloc.WS2_32.dll_send
call fcn.180221670
test eax, eax
je 0x18020a3bd
mov edx, dword [rbx + 0x98]
cmp edx, 0x197
jne 0x18020a3bd
mov r8, qword [rbx + 0x80]
mov rcx, r14
call fcn.18021c5f0
test eax, eax
jne 0x18020a812
jmp 0x18020a45e
mov eax, dword [rbx + 0x98]
cmp eax, 0x12c
jl 0x18020a45e
cmp eax, 0x190
jge 0x18020a45e
mov rdx, qword [rbx + 0x80]
lea rcx, str.Location:
mov r8d, 9
call fcn.180221670
test eax, eax
je 0x18020a45e
mov rcx, qword [rbx + 0x80]
call fcn.18021bec0
test rax, rax
je 0x18020a7ab
cmp byte [rax], 0
jne 0x18020a41b
mov rcx, rax
call qword [case.0x1800ec9ae.0]
jmp 0x18020a45e
cmp byte [r13 + 0x3c9], 0
mov qword [r13 + 0x160], rax
je 0x18020a45e
mov rcx, rax
call qword [case.0x18020c598.1]
mov qword [r13 + 0x168], rax
test rax, rax
je 0x18020a7ab
mov rcx, r14
call fcn.18021c160
test eax, eax
jne 0x18020a812
jmp 0x18020a45e
mov byte [rbx + 0x15c], 1
cmp byte [r13 + 0x3cb], 0
mov edi, 2
cmovne edi, r12d
cmp byte [r13 + 0x3d8], 0
je 0x18020a496
mov r9, qword [rbx + 0x60]
mov r8, qword [rbx + 0x80]
mov edx, 1
mov rcx, r13
mov qword [rsp + 0x20], r14
call fcn.180203510
mov r9, qword [rbx + 0x60]
mov r8, qword [rbx + 0x80]
mov edx, edi
mov rcx, r14
call fcn.180203910
test eax, eax
jne 0x18020a812
mov eax, dword [rbx + 0x60]
add dword [r13 + 0x8844], eax
mov eax, dword [rbx + 0x60]
add dword [r13 + 0x58], eax
jmp 0x18020a651
cmp al, 0xd
jne 0x18020a4d8
lea rax, [rcx + 1]
mov qword [rbx + 0x80], rax
mov rax, qword [rbx + 0x80]
cmp byte [rax], 0xa
jne 0x18020a4ee
inc rax
mov qword [rbx + 0x80], rax
mov eax, dword [rbx + 0x98]
cmp eax, 0x64
jl 0x18020a51f
cmp eax, 0xc7
jg 0x18020a51f
cmp dword [rbx + 0xa4], 0
mov byte [rbx + 0x48], 1
mov dword [rbx + 0x50], ebp
je 0x18020a55d
or dword [rbx + 0x130], 2
mov dword [rbx + 0xa4], ebp
jmp 0x18020a55d
cmp qword [rbx], 0xffffffffffffffff
mov byte [rbx + 0x48], 0
jne 0x18020a55d
cmp byte [rbx + 0x158], 0
jne 0x18020a55d
cmp byte [r14 + 0x1a8], 0
jne 0x18020a55d
cmp dword [r14 + 0x10c], 0xb
jl 0x18020a55d
lea rdx, str.no_chunk__no_close__no_size._Assume_close_to_signal_end_n
mov rcx, r13
call fcn.180203670
mov byte [r14 + 0x1a8], 1
cmp dword [rbx + 0x98], 0x1a1
jne 0x18020a577
and dword [rbx + 0x130], 0xfffffffd
mov dword [rbx + 0xa4], r12d
mov rcx, r14
call fcn.18021c720
test eax, eax
jne 0x18020a73c
cmp byte [r13 + 0x3cb], al
mov r8, qword [r13 + 0x688]
mov rdi, qword [rbx + 0x80]
mov edx, 2
mov rcx, r14
cmovne edx, r12d
sub rdi, r8
mov r9, rdi
call fcn.180203910
test eax, eax
jne 0x18020a812
add dword [r13 + 0x58], edi
add dword [r13 + 0x8844], edi
mov eax, dword [rbx + 0x98]
mov ecx, dword [r13 + 0x58]
cmp eax, 0x64
jl 0x18020a5dc
cmp eax, 0xc7
jle 0x18020a5de
mov ecx, ebp
cmp qword [r13 + 0x8818], 0
mov dword [r13 + 0x5c], ecx
je 0x18020a60f
cmp dword [r13 + 0x310], 1
jne 0x18020a60f
cmp dword [rbx + 0x98], 0x1a0
jne 0x18020a60f
mov rsi, qword [rsp + 0x90]
mov byte [rsi], 1
jmp 0x18020a64b
mov rsi, qword [rsp + 0x90]
cmp byte [rsi], 0
jne 0x18020a64b
mov rcx, r14
call fcn.18021ce00
test eax, eax
jne 0x18020a812
cmp byte [r14 + 0x1b7], al
je 0x18020a64b
lea rdx, str.Keep_sending_data_to_get_tossed_away__n
mov rcx, r13
call fcn.180203670
or dword [rbx + 0x130], 2
cmp byte [rbx + 0x48], 0
je 0x18020a6c1
mov rax, qword [r13 + 0x688]
mov qword [rbx + 0x60], rbp
mov qword [rbx + 0x58], rax
mov rax, qword [rsp + 0x90]
cmp byte [rax], 0
jne 0x18020a810
mov rax, qword [rbx + 0x68]
cmp byte [rax], 0
jne 0x180209b80
jmp 0x18020a810
mov byte [rbx + 0x48], 0
cmp qword [r15], 0
je 0x18020a699
mov dword [rbx + 0x4c], 1
jmp 0x18020a810
mov dword [rbx + 0x4c], 2
mov qword [r15], rdi
jmp 0x18020a810
lea rdx, str.Maximum_file_size_exceeded
mov rcx, r13
call fcn.180203720
mov eax, 0x3f
jmp 0x18020a812
cmp byte [r13 + 0x3ce], 0
je 0x18020a6d0
mov byte [rsi], 1
jmp 0x18020a6e0
cmp byte [rbx + 0x158], 0
je 0x18020a6e0
mov qword [rbx], 0xffffffffffffffff
mov rdx, qword [rbx]
cmp rdx, 0xffffffffffffffff
je 0x18020a6f8
mov rcx, r13
call fcn.180220e10
mov r11, qword [rbx]
mov qword [rbx + 0x10], r11
cmp qword [rbx + 0x10], 0
jne 0x18020a704
mov byte [rsi], 1
jmp 0x18020a709
cmp byte [rsi], 0
je 0x18020a710
and dword [rbx + 0x130], 0xfffffffe
cmp byte [r13 + 0x3d8], 0
je 0x18020a810
mov r8, qword [rbx + 0x70]
mov r9, rdi
mov edx, 1
mov rcx, r13
mov qword [rsp + 0x20], r14
call fcn.180203510
jmp 0x18020a810
mov r8d, dword [rbx + 0x98]
lea rdx, str.The_requested_URL_returned_error:__d
mov rcx, r13
call fcn.180203720
mov eax, reloc.WS2_32.dll_shutdown
jmp 0x18020a812
mov rdx, qword [rbx + 0x60]
mov rdi, qword [r13 + 0x690]
add rdx, qword [r15]
cmp rdx, rdi
jb 0x18020a7c7
mov rcx, qword [r13 + 0x688]
mov rsi, qword [rbx + 0x58]
lea rax, [rdx + rdx*2]
shr rax, 1
add rdi, rdi
cmp rax, rdi
cmova rdi, rax
sub rsi, rcx
mov rdx, rdi
call qword [case.0x18020c598.0]
test rax, rax
jne 0x18020a7b2
lea rdx, str.Failed_to_alloc_memory_for_big_header_
mov rcx, r13
call fcn.180203720
mov eax, 0x1b
jmp 0x18020a812
mov qword [r13 + 0x688], rax
add rax, rsi
mov qword [r13 + 0x690], rdi
mov qword [rbx + 0x58], rax
mov r8, qword [r15]
mov rdx, qword [rbx + 0x68]
mov rcx, qword [rbx + 0x58]
call sub.MSVCR100.dll_memcpy
mov r11, qword [r15]
add qword [rbx + 0x58], r11
mov rax, qword [r15]
add qword [rbx + 0x60], rax
cmp dword [rbx + 0x50], 0
jne 0x18020a810
cmp qword [rbx + 0x60], 5
jbe 0x18020a810
mov rdx, qword [r13 + 0x688]
mov rcx, r13
call fcn.180209960
test al, al
jne 0x18020a810
mov dword [rbx + 0x4c], 2
mov byte [rbx + 0x48], 0
xor eax, eax
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret