Function at 0x4a7980
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea esi, [edi + 0x18]
nop
mov ebx, dword [ebp + 0x10]
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x60], eax
push dword [ebx]
push 0xa
push eax
call fcn.004da4e0
add esp, 0xc
mov dword [esi + 0x64], eax
test eax, eax
je 0x4a8508
sub eax, dword [esi + 0x5c]
inc eax
sub dword [ebx], eax
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x64]
inc eax
mov dword [esi + 0x5c], eax
sub eax, dword [esi + 0x60]
push eax
push esi
push edi
call fcn.004a8fa0
add esp, 0xc
test eax, eax
jne 0x4a8549
cmp dword [esi + 0x50], 0
mov eax, dword [esi + 0x54]
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0x64], eax
mov eax, dword [edi + 0x51c]
mov dword [esi + 0x68], eax
jne 0x4a7a0d
cmp dword [esi + 0x58], 5
jbe 0x4a7a0d
push dword [edi + 0x51c]
push ebx
push edi
call fcn.004a8ed0
add esp, 0xc
test eax, eax
je 0x4a83e8
mov edx, dword [esi + 0x68]
mov al, byte [edx]
cmp al, 0xa
je 0x4a8237
cmp al, 0xd
je 0x4a823b
mov ecx, dword [esi + 0x50]
lea eax, [ecx + 1]
mov dword [esi + 0x50], eax
test ecx, ecx
jne 0x4a7c1e
mov eax, dword [ebx + 0x30]
test al, 1
je 0x4a7ac6
lea ecx, [esi + 0x78]
push ecx
lea eax, [ebx + 0xb0]
push eax
lea eax, [ebp - 4]
push eax
push str._HTTP__d._d__3d
push edx
call fcn.00496430
add esp, 0x14
cmp eax, 3
jne 0x4a7a75
mov eax, dword [ebp - 4]
lea ecx, [ebx + 0xb0]
lea eax, [eax + eax*4]
add eax, eax
add dword [ecx], eax
jmp 0x4a7b11
lea eax, [esi + 0x78]
push eax
push str._HTTP__3d
push dword [esi + 0x68]
call fcn.00496430
add esp, 0xc
mov dword [ebx + 0xb0], 0xa
lea ecx, [ebx + 0xb0]
test eax, eax
jne 0x4a7b11
push dword [esi + 0x68]
push edi
call fcn.004a8e60
add esp, 8
test eax, eax
je 0x4a8540
lea ecx, [ebx + 0xb0]
mov dword [esi + 0x78], 0xc8
mov dword [ecx], 0xa
jmp 0x4a7b11
test eax, 0x40000
je 0x4a8540
lea eax, [esi + 0x78]
push eax
lea ecx, [ebx + 0xb4]
push ecx
lea eax, [ebp - 8]
push eax
push str._RTSP__d._d__3d
push edx
call fcn.00496430
add esp, 0x14
cmp eax, 3
jne 0x4a8540
mov eax, dword [ebp - 8]
lea ecx, [ebx + 0xb0]
mov dword [ecx], 0xb
lea eax, [eax + eax*4]
add eax, eax
add dword [ebx + 0xb4], eax
mov eax, dword [esi + 0x78]
mov dword [edi + 0x8664], eax
mov eax, dword [ecx]
mov dword [edi + 0x866c], eax
mov eax, dword [edi + 0x8600]
test eax, eax
je 0x4a7b30
cmp eax, dword [ecx]
jle 0x4a7b38
mov eax, dword [ecx]
mov dword [edi + 0x8600], eax
cmp dword [edi + 0x2b0], 0
je 0x4a7b99
mov edx, dword [esi + 0x78]
cmp edx, 0x190
jl 0x4a7b99
cmp edx, 0x191
jne 0x4a7b5d
cmp dword [ebx + 0x140], 0
jmp 0x4a7b6c
cmp edx, 0x197
jne 0x4a7b6e
cmp dword [ebx + 0x144], 0
jne 0x4a7b99
mov eax, dword [edi + 0x8628]
or eax, dword [edi + 0x862c]
je 0x4a841c
cmp dword [edi + 0x210], 1
jne 0x4a841c
cmp edx, 0x1a0
jne 0x4a841c
mov eax, dword [ecx]
cmp eax, 0xa
jne 0x4a7bba
push str.HTTP_1.0__assume_close_after_body_n
push edi
call fcn.0049e5e0
add esp, 8
mov dword [ebx + 0x130], 1
jmp 0x4a7bd2
cmp eax, 0xb
jl 0x4a7bd2
cmp dword [ebx + 0x130], 0
jne 0x4a7bd2
mov dword [ebx + 0x1cc], 1
mov eax, dword [esi + 0x78]
sub eax, 0xcc
je 0x4a7be6
sub eax, 0x64
je 0x4a7be6
sub eax, 0x70
jne 0x4a7c1e
cmp dword [edi + 0x204], 0
je 0x4a7bf9
mov dword [edi + 0x8674], 1
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0xb4], 1
cmp dword [esi + 0xb4], 0
jne 0x4a7ccd
cmp dword [edi + 0x30c], 0
jne 0x4a7ccd
push 0xf
push dword [esi + 0x68]
push str.Content_Length:
call fcn.004a1560
add esp, 0xc
test eax, eax
je 0x4a7ccd
mov eax, dword [esi + 0x68]
push 0xa
add eax, 0xf
push 0
push eax
call fcn.004e34a7
mov ecx, dword [edi + 0x278]
add esp, 0xc
or ecx, dword [edi + 0x27c]
je 0x4a7c89
cmp edx, dword [edi + 0x27c]
jg 0x4a8422
jl 0x4a7c89
cmp eax, dword [edi + 0x278]
ja 0x4a8422
test edx, edx
jl 0x4a7cae
jg 0x4a7c93
test eax, eax
jb 0x4a7cae
push edx
push eax
push edi
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
call fcn.004aa480
add esp, 0xc
jmp 0x4a81d9
push edx
push eax
push str.Negative_content_length:__lld__closing_after_transfer_n
push edi
mov dword [ebx + 0x130], 1
call fcn.0049e5e0
add esp, 0x10
jmp 0x4a81d9
push 0xd
push dword [esi + 0x68]
push str.Content_Type:
call fcn.004a1560
add esp, 0xc
test eax, eax
je 0x4a7d25
push dword [esi + 0x68]
call fcn.004a7430
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4a843c
cmp byte [ebx], 0
jne 0x4a7d0c
push ebx
call dword [0x5c6040]
add esp, 4
jmp 0x4a81d9
push dword [edi + 0x868c]
call fcn.00499f90
add esp, 4
mov dword [edi + 0x868c], ebx
jmp 0x4a81d9
cmp dword [ebx + 0xb0], 0xa
jne 0x4a7d6d
cmp dword [ebx + 0x13c], 0
je 0x4a7d6d
push str.keep_alive
push str.Proxy_Connection:
push dword [esi + 0x68]
call fcn.004a7360
add esp, 0xc
test eax, eax
je 0x4a7d6d
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push edi
mov dword [ebx + 0x130], 0
call fcn.0049e5e0
add esp, 8
jmp 0x4a81d9
cmp dword [ebx + 0xb0], 0xb
jne 0x4a7db5
cmp dword [ebx + 0x13c], 0
je 0x4a7db5
push str.close
push str.Proxy_Connection:
push dword [esi + 0x68]
call fcn.004a7360
add esp, 0xc
test eax, eax
je 0x4a7db5
push str.HTTP_1.1_proxy_connection_set_close__n
push edi
mov dword [ebx + 0x130], 1
call fcn.0049e5e0
add esp, 8
jmp 0x4a81d9
cmp dword [ebx + 0xb0], 0xa
jne 0x4a7df4
push str.keep_alive
push str.Connection:
push dword [esi + 0x68]
call fcn.004a7360
add esp, 0xc
test eax, eax
je 0x4a7df4
push str.HTTP_1.0_connection_set_to_keep_alive__n
push edi
mov dword [ebx + 0x130], 0
call fcn.0049e5e0
add esp, 8
jmp 0x4a81d9
push str.close
push str.Connection:
push dword [esi + 0x68]
call fcn.004a7360
add esp, 0xc
test eax, eax
je 0x4a7e1c
mov dword [ebx + 0x130], 1
jmp 0x4a81d9
push str.chunked
push str.Transfer_Encoding:
push dword [esi + 0x68]
call fcn.004a7360
add esp, 0xc
test eax, eax
je 0x4a7e56
test dword [ebx + 0x30], 0x40000
jne 0x4a7e56
push ebx
mov dword [esi + 0xc8], 1
call fcn.004a54d0
add esp, 4
jmp 0x4a81d9
push 8
push dword [esi + 0x68]
push str.Trailer:
call fcn.004a1560
add esp, 0xc
test eax, eax
jne 0x4a81cf
push 9
push dword [esi + 0x68]
push str.Trailers:
call fcn.004a1560
add esp, 0xc
test eax, eax
jne 0x4a81cf
push 0x11
push dword [esi + 0x68]
push str.Content_Encoding:
call fcn.004a1560
add esp, 0xc
test eax, eax
je 0x4a7f90
cmp dword [edi + 0x348], 0
je 0x4a7f90
mov ebx, dword [esi + 0x68]
add ebx, 0x11
mov al, byte [ebx]
test al, al
je 0x4a7ed8
nop dword [eax]
movzx eax, al
push eax
call fcn.004edef8
add esp, 4
test eax, eax
je 0x4a7ed8
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x4a7ec0
push 8
push ebx
push str.identity
call fcn.004a1560
add esp, 0xc
test eax, eax
je 0x4a7efb
mov dword [esi + 0x88], 0
jmp 0x4a81d9
push 7
push ebx
push str.deflate
call fcn.004a1560
add esp, 0xc
test eax, eax
je 0x4a7f1e
mov dword [esi + 0x88], 1
jmp 0x4a81d9
push 4
push ebx
push str.gzip
call fcn.004a1560
add esp, 0xc
test eax, eax
jne 0x4a7f81
push 6
push ebx
push str.x_gzip
call fcn.004a1560
add esp, 0xc
test eax, eax
jne 0x4a7f81
push 8
push ebx
push str.compress
call fcn.004a1560
add esp, 0xc
test eax, eax
jne 0x4a7f72
push 0xa
push ebx
push str.x_compress
call fcn.004a1560
add esp, 0xc
test eax, eax
je 0x4a81d9
mov dword [esi + 0x88], 3
jmp 0x4a81d9
mov dword [esi + 0x88], 2
jmp 0x4a81d9
push 0xe
push dword [esi + 0x68]
push str.Content_Range:
call fcn.004a1560
add esp, 0xc
test eax, eax
je 0x4a8004
mov ebx, dword [esi + 0x68]
add ebx, 0xe
mov al, byte [ebx]
test al, al
je 0x4a7fca
movzx eax, al
push eax
call fcn.004ede40
add esp, 4
test eax, eax
jne 0x4a7fca
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x4a7fb2
push 0xa
push 0
push ebx
call fcn.004e34a7
mov dword [esi + 0x70], eax
add esp, 0xc
mov dword [esi + 0x74], edx
mov eax, dword [edi + 0x8628]
cmp eax, dword [esi + 0x70]
jne 0x4a81d9
cmp dword [edi + 0x862c], edx
jne 0x4a81d9
mov dword [esi + 0x6c], 1
jmp 0x4a81d9
cmp dword [edi + 0x404], 0
je 0x4a8069
push 0xb
push dword [esi + 0x68]
push str.Set_Cookie:
call fcn.004a1560
add esp, 0xc
test eax, eax
je 0x4a8069
push 2
push 2
push edi
call fcn.004a1470
mov eax, dword [ebx + 0x1b8]
add esp, 0xc
test eax, eax
jne 0x4a803d
mov eax, dword [ebx + 0x7c]
push dword [edi + 0x8618]
push eax
mov eax, dword [esi + 0x68]
add eax, 0xb
push eax
push 1
push dword [edi + 0x404]
push edi
call fcn.004952a0
push 2
push edi
call fcn.004a14b0
add esp, 0x20
jmp 0x4a81d9
push 0xe
push dword [esi + 0x68]
push str.Last_Modified:
call fcn.004a1560
add esp, 0xc
test eax, eax
je 0x4a80d5
cmp dword [edi + 0x204], 0
jne 0x4a8091
cmp dword [edi + 0x294], 0
je 0x4a80d5
push 0
call fcn.004e2e2c
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esi + 0x68]
add eax, 0xe
mov dword [ebp - 0xc], edx
push eax
call fcn.0049fd50
add esp, 0xc
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], edx
cmp dword [edi + 0x294], 0
je 0x4a81d9
mov dword [edi + 0x8670], eax
jmp 0x4a81d9
push 0x11
push dword [esi + 0x68]
push str.WWW_Authenticate:
call fcn.004a1560
add esp, 0xc
test eax, eax
je 0x4a80f5
mov eax, dword [esi + 0x78]
cmp eax, 0x191
je 0x4a8115
push 0x13
push dword [esi + 0x68]
push str.Proxy_authenticate:
call fcn.004a1560
add esp, 0xc
test eax, eax
je 0x4a812f
mov eax, dword [esi + 0x78]
cmp eax, 0x197
jne 0x4a812f
push dword [esi + 0x68]
push eax
push ebx
call fcn.004a76c0
add esp, 0xc
test eax, eax
jne 0x4a8549
jmp 0x4a81d9
mov eax, dword [esi + 0x78]
sub eax, 0x12c
cmp eax, 0x63
ja 0x4a81b0
push 9
push dword [esi + 0x68]
push str.Location:
call fcn.004a1560
add esp, 0xc
test eax, eax
je 0x4a81b0
push dword [esi + 0x68]
call fcn.004a7430
add esp, 4
test eax, eax
je 0x4a843c
cmp byte [eax], 0
jne 0x4a8176
push eax
call dword [0x5c6040]
add esp, 4
jmp 0x4a81d9
cmp dword [edi + 0x2b4], 0
mov dword [edi + 0xd0], eax
je 0x4a81d9
push eax
call dword [0x5c6048]
add esp, 4
mov dword [edi + 0xd4], eax
test eax, eax
je 0x4a843c
push ebx
call fcn.004a77e0
add esp, 4
test eax, eax
jne 0x4a8549
jmp 0x4a81d9
test dword [ebx + 0x30], 0x40000
je 0x4a81d9
push dword [esi + 0x68]
push ebx
call fcn.004a9de0
add esp, 8
test eax, eax
jne 0x4a8549
jmp 0x4a81d9
mov dword [esi + 0xd8], 1
mov ebx, dword [ebp + 0xc]
xor eax, eax
cmp dword [edi + 0x2bc], eax
setne al
add eax, 2
cmp dword [edi + 0x2d8], 0
mov dword [ebp + 8], eax
je 0x4a820b
push ebx
push dword [esi + 0x58]
push dword [esi + 0x68]
push 1
push edi
call fcn.0049e460
mov eax, dword [ebp + 8]
add esp, 0x14
push dword [esi + 0x58]
push dword [esi + 0x68]
push eax
push ebx
call fcn.0049e300
add esp, 0x10
test eax, eax
jne 0x4a8549
mov eax, dword [esi + 0x58]
add dword [edi + 0x8678], eax
mov eax, dword [esi + 0x58]
add dword [edi + 0x48], eax
jmp 0x4a83b7
cmp al, 0xd
jne 0x4a8241
lea eax, [edx + 1]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
cmp byte [eax], 0xa
jne 0x4a824d
inc eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x78]
sub eax, 0x64
cmp eax, 0x63
ja 0x4a8282
cmp dword [esi + 0x84], 0
mov dword [esi + 0x48], 1
mov dword [esi + 0x50], 0
je 0x4a82cf
or dword [esi + 0xa8], 2
mov dword [esi + 0x84], 0
jmp 0x4a82cf
mov eax, dword [esi]
and eax, dword [esi + 4]
mov dword [esi + 0x48], 0
cmp eax, 0xffffffff
jne 0x4a82cf
cmp dword [esi + 0xc8], 0
jne 0x4a82cf
cmp dword [ebx + 0x130], 0
jne 0x4a82cf
cmp dword [ebx + 0xb0], 0xb
jl 0x4a82cf
test dword [ebx + 0x30], 0x40000
jne 0x4a82cf
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end_n
push edi
call fcn.0049e5e0
add esp, 8
mov dword [ebx + 0x130], 1
cmp dword [esi + 0x78], 0x1a1
jne 0x4a82e9
and dword [esi + 0xa8], 0xfffffffd
mov dword [esi + 0x84], 3
push ebx
call fcn.004a8550
add esp, 4
test eax, eax
jne 0x4a84eb
mov eax, dword [edi + 0x51c]
mov ecx, dword [esi + 0x68]
sub ecx, eax
push ecx
push eax
xor eax, eax
mov dword [ebp + 8], ecx
cmp dword [edi + 0x2bc], eax
setne al
add eax, 2
push eax
push ebx
call fcn.0049e300
add esp, 0x10
test eax, eax
jne 0x4a8549
mov eax, dword [ebp + 8]
xor edx, edx
add dword [edi + 0x48], eax
add dword [edi + 0x8678], eax
mov eax, dword [esi + 0x78]
mov ecx, dword [edi + 0x48]
sub eax, 0x64
cmp eax, 0x63
mov eax, dword [edi + 0x8628]
cmova ecx, edx
or eax, dword [edi + 0x862c]
mov dword [edi + 0x4c], ecx
je 0x4a8375
cmp dword [edi + 0x210], 1
jne 0x4a8375
cmp dword [esi + 0x78], 0x1a0
jne 0x4a8375
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
jmp 0x4a83ad
mov eax, dword [ebp + 0x14]
cmp dword [eax], edx
jne 0x4a83ad
push ebx
call fcn.004a7500
add esp, 4
test eax, eax
jne 0x4a8549
cmp dword [ebx + 0x16c], eax
je 0x4a83aa
push str.Keep_sending_data_to_get_tossed_away__n
push edi
call fcn.0049e5e0
add esp, 8
or dword [esi + 0xa8], 2
mov eax, dword [ebp + 0x14]
cmp dword [esi + 0x48], 0
je 0x4a8448
mov eax, dword [edi + 0x51c]
mov dword [esi + 0x54], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x58], 0
cmp dword [eax], 0
jne 0x4a8547
mov eax, dword [esi + 0x5c]
cmp byte [eax], 0
jne 0x4a7990
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
mov dword [esi + 0x48], 0
cmp dword [ecx], 0
je 0x4a8407
pop edi
mov dword [esi + 0x4c], 1
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
mov dword [esi + 0x4c], 2
pop esi
mov dword [ecx], eax
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push edx
jmp 0x4a84ee
push str.Maximum_file_size_exceeded
push edi
call fcn.0049e540
add esp, 8
mov eax, 0x3f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x2c8], 0
je 0x4a8459
mov dword [eax], 1
jmp 0x4a847d
cmp dword [esi + 0xc8], 0
je 0x4a847d
mov dword [esi], 0xffffffff
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x10], 0xffffffff
mov dword [esi + 0x14], 0xffffffff
mov ecx, dword [esi]
mov eax, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x4a848b
cmp eax, ecx
je 0x4a84a1
push eax
push ecx
push edi
call fcn.004aa480
mov eax, dword [esi]
add esp, 0xc
mov dword [esi + 0x10], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x14], eax
cmp dword [esi + 0x10], 0
jne 0x4a84b8
cmp dword [esi + 0x14], 0
jne 0x4a84b8
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
jmp 0x4a84c0
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x4a84c7
and dword [esi + 0xa8], 0xfffffffe
cmp dword [edi + 0x2d8], 0
je 0x4a8547
push ebx
push dword [ebp + 8]
push dword [esi + 0x60]
push 1
push edi
call fcn.0049e460
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esi + 0x78]
push str.The_requested_URL_returned_error:__d
push edi
call fcn.0049e540
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebx]
push esi
push edi
call fcn.004a8fa0
add esp, 0xc
test eax, eax
jne 0x4a8549
cmp dword [esi + 0x50], eax
jne 0x4a8547
cmp dword [esi + 0x58], 5
jbe 0x4a8547
push dword [edi + 0x51c]
push dword [ebp + 0xc]
push edi
call fcn.004a8ed0
add esp, 0xc
test eax, eax
jne 0x4a8547
mov dword [esi + 0x4c], 2
mov dword [esi + 0x48], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret