Function at 0x46d98b
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
mov eax, dword [ebp + 8]
add eax, 0x88
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xc0]
test eax, eax
jne 0x46daec
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 0x6f7]
test eax, eax
jne 0x46daec
push 0xf
push dword [ebp + 0x10]
push 0x4ac010
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46daec
lea eax, [ebp - 0x7c]
push eax
push 0xa
push 0
mov eax, dword [ebp + 0x10]
add eax, 0xf
push eax
call fcn.00475960
add esp, 0x10
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x46da87
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax + 0x4f0]
or eax, dword [ecx + 0x4f4]
je 0x46da53
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [eax + 0x4f4]
jl 0x46da53
jg 0x46da3c
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x7c]
cmp ecx, dword [eax + 0x4f0]
jbe 0x46da53
push str.Maximum_file_size_exceeded
push dword [ebp + 8]
call fcn.0044c100
pop ecx
pop ecx
push 0x3f
pop eax
jmp 0x46e318
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x7c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x78]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 4]
push dword [eax + 4]
push dword [eax]
push dword [ebp + 8]
call fcn.0046cdd0
add esp, 0xc
jmp 0x46dae7
cmp dword [ebp - 0x28], 1
jne 0x46dad0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax + 0x4f0]
or eax, dword [ecx + 0x4f4]
je 0x46dabe
push 0x4abfd8
push dword [ebp + 8]
call fcn.0044c100
pop ecx
pop ecx
push 0x3f
pop eax
jmp 0x46e318
push 2
push dword [ebp + 0xc]
call fcn.0044f1a6
pop ecx
pop ecx
xor eax, eax
jne 0x46daca
jmp 0x46dae7
push str.Invalid_Content_Length:_value
push dword [ebp + 8]
call fcn.0044c100
pop ecx
pop ecx
push 8
pop eax
jmp 0x46e318
jmp 0x46e316
push 0xd
push dword [ebp + 0x10]
push 0x4abfa8
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46db61
push dword [ebp + 0x10]
call fcn.0047310c
pop ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x46db1c
push 0x1b
pop eax
jmp 0x46e318
mov eax, dword [ebp - 0x10]
movsx eax, byte [eax]
test eax, eax
jne 0x46db32
push dword [ebp - 0x10]
call dword [0x4a9978]
pop ecx
jmp 0x46db5c
mov eax, dword [ebp + 8]
push dword [eax + 0xcfc]
call dword [0x4a9978]
pop ecx
mov eax, dword [ebp + 8]
and dword [eax + 0xcfc], 0
xor eax, eax
jne 0x46db32
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0xcfc], ecx
jmp 0x46e316
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x11c], 0xa
jne 0x46dbac
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x250]
test eax, eax
je 0x46dbac
push str.keep_alive
push str.Proxy_Connection:
push dword [ebp + 0x10]
call fcn.0047361d
add esp, 0xc
movzx eax, al
test eax, eax
je 0x46dbac
push 0
push dword [ebp + 0xc]
call fcn.0044f1a6
pop ecx
pop ecx
xor eax, eax
jne 0x46dba3
jmp 0x46e316
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x11c], 0xb
jne 0x46dbf7
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x250]
test eax, eax
je 0x46dbf7
push str.close
push 0x4abf6c
push dword [ebp + 0x10]
call fcn.0047361d
add esp, 0xc
movzx eax, al
test eax, eax
je 0x46dbf7
push 1
push dword [ebp + 0xc]
call fcn.0044f1a6
pop ecx
pop ecx
xor eax, eax
jne 0x46dbee
jmp 0x46e316
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x11c], 0xa
jne 0x46dc34
push 0x4abf60
push 0x4abf54
push dword [ebp + 0x10]
call fcn.0047361d
add esp, 0xc
movzx eax, al
test eax, eax
je 0x46dc34
push 0
push dword [ebp + 0xc]
call fcn.0044f1a6
pop ecx
pop ecx
xor eax, eax
jne 0x46dc2b
jmp 0x46e316
push 0x4abf4c
push 0x4abf40
push dword [ebp + 0x10]
call fcn.0047361d
add esp, 0xc
movzx eax, al
test eax, eax
je 0x46dc61
push 2
push dword [ebp + 0xc]
call fcn.0044f1a6
pop ecx
pop ecx
jmp 0x46e316
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xc0]
test eax, eax
jne 0x46dcaf
push 0x12
push dword [ebp + 0x10]
push 0x4abf2c
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46dcaf
push 1
mov eax, dword [ebp + 0x10]
add eax, 0x12
push eax
push dword [ebp + 8]
call fcn.0045f2d8
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46dcaa
mov eax, dword [ebp - 8]
jmp 0x46e318
jmp 0x46e316
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xc0]
test eax, eax
jne 0x46dd10
push 0x11
push dword [ebp + 0x10]
push str.Content_Encoding:
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46dd10
push 4
pop eax
imul eax, eax, 9
mov ecx, dword [ebp + 8]
cmp dword [ecx + eax + 0x518], 0
je 0x46dd10
push 0
mov eax, dword [ebp + 0x10]
add eax, 0x11
push eax
push dword [ebp + 8]
call fcn.0045f2d8
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46dd0b
mov eax, dword [ebp - 8]
jmp 0x46e318
jmp 0x46e316
push 0xc
push dword [ebp + 0x10]
push str.Retry_After:
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46dd9e
xorps xmm0, xmm0
movlpd qword [ebp - 0x74], xmm0
xor eax, eax
inc eax
imul eax, eax, 0xc
add eax, dword [ebp + 0x10]
push eax
call fcn.00476770
pop ecx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x46dd6c
cmp dword [ebp - 0x68], 0xffffffff
jne 0x46dd6c
lea eax, [ebp - 0x74]
push eax
push 0xa
push 0
xor eax, eax
inc eax
imul eax, eax, 0xc
add eax, dword [ebp + 0x10]
push eax
call fcn.00475960
add esp, 0x10
jmp 0x46dd84
push 0
call fcn.00427a67
pop ecx
mov ecx, dword [ebp - 0x6c]
sub ecx, eax
mov eax, dword [ebp - 0x68]
sbb eax, edx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x74]
mov dword [eax + 0xd08], ecx
mov ecx, dword [ebp - 0x70]
mov dword [eax + 0xd0c], ecx
jmp 0x46e316
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xc0]
test eax, eax
jne 0x46de7d
push 0xe
push dword [ebp + 0x10]
push str.Content_Range:
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46de7d
mov eax, dword [ebp + 0x10]
add eax, 0xe
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movsx eax, byte [eax]
test eax, eax
je 0x46de02
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
push eax
call fcn.004776cb
pop ecx
test eax, eax
jne 0x46de02
mov eax, dword [ebp - 0xc]
movsx eax, byte [eax]
cmp eax, 0x2a
je 0x46de02
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
jmp 0x46ddd3
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
push eax
call fcn.004776cb
pop ecx
test eax, eax
je 0x46de67
mov eax, dword [ebp - 4]
add eax, 0x68
push eax
push 0xa
push 0
push dword [ebp - 0xc]
call fcn.00475960
add esp, 0x10
test eax, eax
jne 0x46de65
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov eax, dword [eax + 0xc18]
cmp eax, dword [ecx + 0x68]
jne 0x46de65
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov eax, dword [eax + 0xc1c]
cmp eax, dword [ecx + 0x6c]
jne 0x46de65
mov eax, dword [ebp - 4]
mov byte [eax + 0xbd], 1
jmp 0x46de78
mov eax, dword [ebp + 8]
and dword [eax + 0xc18], 0
and dword [eax + 0xc1c], 0
jmp 0x46e316
mov eax, dword [ebp + 8]
cmp dword [eax + 0x724], 0
je 0x46df5b
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 0xcc3]
test eax, eax
je 0x46df5b
push 0xb
push dword [ebp + 0x10]
push str.Set_Cookie:
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46df5b
push 2
push 2
push dword [ebp + 8]
call fcn.0045f220
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x298]
mov eax, dword [eax + 0x40]
and eax, 2
je 0x46dee2
mov dword [ebp - 0x38], 1
jmp 0x46dee6
and dword [ebp - 0x38], 0
cmp dword [ebp - 0x38], 0
jne 0x46def2
and dword [ebp - 0x3c], 0
jmp 0x46def9
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0xca8], 0
je 0x46df13
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xca8]
mov dword [ebp - 0x40], eax
jmp 0x46df1c
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x40], eax
push dword [ebp - 0x3c]
mov eax, dword [ebp + 8]
push dword [eax + 0xc68]
push dword [ebp - 0x40]
mov eax, dword [ebp + 0x10]
add eax, 0xb
push eax
push 0
push 1
mov eax, dword [ebp + 8]
push dword [eax + 0x724]
push dword [ebp + 8]
call fcn.00450988
add esp, 0x20
push 2
push dword [ebp + 8]
call fcn.0045f280
pop ecx
pop ecx
jmp 0x46e316
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xc0]
test eax, eax
jne 0x46dfed
push 0xe
push dword [ebp + 0x10]
push str.Last_Modified:
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46dfed
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3e4], 0
jne 0x46df9d
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 0x6e1]
test eax, eax
je 0x46dfed
xor eax, eax
inc eax
imul eax, eax, 0xe
add eax, dword [ebp + 0x10]
push eax
call fcn.00476770
pop ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x98], eax
mov dword [ecx + 0x9c], edx
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 0x6e1]
test eax, eax
je 0x46dfe8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x98]
mov dword [eax + 0xcd8], edx
mov ecx, dword [ecx + 0x9c]
mov dword [eax + 0xcdc], ecx
jmp 0x46e316
push 0x11
push dword [ebp + 0x10]
push str.WWW_Authenticate:
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46e00f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x70], 0x191
je 0x46e035
push 0x13
push dword [ebp + 0x10]
push str.Proxy_authenticate:
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46e0b2
mov eax, dword [ebp - 4]
cmp dword [eax + 0x70], 0x197
jne 0x46e0b2
mov eax, dword [ebp - 4]
cmp dword [eax + 0x70], 0x197
jne 0x46e04a
mov dword [ebp - 0x44], 1
jmp 0x46e04e
and dword [ebp - 0x44], 0
cmp dword [ebp - 0x44], 0
jne 0x46e05a
and dword [ebp - 0x48], 0
jmp 0x46e061
mov dword [ebp - 0x48], 1
mov al, byte [ebp - 0x48]
mov byte [ebp - 0x5c], al
push dword [ebp + 0x10]
call fcn.0047310c
pop ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x46e081
push 0x1b
pop eax
jmp 0x46e318
push dword [ebp - 0x18]
push dword [ebp - 0x5c]
push dword [ebp + 8]
call fcn.00472bde
add esp, 0xc
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call dword [0x4a9978]
pop ecx
cmp dword [ebp - 8], 0
je 0x46e0ad
mov eax, dword [ebp - 8]
jmp 0x46e318
jmp 0x46e316
push 0xf
push dword [ebp + 0x10]
push str.Persistent_Auth
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46e15e
mov eax, dword [ebp + 0xc]
add eax, 0x398
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 8]
add eax, 0x978
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
cmp dword [eax + 4], 4
jne 0x46e159
push dword [ebp + 0x10]
call fcn.0047310c
pop ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x46e105
push 0x1b
pop eax
jmp 0x46e318
push 5
push dword [ebp - 0x1c]
push str.false
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46e124
mov dword [ebp - 0x4c], 1
jmp 0x46e128
and dword [ebp - 0x4c], 0
cmp dword [ebp - 0x4c], 0
jne 0x46e134
and dword [ebp - 0x50], 0
jmp 0x46e13b
mov dword [ebp - 0x50], 1
mov eax, dword [ebp - 0x54]
mov cl, byte [ebp - 0x50]
mov byte [eax + 0x40], cl
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x41], 1
xor eax, eax
jne 0x46e14b
push dword [ebp - 0x1c]
call dword [0x4a9978]
pop ecx
jmp 0x46e316
mov eax, dword [ebp - 4]
cmp dword [eax + 0x70], 0x12c
jl 0x46e246
mov eax, dword [ebp - 4]
cmp dword [eax + 0x70], 0x190
jge 0x46e246
push 9
push dword [ebp + 0x10]
push str.Location:
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46e246
mov eax, dword [ebp + 8]
cmp dword [eax + 0x12c], 0
jne 0x46e246
push dword [ebp + 0x10]
call fcn.0047310c
pop ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x46e1c2
push 0x1b
pop eax
jmp 0x46e318
mov eax, dword [ebp - 0x14]
movsx eax, byte [eax]
test eax, eax
jne 0x46e1d8
push dword [ebp - 0x14]
call dword [0x4a9978]
pop ecx
jmp 0x46e241
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0x12c], ecx
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 0x6e9]
test eax, eax
je 0x46e241
xor eax, eax
jne 0x46e1f2
mov eax, dword [ebp + 8]
push dword [eax + 0x12c]
call dword [0x4a997c]
pop ecx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x130], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x130], 0
jne 0x46e223
push 0x1b
pop eax
jmp 0x46e318
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0047115d
pop ecx
pop ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46e241
mov eax, dword [ebp - 8]
jmp 0x46e318
jmp 0x46e316
mov eax, dword [ebp + 8]
cmp dword [eax + 0x728], 0
je 0x46e2f1
push 8
push dword [ebp + 0x10]
push str.Alt_Svc:
call fcn.0045faf0
add esp, 0xc
test eax, eax
je 0x46e2f1
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x298]
mov eax, dword [eax + 0x48]
and eax, 1
jne 0x46e285
xor eax, eax
je 0x46e2f1
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x11c], 0x14
jne 0x46e29a
mov dword [ebp - 0x58], 0x10
jmp 0x46e2a1
mov dword [ebp - 0x58], 8
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0xc]
push dword [eax + 0xd0]
call fcn.0044c340
pop ecx
movzx eax, ax
push eax
mov eax, dword [ebp + 0xc]
push dword [eax + 0x6c]
push dword [ebp - 0x64]
xor eax, eax
inc eax
shl eax, 3
add eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 8]
push dword [eax + 0x728]
push dword [ebp + 8]
call fcn.0045d645
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46e2ef
mov eax, dword [ebp - 8]
jmp 0x46e318
jmp 0x46e316
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x298]
mov eax, dword [eax + 0x40]
and eax, 0x40000
je 0x46e316
mov dword [ebp - 8], 4
cmp dword [ebp - 8], 0
je 0x46e316
mov eax, dword [ebp - 8]
jmp 0x46e318
xor eax, eax
leave
ret