Function at 0x52e160
Capabilities:
Check http status code

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x20]
lea esi, [edi + 0x18]
mov edi, edi
mov eax, dword [esi + 0x5c]
mov ebx, dword [esp + 0x28]
mov dword [esi + 0x60], eax
mov ecx, dword [ebx]
push ecx
push 0xa
push eax
call fcn.00543c90
add esp, 0xc
mov dword [esi + 0x64], eax
test eax, eax
je 0x52ebf5
sub eax, dword [esi + 0x5c]
inc eax
mov ebp, eax
mov eax, ebx
sub dword [eax], ebp
mov eax, dword [esi + 0x64]
inc eax
mov dword [esi + 0x5c], eax
sub eax, dword [esi + 0x60]
mov ebx, edi
push eax
call fcn.0052c820
add esp, 4
test eax, eax
jne 0x52ed42
cmp dword [esi + 0x50], 0
mov edx, dword [esi + 0x54]
mov dword [esi + 0x64], edx
mov eax, dword [edi + 0x484]
mov dword [esi + 0x68], eax
jne 0x52e20f
cmp dword [esi + 0x58], 5
jbe 0x52e20f
mov ebx, dword [esp + 0x24]
mov eax, dword [edi + 0x484]
push edi
mov ecx, ebx
call fcn.0052c800
add esp, 4
test al, al
jne 0x52e213
mov byte [esi + 0x48], al
mov eax, dword [esp + 0x28]
cmp dword [eax], 0
je 0x52ec4c
pop edi
mov dword [esi + 0x4c], 1
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
mov ebx, dword [esp + 0x24]
mov eax, dword [esi + 0x68]
mov cl, byte [eax]
cmp cl, 0xa
je 0x52ea51
cmp cl, 0xd
je 0x52ea56
mov ecx, dword [esi + 0x50]
lea edx, [ecx + 1]
mov dword [esi + 0x50], edx
test ecx, ecx
jne 0x52e405
mov ecx, dword [ebx + 0x30]
test cl, 1
je 0x52e2bb
mov ebx, dword [esp + 0x24]
lea ebp, [esi + 0x78]
push ebp
add ebx, 0xb0
push ebx
lea ecx, [esp + 0x28]
push ecx
push str._HTTP__d._d__3d
push eax
call fcn.005446b0
add esp, 0x14
cmp eax, 3
jne 0x52e27a
mov eax, dword [esp + 0x20]
lea edx, [eax + eax*4]
add edx, edx
add dword [ebx], edx
jmp 0x52e30d
mov eax, dword [esi + 0x68]
push ebp
push str._HTTP__3d
push eax
call fcn.005446b0
add esp, 0xc
mov dword [ebx], 0xa
test eax, eax
jne 0x52e30d
mov ecx, dword [esi + 0x68]
push ecx
mov eax, edi
call fcn.0052c770
add esp, 4
test al, al
je 0x52ec5f
mov dword [ebp], 0xc8
mov dword [ebx], 0xa
jmp 0x52e30d
test ecx, 0x40000
je 0x52ec5f
mov ebx, dword [esp + 0x24]
lea ebp, [esi + 0x78]
push ebp
add ebx, 0xb4
push ebx
lea edx, [esp + 0x18]
push edx
push str._RTSP__d._d__3d
push eax
call fcn.005446b0
add esp, 0x14
cmp eax, 3
jne 0x52ec5f
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
add eax, eax
add dword [ebx], eax
mov ebx, dword [esp + 0x24]
add ebx, 0xb0
mov dword [ebx], 0xb
mov ecx, dword [ebp]
mov eax, dword [edi + 0x8558]
mov dword [edi + 0x8598], ecx
mov edx, dword [ebx]
mov dword [edi + 0x85a0], edx
test eax, eax
je 0x52e32c
cmp eax, dword [ebx]
jle 0x52e334
mov eax, dword [ebx]
mov dword [edi + 0x8558], eax
cmp byte [edi + 0x268], 0
je 0x52e392
mov eax, dword [ebp]
cmp eax, 0x190
jl 0x52e392
mov ecx, dword [esp + 0x24]
cmp eax, 0x191
jne 0x52e35b
cmp byte [ecx + 0x120], 0
jne 0x52e396
cmp eax, 0x197
jne 0x52e36b
cmp byte [ecx + 0x121], 0
jne 0x52e396
mov edx, dword [edi + 0x8578]
or edx, dword [edi + 0x857c]
je 0x52e389
cmp dword [edi + 0x1e8], 1
jne 0x52e389
cmp eax, 0x1a0
je 0x52e396
mov edx, dword [esi + 0x78]
push edx
jmp 0x52ec99
mov ecx, dword [esp + 0x24]
mov ebx, dword [ebx]
cmp ebx, 0xa
jne 0x52e3b8
push str.HTTP_1.0__assume_close_after_body_n
push edi
call fcn.0051e2d0
mov eax, dword [esp + 0x2c]
add esp, 8
mov byte [eax + 0x11c], 1
jmp 0x52e3cd
cmp ebx, 0xb
jl 0x52e3cd
cmp byte [ecx + 0x11c], 0
jne 0x52e3cd
mov byte [ecx + 0x16a], 1
mov ebp, dword [ebp]
sub ebp, 0xcc
je 0x52e3e2
sub ebp, 0x64
je 0x52e3e2
sub ebp, 0x70
jne 0x52e405
xor eax, eax
cmp dword [edi + 0x1d8], eax
je 0x52e3f3
mov byte [edi + 0x85a8], 1
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov byte [esi + 0xae], 1
cmp byte [esi + 0xae], 0
jne 0x52e4be
cmp byte [edi + 0x28f], 0
jne 0x52e4be
mov ecx, dword [esi + 0x68]
push 0xf
push ecx
push str.Content_Length:
call fcn.00533a60
add esp, 0xc
test eax, eax
je 0x52e4be
mov edx, dword [esi + 0x68]
push 0xa
add edx, 0xf
push 0
push edx
call fcn.00549c60
mov ebx, dword [edi + 0x248]
mov ecx, dword [edi + 0x24c]
mov ebp, ebx
add esp, 0xc
or ebp, ecx
je 0x52e471
cmp edx, ecx
jg 0x52ec6d
jl 0x52e471
cmp eax, ebx
ja 0x52ec6d
test edx, edx
jl 0x52e49a
jg 0x52e47b
test eax, eax
jb 0x52e49a
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.005331b0
mov ebp, dword [esp + 0x30]
add esp, 0xc
jmp 0x52e9ea
mov ecx, dword [esp + 0x24]
push edx
push eax
push str.Negative_content_length:__lld__closing_after_transfer_n
push edi
mov byte [ecx + 0x11c], 1
call fcn.0051e2d0
mov ebp, dword [esp + 0x34]
add esp, 0x10
jmp 0x52e9ea
mov edx, dword [esi + 0x68]
push 0xd
push edx
push str.Content_Type:
call fcn.00533a60
add esp, 0xc
test eax, eax
je 0x52e521
mov eax, dword [esi + 0x68]
push eax
call fcn.0052baa0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x52ec88
cmp byte [ebx], 0
jne 0x52e503
push ebx
call dword [0x610a84]
mov ebp, dword [esp + 0x28]
add esp, 4
jmp 0x52e9ea
mov ecx, dword [edi + 0x85c0]
push ecx
call fcn.00515680
mov ebp, dword [esp + 0x28]
add esp, 4
mov dword [edi + 0x85c0], ebx
jmp 0x52e9ea
mov ebp, dword [esp + 0x24]
mov ebx, 0xa
cmp dword [ebp + 0xb0], ebx
jne 0x52e56f
cmp byte [ebp + 0x11f], 0
je 0x52e56f
mov edx, dword [esi + 0x68]
push str.keep_alive
push str.Proxy_Connection:
push edx
call fcn.0052c520
add esp, 0xc
test al, al
je 0x52e56f
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push edi
mov byte [ebp + 0x11c], 0
call fcn.0051e2d0
add esp, 8
jmp 0x52e9ea
cmp dword [ebp + 0xb0], 0xb
jne 0x52e5b5
cmp byte [ebp + 0x11f], 0
je 0x52e5b5
mov eax, dword [esi + 0x68]
push str.close
push str.Proxy_Connection:
push eax
call fcn.0052c520
add esp, 0xc
test al, al
je 0x52e5b5
push str.HTTP_1.1_proxy_connection_set_close__n
push edi
mov byte [ebp + 0x11c], 1
call fcn.0051e2d0
add esp, 8
jmp 0x52e9ea
cmp dword [ebp + 0xb0], ebx
jne 0x52e5f1
mov ecx, dword [esi + 0x68]
push str.keep_alive
push str.Connection:
push ecx
call fcn.0052c520
add esp, 0xc
test al, al
je 0x52e5f1
push str.HTTP_1.0_connection_set_to_keep_alive__n
push edi
mov byte [ebp + 0x11c], 0
call fcn.0051e2d0
add esp, 8
jmp 0x52e9ea
mov edx, dword [esi + 0x68]
push str.close
push str.Connection:
push edx
call fcn.0052c520
add esp, 0xc
test al, al
je 0x52e617
mov byte [ebp + 0x11c], 1
jmp 0x52e9ea
mov eax, dword [esi + 0x68]
push str.chunked
push str.Transfer_Encoding:
push eax
call fcn.0052c520
add esp, 0xc
test al, al
je 0x52e64f
test dword [ebp + 0x30], 0x40000
jne 0x52e64f
push ebp
mov byte [esi + 0xc0], 1
call fcn.00534da0
add esp, 4
jmp 0x52e9ea
mov ecx, dword [esi + 0x68]
push 8
push ecx
push str.Trailer:
call fcn.00533a60
add esp, 0xc
test eax, eax
jne 0x52e9e3
mov edx, dword [esi + 0x68]
push 9
push edx
push str.Trailers:
call fcn.00533a60
add esp, 0xc
test eax, eax
jne 0x52e9e3
mov eax, dword [esi + 0x68]
push 0x11
push eax
push str.Content_Encoding:
call fcn.00533a60
add esp, 0xc
test eax, eax
je 0x52e790
cmp dword [edi + 0x2c0], 0
je 0x52e790
mov ebx, dword [esi + 0x68]
mov al, byte [ebx + 0x11]
add ebx, 0x11
test al, al
je 0x52e6d8
lea ebx, [ebx]
movzx ecx, al
push ecx
call fcn.00549730
add esp, 4
test eax, eax
je 0x52e6d8
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x52e6c0
push 8
push ebx
push str.identity
call fcn.00533a60
add esp, 0xc
test eax, eax
je 0x52e6fb
mov dword [esi + 0x88], 0
jmp 0x52e9ea
push 7
push ebx
push str.deflate
call fcn.00533a60
add esp, 0xc
test eax, eax
je 0x52e71e
mov dword [esi + 0x88], 1
jmp 0x52e9ea
push 4
push ebx
push str.gzip
call fcn.00533a60
add esp, 0xc
test eax, eax
jne 0x52e781
push 6
push ebx
push str.x_gzip
call fcn.00533a60
add esp, 0xc
test eax, eax
jne 0x52e781
push 8
push ebx
push str.compress
call fcn.00533a60
add esp, 0xc
test eax, eax
jne 0x52e772
push 0xa
push ebx
push str.x_compress
call fcn.00533a60
add esp, 0xc
test eax, eax
je 0x52e9ea
mov dword [esi + 0x88], 3
jmp 0x52e9ea
mov dword [esi + 0x88], 2
jmp 0x52e9ea
mov edx, dword [esi + 0x68]
push 0xe
push edx
push str.Content_Range:
call fcn.00533a60
add esp, 0xc
test eax, eax
je 0x52e805
mov ebx, dword [esi + 0x68]
mov al, byte [ebx + 0xe]
add ebx, 0xe
test al, al
je 0x52e7cc
movzx eax, al
push eax
call fcn.005495b0
add esp, 4
test eax, eax
jne 0x52e7cc
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x52e7b4
push 0xa
push 0
push ebx
call fcn.00549c60
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov ecx, dword [edi + 0x8578]
add esp, 0xc
cmp ecx, eax
jne 0x52e9ea
mov edx, dword [edi + 0x857c]
cmp edx, dword [esi + 0x74]
jne 0x52e9ea
mov byte [esi + 0x6c], 1
jmp 0x52e9ea
cmp dword [edi + 0x36c], 0
je 0x52e86d
mov eax, dword [esi + 0x68]
push 0xb
push eax
push str.Set_Cookie:
call fcn.00533a60
add esp, 0xc
test eax, eax
je 0x52e86d
push 2
push 2
push edi
call fcn.005209d0
mov eax, dword [ebp + 0x15c]
add esp, 0xc
test eax, eax
jne 0x52e83f
mov eax, dword [ebp + 0x7c]
mov ecx, dword [edi + 0x856c]
mov edx, dword [esi + 0x68]
push ecx
push eax
mov eax, dword [edi + 0x36c]
add edx, 0xb
push edx
push 1
push eax
push edi
call fcn.0051cf90
push 2
push edi
call fcn.00520a10
add esp, 0x20
jmp 0x52e9ea
mov ecx, dword [esi + 0x68]
push 0xe
push ecx
push str.Last_Modified:
call fcn.00533a60
add esp, 0xc
test eax, eax
je 0x52e8df
cmp dword [edi + 0x1d8], 0
jne 0x52e896
cmp byte [edi + 0x261], 0
je 0x52e8df
push 0
call fcn.00543730
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x68]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x18]
push edx
add eax, 0xe
push eax
call fcn.00535840
add esp, 0xc
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], edx
cmp byte [edi + 0x261], 0
je 0x52e9ea
mov ecx, eax
mov dword [edi + 0x85a4], ecx
jmp 0x52e9ea
mov edx, dword [esi + 0x68]
push 0x11
push edx
push str.WWW_Authenticate:
call fcn.00533a60
add esp, 0xc
test eax, eax
je 0x52e900
mov eax, dword [esi + 0x78]
cmp eax, 0x191
je 0x52e921
mov eax, dword [esi + 0x68]
push 0x13
push eax
push str.Proxy_authenticate:
call fcn.00533a60
add esp, 0xc
test eax, eax
je 0x52e93c
mov eax, dword [esi + 0x78]
cmp eax, 0x197
jne 0x52e93c
mov ecx, dword [esi + 0x68]
push ecx
push eax
push ebp
call fcn.0052c040
add esp, 0xc
test eax, eax
jne 0x52ed42
jmp 0x52e9ea
mov eax, dword [esi + 0x78]
cmp eax, 0x12c
jl 0x52e9c3
cmp eax, 0x190
jge 0x52e9c3
mov edx, dword [esi + 0x68]
push 9
push edx
push str.Location:
call fcn.00533a60
add esp, 0xc
test eax, eax
je 0x52e9c3
mov eax, dword [esi + 0x68]
push eax
call fcn.0052baa0
add esp, 4
test eax, eax
je 0x52ec88
cmp byte [eax], 0
jne 0x52e989
push eax
call dword [0x610a84]
add esp, 4
jmp 0x52e9ea
cmp byte [edi + 0x269], 0
mov dword [edi + 0xc8], eax
je 0x52e9ea
push eax
call dword [0x610a8c]
add esp, 4
mov dword [edi + 0xcc], eax
test eax, eax
je 0x52ec88
push ebp
call fcn.0052bcb0
add esp, 4
test eax, eax
jne 0x52ed42
jmp 0x52e9ea
test dword [ebp + 0x30], 0x40000
je 0x52e9ea
mov ecx, dword [esi + 0x68]
push ecx
push ebp
call fcn.00521e70
add esp, 8
test eax, eax
jne 0x52ed42
jmp 0x52e9ea
mov byte [esi + 0xc4], 1
cmp byte [edi + 0x26b], 0
mov ebx, 2
je 0x52e9fd
mov ebx, 3
cmp byte [edi + 0x278], 0
je 0x52ea1a
mov edx, dword [esi + 0x58]
mov eax, dword [esi + 0x68]
push ebp
push edx
push eax
push 1
push edi
call fcn.0051e1e0
add esp, 0x14
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x68]
push ecx
push edx
push ebx
push ebp
call fcn.0051e4f0
add esp, 0x10
test eax, eax
jne 0x52ed42
mov eax, dword [esi + 0x58]
add dword [edi + 0x85ac], eax
mov ecx, dword [esi + 0x58]
mov edx, dword [edi + 0x484]
add dword [edi + 0x48], ecx
mov dword [esi + 0x54], edx
jmp 0x52ebcb
cmp cl, 0xd
jne 0x52ea5a
inc eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
cmp byte [eax], 0xa
jne 0x52ea66
inc eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x78]
cmp eax, 0x64
jl 0x52ea95
cmp eax, 0xc7
jg 0x52ea95
xor eax, eax
mov byte [esi + 0x48], 1
mov dword [esi + 0x50], eax
cmp dword [esi + 0x84], eax
je 0x52eadc
or dword [esi + 0xa8], 2
mov dword [esi + 0x84], eax
jmp 0x52eadc
mov eax, dword [esi]
and eax, dword [esi + 4]
mov byte [esi + 0x48], 0
cmp eax, 0xffffffff
jne 0x52eadc
cmp byte [esi + 0xc0], 0
jne 0x52eadc
cmp byte [ebx + 0x11c], 0
jne 0x52eadc
cmp dword [ebx + 0xb0], 0xb
jl 0x52eadc
test dword [ebx + 0x30], 0x40000
jne 0x52eadc
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end_n
push edi
call fcn.0051e2d0
add esp, 8
mov byte [ebx + 0x11c], 1
cmp dword [esi + 0x78], 0x1a1
jne 0x52eaf6
and dword [esi + 0xa8], 0xfffffffd
mov dword [esi + 0x84], 3
push ebx
call fcn.0052c140
add esp, 4
test eax, eax
jne 0x52ec95
lea ecx, [eax + 2]
cmp byte [edi + 0x26b], al
je 0x52eb15
lea ecx, [eax + 3]
mov eax, dword [edi + 0x484]
mov ebx, dword [esi + 0x68]
mov ebp, dword [esp + 0x24]
sub ebx, eax
push ebx
push eax
push ecx
push ebp
call fcn.0051e4f0
add esp, 0x10
test eax, eax
jne 0x52ed42
add dword [edi + 0x48], ebx
add dword [edi + 0x85ac], ebx
mov eax, dword [esi + 0x78]
cmp eax, 0x64
mov ecx, dword [edi + 0x48]
jl 0x52eb53
cmp eax, 0xc7
jle 0x52eb55
xor ecx, ecx
mov dword [edi + 0x4c], ecx
mov ecx, dword [edi + 0x8578]
or ecx, dword [edi + 0x857c]
je 0x52eb81
cmp dword [edi + 0x1e8], 1
jne 0x52eb81
cmp dword [esi + 0x78], 0x1a0
jne 0x52eb81
mov edx, dword [esp + 0x2c]
mov byte [edx], 1
jmp 0x52ebb8
mov eax, dword [esp + 0x2c]
cmp byte [eax], 0
jne 0x52ebb8
push ebp
call fcn.0052c8d0
add esp, 4
test eax, eax
jne 0x52ed42
cmp byte [ebp + 0x12b], al
je 0x52ebb8
push str.Keep_sending_data_to_get_tossed_away__n
push edi
call fcn.0051e2d0
add esp, 8
or dword [esi + 0xa8], 2
cmp byte [esi + 0x48], 0
je 0x52ecb4
mov ecx, dword [edi + 0x484]
mov dword [esi + 0x54], ecx
mov edx, dword [esp + 0x2c]
mov dword [esi + 0x58], 0
cmp byte [edx], 0
jne 0x52ed40
mov eax, dword [esi + 0x5c]
cmp byte [eax], 0
jne 0x52e170
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [ebx]
push ecx
mov ebx, edi
call fcn.0052c820
add esp, 4
test eax, eax
jne 0x52ed42
cmp dword [esi + 0x50], eax
jne 0x52ed40
cmp dword [esi + 0x58], 5
jbe 0x52ed40
mov eax, dword [edi + 0x484]
mov ecx, dword [esp + 0x24]
push edi
call fcn.0052c800
add esp, 4
test al, al
jne 0x52ed40
pop edi
mov byte [esi + 0x48], al
mov dword [esi + 0x4c], 2
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
pop edi
mov dword [esi + 0x4c], 2
pop esi
mov dword [eax], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
pop edi
mov byte [esi + 0x48], 0
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
push str.Maximum_file_size_exceeded
push edi
call fcn.0051e360
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x3f
pop ebx
add esp, 0xc
ret
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0xc
ret
mov eax, dword [esi + 0x78]
push eax
push str.The_requested_URL_returned_error:__d
push edi
call fcn.0051e360
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0x16
pop ebx
add esp, 0xc
ret
cmp byte [edi + 0x26e], 0
je 0x52ecc6
mov ecx, dword [esp + 0x2c]
mov byte [ecx], 1
jmp 0x52ecdd
cmp byte [esi + 0xc0], 0
je 0x52ecdd
or eax, 0xffffffff
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x52eceb
cmp ecx, eax
je 0x52ed01
push ecx
push eax
push edi
call fcn.005331b0
mov edx, dword [esi]
mov eax, dword [esi + 4]
add esp, 0xc
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
cmp dword [esi + 0x10], 0
jne 0x52ed16
cmp dword [esi + 0x14], 0
jne 0x52ed16
mov ecx, dword [esp + 0x2c]
mov byte [ecx], 1
jmp 0x52ed1f
mov edx, dword [esp + 0x2c]
cmp byte [edx], 0
je 0x52ed26
and dword [esi + 0xa8], 0xfffffffe
cmp byte [edi + 0x278], 0
je 0x52ed40
mov eax, dword [esi + 0x60]
push ebp
push ebx
push eax
push 1
push edi
call fcn.0051e1e0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret