Function at 0x4567e0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x18
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0x18]
movzx eax, byte [esi]
add eax, 0xffffffbf
cmp eax, 0x36
ja case.0x456807.66
mov ebx, dword [ebp + 0x10]
jmp dword [eax*4 + 0x99cbc8]
cmp dword [edx + 0x6f8], 0
je case.0x456807.66
cmp ebx, 8
jb case.0x456807.66
mov eax, dword [edi + 0x2a8]
mov eax, dword [eax + 0x50]
and eax, 1
je case.0x456807.66
push 8
push esi
push str.Alt_Svc:
mov ebx, edx
call fcn.0041cd40
mov edx, ebx
add esp, 0xc
test eax, eax
je case.0x456807.66
add esi, 8
movzx eax, byte [edi + 0x3e4]
xor ecx, ecx
cmp al, 0x14
sete cl
cmp al, 0x1e
lea eax, [ecx*8 + 8]
mov ebx, 0x20
cmovne ebx, eax
mov eax, dword [edx + 0x6f8]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x38]
mov dword [esp + 0x10], eax
push dword [edi + 0x3d0]
mov edi, edx
call fcn.004278b0
add esp, 4
movzx eax, ax
push eax
push dword [esp + 0x14]
push ebx
push esi
push dword [esp + 0x14]
push edi
call fcn.00435cc0
add esp, 0x18
jmp 0x4572b1
cmp dword [edx + 0x6f0], 0
je 0x456bf7
cmp ebx, 0xb
jb 0x456bf7
mov eax, 0x800
and eax, dword [edx + 0xd60]
je 0x456bf7
push 0xb
push esi
push str.Set_Cookie:
call fcn.0041cd40
mov edx, dword [ebp + 8]
add esp, 0xc
test eax, eax
je 0x456bf7
mov ebx, dword [edx + 0xd3c]
test ebx, ebx
jne 0x456900
mov ebx, dword [edi + 0x38]
add esi, 0xb
mov eax, dword [edi + 0x2a8]
mov byte [esp + 4], 1
test dword [eax + 0x48], 0x80000002
jne 0x4571bb
push ebx
push 0x99d07d
call fcn.0041ccd0
add esp, 8
test eax, eax
je 0x45718e
mov edx, dword [ebp + 8]
jmp 0x4571bb
mov eax, dword [edx + 0x13c]
test eax, 0x800
jne 0x456eb1
cmp ebx, 0xf
jb 0x456eb1
mov ecx, dword [edx + 0x6ec]
and ecx, 4
jne 0x456eb1
push 0xf
push esi
push 0x99ce36
call fcn.0041cd40
add esp, 0xc
test eax, eax
je 0x456ea8
add esi, 0xf
lea eax, [esp + 8]
push eax
push 0xa
push 0
push esi
call fcn.0041d520
add esp, 0x10
cmp eax, 1
je 0x45712d
test eax, eax
mov eax, dword [ebp + 8]
jne 0x45715a
movq xmm0, qword [esp + 8]
pshufd xmm0, xmm0, 0x44
movdqu xmmword [eax + 0x98], xmm0
jmp 0x4572af
cmp ebx, 0x11
jb case.0x456807.66
push 0x11
push esi
push 0x99d3cd
call fcn.0041cd40
add esp, 0xc
test eax, eax
je 0x456d17
movzx ecx, byte [edi + 0x3e4]
cmp cl, 0xa
jne 0x4569fc
test byte [edi + 0x2a0], 1
jne 0x4570a2
movzx ecx, byte [edi + 0x3e4]
xor eax, eax
cmp cl, 0xb
jne 0x4572b1
test byte [edi + 0x2a0], 1
je 0x4572b1
push 0x11
push esi
push 0x99d3cd
call fcn.0041cd40
add esp, 0xc
cmp ebx, 0x17
jb 0x4572af
test eax, eax
je 0x4572af
push 5
push 0x99d36e
push 0x11
push 0x99d3cd
push esi
call fcn.00454e90
add esp, 0x14
test al, al
je 0x4572af
push 1
push edi
call fcn.0043f040
add esp, 8
mov ecx, dword [ebp + 8]
test byte [ecx + 0x6eb], 0x20
je 0x4572af
mov eax, dword [ecx + 0xd20]
test eax, eax
je 0x456a83
cmp dword [eax + 4], 0
jle 0x4572af
push str.HTTP_1.1_proxy_connection_set_close
push ecx
call fcn.00444fd0
add esp, 8
jmp 0x4572af
test byte [edx + 0x13d], 8
jne 0x456aac
cmp byte [edx + 0xd5e], 5
jne 0x456c90
cmp ebx, 8
jb case.0x456807.66
push 8
push esi
push str.Trailer:
mov ebx, edx
call fcn.0041cd40
mov edx, ebx
add esp, 0xc
test eax, eax
je case.0x456807.66
or byte [edx + 0x13d], 0x20
jmp 0x4572af
test byte [edx + 0x13d], 8
jne 0x456de3
cmp byte [edx + 0x3b0], 0
je 0x456d7e
cmp ebx, 0xe
jae 0x456d90
jmp 0x456de3
cmp ebx, 0xc
jb case.0x456807.66
push 0xc
push esi
push str.Retry_After:
call fcn.0041cd40
mov edx, dword [ebp + 8]
add esp, 0xc
test eax, eax
je case.0x456807.66
add esi, 0xc
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
lea eax, [esp + 8]
push eax
push 0xa
push 0
push esi
call fcn.0041d520
add esp, 0x10
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov eax, edi
or eax, ebx
jne 0x45717a
push esi
call fcn.00414820
add esp, 4
mov edi, eax
and eax, edx
cmp eax, 0xffffffff
je 0x457172
mov ebx, edx
push 0
call sub.api_ms_win_crt_time_l1_1_0.dll__time64
add esp, 4
sub edi, eax
sbb ebx, edx
jmp 0x45717a
cmp ebx, 0x11
jb case.0x456807.66
cmp dword [edx + 0xe4], 0x191
jne case.0x456807.66
push 0x11
push esi
push 0x99d49b
mov ebx, edx
call fcn.0041cd40
mov edx, ebx
add esp, 0xc
test eax, eax
je case.0x456807.66
push esi
call fcn.004540c0
add esp, 4
test eax, eax
je 0x456f95
push eax
push 0
push ebx
mov esi, eax
call fcn.00454bc0
add esp, 0xc
push str.http.c
push 0xc5e
push esi
call fcn.004075a0
add esp, 0xc
jmp 0x4572af
cmp dword [edx + 0x6f4], 0
je case.0x456807.66
cmp ebx, 0x1a
jb case.0x456807.66
mov eax, dword [edi + 0x2a8]
mov eax, dword [eax + 0x50]
and eax, 1
je case.0x456807.66
push 0x1a
push esi
push str.Strict_Transport_Security:
mov ebx, edx
call fcn.0041cd40
mov edx, ebx
add esp, 0xc
test eax, eax
je case.0x456807.66
lea eax, [esi + 0x1a]
push eax
push dword [edi + 0x38]
push dword [edx + 0x6f4]
call fcn.00405f60
mov edx, ebx
add esp, 0xc
test eax, eax
je case.0x456807.66
test byte [edx + 0x6eb], 0x20
je case.0x456807.66
mov eax, dword [edx + 0xd20]
test eax, eax
je 0x456c7b
cmp dword [eax + 4], 0
jle case.0x456807.66
push str.Illegal_STS_header_skipped
push edx
call fcn.00444fd0
mov edx, ebx
add esp, 8
jmp case.0x456807.66
cmp ebx, 0x12
jb 0x456aac
cmp dword [edx + 0xe4], 0x130
je 0x456aac
push 0x12
push esi
push 0x99ce52
mov ebx, edx
call fcn.0041cd40
mov edx, ebx
add esp, 0xc
test eax, eax
je 0x456ab5
add esi, 0x12
push 1
push esi
push edx
mov esi, edx
call fcn.00441170
add esp, 0xc
test eax, eax
jne 0x4572b1
xor eax, eax
test byte [esi + 0x13d], 0x10
jne 0x4572b1
mov ecx, esi
test byte [esi + 0x6ea], 0x80
je 0x4572b1
push 1
push edi
mov esi, ecx
call fcn.0043f040
xor eax, eax
add esp, 8
or byte [esi + 0x13d], 0x40
jmp 0x4572b1
cmp ebx, 0x13
mov edx, dword [ebp + 8]
jb case.0x456807.66
cmp dword [edx + 0xe4], 0x197
jne case.0x456807.66
push 0x13
push esi
push 0x99d42f
call fcn.0041cd40
mov edx, dword [ebp + 8]
add esp, 0xc
test eax, eax
je case.0x456807.66
push esi
call fcn.004540c0
add esp, 4
test eax, eax
je 0x456f95
push eax
push 1
push dword [ebp + 8]
mov esi, eax
call fcn.00454bc0
add esp, 0xc
push str.http.c
push 0xbda
jmp 0x456be9
cmp ebx, 0xe
jb 0x456de3
mov eax, 0x100
and eax, dword [edx + 0x6e8]
je 0x456de3
push 0xe
push esi
push str.Last_Modified:
call fcn.0041cd40
mov edx, dword [ebp + 8]
add esp, 0xc
test eax, eax
je 0x456de3
add esi, 0xe
push esi
mov esi, edx
call fcn.00414820
add esp, 4
mov ecx, eax
mov dword [esi + 0x124], edx
mov dword [esi + 0x120], eax
xor eax, eax
test byte [esi + 0x6e9], 1
je 0x4572b1
mov dword [esi + 0xd80], ecx
mov dword [esi + 0xd84], edx
jmp 0x4572b1
mov eax, dword [edx + 0xe4]
cmp eax, 0x12c
jl case.0x456807.66
cmp eax, 0x190
setae al
cmp ebx, 9
setb cl
or cl, al
jne case.0x456807.66
push 9
push esi
push str.Location:
mov ebx, edx
call fcn.0041cd40
mov edx, ebx
add esp, 0xc
test eax, eax
je case.0x456807.66
cmp dword [edx + 0x128], 0
jne case.0x456807.66
push esi
call fcn.004540c0
add esp, 4
mov ecx, eax
mov eax, 0x1b
test ecx, ecx
je 0x4572b1
cmp byte [ecx], 0
je 0x457280
mov edx, ebx
mov dword [ebx + 0x128], ecx
test byte [ebx + 0x6ea], 0x40
je case.0x456807.66
push str.http.c
push 0xba9
push ecx
call fcn.004073f0
add esp, 0xc
mov edx, eax
mov eax, 0x1b
mov dword [ebx + 0x12c], edx
test edx, edx
je 0x4572b1
mov ecx, ebx
mov edx, edi
call fcn.00454540
mov edx, ebx
or byte [ebx + 0xd60], 2
jmp case.0x456807.66
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x13c]
test eax, 0x800
jne 0x456ef1
cmp ebx, 0x11
jb 0x456ef1
cmp dword [edx + 0x57c], 0
je 0x456ef1
push 0x11
push esi
push str.Content_Encoding:
call fcn.0041cd40
mov ecx, dword [ebp + 8]
add esp, 0xc
test eax, eax
je 0x456ef6
add esi, 0x11
push 0
push esi
push ecx
call fcn.00441170
add esp, 0xc
jmp 0x4572b1
cmp ebx, 0xd
jb 0x456f48
push 0xd
push esi
push str.Content_Type:
call fcn.0041cd40
add esp, 0xc
test eax, eax
je 0x456f51
push esi
call fcn.004540c0
add esp, 4
test eax, eax
je 0x456f95
mov edi, eax
cmp byte [eax], 0
je 0x45711d
push str.http.c
push 0xb55
mov esi, dword [ebp + 8]
push dword [esi + 0xd9c]
call fcn.004075a0
add esp, 0xc
mov dword [esi + 0xd9c], edi
jmp 0x4572af
cmp ebx, 0xb
jb case.0x456807.66
push 0xb
push esi
push 0x99ce46
call fcn.0041cd40
add esp, 0xc
cmp ebx, 0x11
jb 0x456f9f
test eax, eax
je 0x456f9f
push 5
push 0x99d36e
push 0xb
push 0x99ce46
push esi
call fcn.00454e90
add esp, 0x14
test al, al
je 0x456f9f
push 2
push edi
call fcn.0043f040
add esp, 8
jmp 0x4572af
mov eax, 0x1b
jmp 0x4572b1
cmp byte [edi + 0x3e4], 0xa
jne 0x457017
push 0xb
push esi
push 0x99ce46
call fcn.0041cd40
add esp, 0xc
cmp ebx, 0x16
jb 0x457017
test eax, eax
je 0x457017
push 0xa
push 0x99d374
push 0xb
push 0x99ce46
push esi
call fcn.00454e90
add esp, 0x14
test al, al
je 0x457017
push 0
push edi
call fcn.0043f040
add esp, 8
xor eax, eax
mov edx, dword [ebp + 8]
test byte [edx + 0x6eb], 0x20
je 0x4572b1
mov ecx, dword [edx + 0xd20]
test ecx, ecx
je 0x45700d
cmp dword [ecx + 4], 0
jle 0x4572b1
push str.HTTP_1.0_connection_set_to_keep_alive
jmp 0x457231
cmp ebx, 0xe
mov edx, dword [ebp + 8]
jb case.0x456807.66
mov eax, 0x800
and eax, dword [edx + 0x13c]
jne case.0x456807.66
push 0xe
push esi
push str.Content_Range:
call fcn.0041cd40
mov edx, dword [ebp + 8]
add esp, 0xc
test eax, eax
je case.0x456807.66
movzx ecx, byte [esi + 0xe]
test cl, cl
je 0x457076
lea eax, [esi + 0xe]
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x45723e
cmp cl, 0x2a
je 0x457076
movzx ecx, byte [eax + 1]
inc eax
test cl, cl
jne 0x45705a
mov edx, dword [ebp + 8]
cmp dword [edx + 0xe4], 0x12b
jg case.0x456807.66
mov dword [edx + 0xc34], 0
mov dword [edx + 0xc30], 0
jmp case.0x456807.66
push 0x11
push esi
push 0x99d3cd
call fcn.0041cd40
add esp, 0xc
cmp ebx, 0x1c
jb 0x4569f5
test eax, eax
je 0x4569f5
push 0xa
push 0x99d374
push 0x11
push 0x99d3cd
push esi
call fcn.00454e90
add esp, 0x14
test al, al
je 0x4569f5
push 0
push edi
call fcn.0043f040
add esp, 8
xor eax, eax
mov edx, dword [ebp + 8]
test byte [edx + 0x6eb], 0x20
je 0x4572b1
mov ecx, dword [edx + 0xd20]
test ecx, ecx
je 0x457113
cmp dword [ecx + 4], 0
jle 0x4572b1
push str.HTTP_1.0_proxy_connection_set_to_keep_alive
jmp 0x457231
push str.http.c
push 0xb53
push edi
jmp 0x456bea
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x4b8]
or eax, dword [ecx + 0x4bc]
je 0x4571fb
push 0x99d304
push ecx
call fcn.00444f40
add esp, 8
mov eax, 0x3f
jmp 0x4572b1
push str.Invalid_Content_Length:_value
push eax
call fcn.00444f40
add esp, 8
mov eax, 8
jmp 0x4572b1
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov eax, dword [ebp + 8]
mov dword [eax + 0xda8], edi
mov dword [eax + 0xdac], ebx
jmp 0x4572af
push 0x99d087
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
mov edx, dword [ebp + 8]
je 0x4571bb
push 0x99d091
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
mov edx, dword [ebp + 8]
add esp, 8
test eax, eax
sete byte [esp + 4]
push 2
push 2
push edx
mov edi, edx
call fcn.0041c5a0
add esp, 0xc
movzx eax, byte [esp + 4]
push eax
push dword [edi + 0xca4]
push ebx
push esi
push 0
push 1
push dword [edi + 0x6f0]
push edi
call fcn.00441be0
add esp, 0x20
push 2
push edi
call fcn.0041c5e0
add esp, 8
jmp 0x4572af
push 2
push edi
call fcn.0043f040
mov edx, dword [ebp + 8]
add esp, 8
xor eax, eax
test byte [edx + 0x6eb], 0x20
je 0x4572b1
mov ecx, dword [edx + 0xd20]
test ecx, ecx
je 0x45722c
cmp dword [ecx + 4], 0
jle 0x4572b1
push str.Overflow_Content_Length:_value
push edx
call fcn.00444fd0
xor eax, eax
add esp, 8
jmp 0x4572b1
mov ebx, dword [ebp + 8]
lea ecx, [ebx + 0xd8]
push ecx
push 0xa
push 0
push eax
call fcn.0041d520
mov edx, ebx
add esp, 0x10
test eax, eax
jne case.0x456807.66
mov eax, dword [edx + 0xc34]
xor eax, dword [edx + 0xdc]
mov ecx, dword [edx + 0xc30]
xor ecx, dword [edx + 0xd8]
or ecx, eax
jne case.0x456807.66
or byte [edx + 0x13c], 4
jmp case.0x456807.66
push str.http.c
push 0xba3
push ecx
call fcn.004075a0
add esp, 0xc
mov edx, ebx
mov eax, dword [edi + 0x2a8]
test byte [eax + 0x4a], 4
je 0x4572af
push esi
push edx
call fcn.00469930
add esp, 8
test eax, eax
jne 0x4572b1
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret