Function at 0x484b10
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.0049d620
add esp, 0xc
mov dword [esi + 0x64], eax
test eax, eax
je 0x4855b7
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.004831e0
add esp, 4
test eax, eax
jne 0x485727
mov edx, dword [esi + 0x54]
mov dword [esi + 0x64], edx
mov eax, dword [edi + 0x51c]
xor edx, edx
mov dword [esi + 0x68], eax
cmp dword [esi + 0x50], edx
jne 0x484c15
cmp dword [esi + 0x58], 5
jbe 0x484c15
mov ebx, dword [esp + 0x24]
mov eax, dword [edi + 0x51c]
push edi
mov ecx, ebx
call fcn.004831c0
add esp, 4
test eax, eax
je 0x48560c
xor edx, edx
mov eax, dword [esi + 0x68]
mov cl, byte [eax]
cmp cl, 0xa
je 0x485405
cmp cl, 0xd
je 0x48540a
mov ecx, dword [esi + 0x50]
lea ebp, [ecx + 1]
mov dword [esi + 0x50], ebp
cmp ecx, edx
jne 0x484db0
mov ecx, dword [ebx + 0x30]
test cl, 1
je 0x484c5a
mov ebp, dword [esp + 0x24]
lea ebx, [esi + 0x78]
push ebx
add ebp, 0xb0
push ebp
lea ecx, [esp + 0x28]
push ecx
push str._HTTP__d._d__3d
push eax
call fcn.004a041d
add esp, 0x14
cmp eax, 3
jne 0x484c1b
mov eax, dword [esp + 0x20]
lea edx, [eax + eax*4]
add edx, edx
add dword [ebp], edx
jmp 0x484cad
mov ebx, dword [esp + 0x24]
jmp 0x484bad
mov eax, dword [esi + 0x68]
push ebx
push str._HTTP__3d
push eax
call fcn.004a041d
add esp, 0xc
mov dword [ebp], 0xa
test eax, eax
jne 0x484cad
mov ebx, dword [esi + 0x68]
mov eax, edi
call fcn.00483140
test eax, eax
je 0x485640
mov dword [esi + 0x78], 0xc8
mov dword [ebp], 0xa
jmp 0x484cad
test ecx, 0x40000
je 0x485640
mov ebx, dword [esp + 0x24]
lea ecx, [esi + 0x78]
push ecx
add ebx, 0xb4
push ebx
lea ecx, [esp + 0x18]
push ecx
push str._RTSP__d._d__3d
push eax
call fcn.004a041d
add esp, 0x14
cmp eax, 3
jne 0x485640
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
lea edx, [eax + eax*4]
add edx, edx
add dword [ebx], edx
add ebp, 0xb0
mov dword [ebp], 0xb
mov eax, dword [esi + 0x78]
mov dword [edi + 0x8664], eax
mov eax, dword [edi + 0x8600]
mov ecx, dword [ebp]
mov dword [edi + 0x866c], ecx
test eax, eax
je 0x484cce
cmp eax, dword [ebp]
jle 0x484cd7
mov edx, dword [ebp]
mov dword [edi + 0x8600], edx
cmp dword [edi + 0x2b0], 0
je 0x484d35
mov eax, dword [esi + 0x78]
cmp eax, 0x190
jl 0x484d35
mov ebx, dword [esp + 0x24]
cmp eax, 0x191
jne 0x484cfe
cmp dword [ebx + 0x140], 0
jne 0x484d39
cmp eax, 0x197
jne 0x484d0e
cmp dword [ebx + 0x144], 0
jne 0x484d39
mov ecx, dword [edi + 0x8628]
or ecx, dword [edi + 0x862c]
je 0x484d2c
cmp dword [edi + 0x210], 1
jne 0x484d2c
cmp eax, 0x1a0
je 0x484d39
mov eax, dword [esi + 0x78]
push eax
jmp 0x48567d
mov ebx, dword [esp + 0x24]
mov ebp, dword [ebp]
cmp ebp, 0xa
jne 0x484d5b
push str.HTTP_1.0__assume_close_after_body_n
push edi
call fcn.00472960
add esp, 8
mov dword [ebx + 0x130], 1
jmp 0x484d73
cmp ebp, 0xb
jl 0x484d73
cmp dword [ebx + 0x130], 0
jne 0x484d73
mov dword [ebx + 0x1cc], 1
mov eax, dword [esi + 0x78]
sub eax, 0xcc
je 0x484d87
sub eax, 0x64
je 0x484d87
sub eax, 0x70
jne 0x484db0
xor eax, eax
cmp dword [edi + 0x204], eax
je 0x484d9b
mov dword [edi + 0x8674], 1
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0xb4], 1
cmp dword [esi + 0xb4], 0
jne 0x484e68
cmp dword [edi + 0x30c], 0
jne 0x484e68
mov edx, dword [esi + 0x68]
push 0xf
push edx
push 0x4cc998
call fcn.0048a5a0
add esp, 0xc
test eax, eax
je 0x484e68
mov eax, dword [esi + 0x68]
push 0xa
add eax, 0xf
push 0
push eax
call fcn.004a08d8
mov ebx, dword [edi + 0x278]
mov ecx, dword [edi + 0x27c]
mov ebp, ebx
add esp, 0xc
or ebp, ecx
je 0x484e1c
cmp edx, ecx
jg 0x485651
jl 0x484e1c
cmp eax, ebx
ja 0x485651
test edx, edx
jl 0x484e45
jg 0x484e26
test eax, eax
jb 0x484e45
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.00489ce0
mov ebp, dword [esp + 0x30]
add esp, 0xc
jmp 0x4853a7
mov ebp, dword [esp + 0x24]
push edx
push eax
push str.Negative_content_length:__lld__closing_after_transfer_n
push edi
mov dword [ebp + 0x130], 1
call fcn.00472960
add esp, 0x10
jmp 0x4853a7
mov ecx, dword [esi + 0x68]
push 0xd
push ecx
push str.Content_Type:
call fcn.0048a5a0
add esp, 0xc
test eax, eax
je 0x484ecb
mov edx, dword [esi + 0x68]
push edx
call fcn.00482450
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x48566c
cmp byte [ebx], 0
jne 0x484ead
push ebx
call dword [0x4f30c4]
mov ebp, dword [esp + 0x28]
add esp, 4
jmp 0x4853a7
mov eax, dword [edi + 0x868c]
push eax
call sym.PinyinUp.exe_curl_free
mov ebp, dword [esp + 0x28]
add esp, 4
mov dword [edi + 0x868c], ebx
jmp 0x4853a7
mov ebp, dword [esp + 0x24]
mov ebx, 0xa
cmp dword [ebp + 0xb0], ebx
jne 0x484f1c
cmp dword [ebp + 0x13c], 0
je 0x484f1c
mov ecx, dword [esi + 0x68]
push 0x4cf394
push str.Proxy_Connection:
push ecx
call fcn.00482ef0
add esp, 0xc
test eax, eax
je 0x484f1c
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push edi
mov dword [ebp + 0x130], 0
call fcn.00472960
add esp, 8
jmp 0x4853a7
cmp dword [ebp + 0xb0], 0xb
jne 0x484f65
cmp dword [ebp + 0x13c], 0
je 0x484f65
mov edx, dword [esi + 0x68]
push 0x4cf35c
push str.Proxy_Connection:
push edx
call fcn.00482ef0
add esp, 0xc
test eax, eax
je 0x484f65
push str.HTTP_1.1_proxy_connection_set_close__n
push edi
mov dword [ebp + 0x130], 1
call fcn.00472960
add esp, 8
jmp 0x4853a7
cmp dword [ebp + 0xb0], ebx
jne 0x484fa4
mov eax, dword [esi + 0x68]
push 0x4cf394
push str.Connection:
push eax
call fcn.00482ef0
add esp, 0xc
test eax, eax
je 0x484fa4
push str.HTTP_1.0_connection_set_to_keep_alive__n
push edi
mov dword [ebp + 0x130], 0
call fcn.00472960
add esp, 8
jmp 0x4853a7
mov ecx, dword [esi + 0x68]
push 0x4cf35c
push str.Connection:
push ecx
call fcn.00482ef0
add esp, 0xc
test eax, eax
je 0x484fcd
mov dword [ebp + 0x130], 1
jmp 0x4853a7
mov edx, dword [esi + 0x68]
push 0x4cf1cc
push str.Transfer_Encoding:
push edx
call fcn.00482ef0
add esp, 0xc
test eax, eax
je 0x485008
test dword [ebp + 0x30], 0x40000
jne 0x485008
push ebp
mov dword [esi + 0xc8], 1
call fcn.0048b8e0
add esp, 4
jmp 0x4853a7
mov eax, dword [esi + 0x68]
push 8
push eax
push str.Trailer:
call fcn.0048a5a0
add esp, 0xc
test eax, eax
jne 0x48539d
mov ecx, dword [esi + 0x68]
push 9
push ecx
push str.Trailers:
call fcn.0048a5a0
add esp, 0xc
test eax, eax
jne 0x48539d
mov edx, dword [esi + 0x68]
push 0x11
push edx
push str.Content_Encoding:
call fcn.0048a5a0
add esp, 0xc
test eax, eax
je 0x485143
cmp dword [edi + 0x348], 0
je 0x485143
mov ebx, dword [esi + 0x68]
mov al, byte [ebx + 0x11]
add ebx, 0x11
test al, al
je 0x48508b
movzx eax, al
push eax
call fcn.0049f97d
add esp, 4
test eax, eax
je 0x48508b
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x485073
push 8
push ebx
push str.identity
call fcn.0048a5a0
add esp, 0xc
test eax, eax
je 0x4850ae
mov dword [esi + 0x88], 0
jmp 0x4853a7
push 7
push ebx
push str.deflate
call fcn.0048a5a0
add esp, 0xc
test eax, eax
je 0x4850d1
mov dword [esi + 0x88], 1
jmp 0x4853a7
push 4
push ebx
push str.gzip
call fcn.0048a5a0
add esp, 0xc
test eax, eax
jne 0x485134
push 6
push ebx
push str.x_gzip
call fcn.0048a5a0
add esp, 0xc
test eax, eax
jne 0x485134
push 8
push ebx
push str.compress
call fcn.0048a5a0
add esp, 0xc
test eax, eax
jne 0x485125
push 0xa
push ebx
push str.x_compress
call fcn.0048a5a0
add esp, 0xc
test eax, eax
je 0x4853a7
mov dword [esi + 0x88], 3
jmp 0x4853a7
mov dword [esi + 0x88], 2
jmp 0x4853a7
mov ecx, dword [esi + 0x68]
push 0xe
push ecx
push str.Content_Range:
call fcn.0048a5a0
add esp, 0xc
test eax, eax
je 0x4851bb
mov ebx, dword [esi + 0x68]
mov al, byte [ebx + 0xe]
add ebx, 0xe
test al, al
je 0x48517f
movzx edx, al
push edx
call fcn.0049f878
add esp, 4
test eax, eax
jne 0x48517f
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x485167
push 0xa
push 0
push ebx
call fcn.004a08d8
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov eax, dword [edi + 0x8628]
add esp, 0xc
cmp eax, dword [esi + 0x70]
jne 0x4853a7
mov ecx, dword [edi + 0x862c]
cmp ecx, edx
jne 0x4853a7
mov dword [esi + 0x6c], 1
jmp 0x4853a7
cmp dword [edi + 0x404], 0
je 0x485223
mov edx, dword [esi + 0x68]
push 0xb
push edx
push str.Set_Cookie:
call fcn.0048a5a0
add esp, 0xc
test eax, eax
je 0x485223
push 2
push 2
push edi
call fcn.00475260
mov eax, dword [ebp + 0x1b8]
add esp, 0xc
test eax, eax
jne 0x4851f5
mov eax, dword [ebp + 0x7c]
mov ecx, dword [edi + 0x8618]
mov edx, dword [esi + 0x68]
push ecx
push eax
mov eax, dword [edi + 0x404]
add edx, 0xb
push edx
push 1
push eax
push edi
call fcn.00471570
push 2
push edi
call fcn.004752a0
add esp, 0x20
jmp 0x4853a7
mov ecx, dword [esi + 0x68]
push 0xe
push ecx
push str.Last_Modified:
call fcn.0048a5a0
add esp, 0xc
test eax, eax
je 0x485295
cmp dword [edi + 0x204], 0
jne 0x48524c
cmp dword [edi + 0x294], 0
je 0x485295
push 0
call fcn.00499531
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 sym.PinyinUp.exe_curl_getdate
add esp, 0xc
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], edx
cmp dword [edi + 0x294], 0
je 0x4853a7
mov ecx, eax
mov dword [edi + 0x8670], ecx
jmp 0x4853a7
mov edx, dword [esi + 0x68]
push 0x11
push edx
push str.WWW_Authenticate:
call fcn.0048a5a0
add esp, 0xc
test eax, eax
je 0x4852b6
mov eax, dword [esi + 0x78]
cmp eax, 0x191
je 0x4852d7
mov eax, dword [esi + 0x68]
push 0x13
push eax
push str.Proxy_authenticate:
call fcn.0048a5a0
add esp, 0xc
test eax, eax
je 0x4852f2
mov eax, dword [esi + 0x78]
cmp eax, 0x197
jne 0x4852f2
mov ecx, dword [esi + 0x68]
push ecx
push eax
push ebp
call fcn.004829f0
add esp, 0xc
test eax, eax
jne 0x485727
jmp 0x4853a7
mov eax, dword [esi + 0x78]
cmp eax, 0x12c
jl 0x48537d
cmp eax, 0x190
jge 0x48537d
mov edx, dword [esi + 0x68]
push 9
push edx
push str.Location:
call fcn.0048a5a0
add esp, 0xc
test eax, eax
je 0x48537d
mov eax, dword [esi + 0x68]
push eax
call fcn.00482450
add esp, 4
test eax, eax
je 0x48566c
cmp byte [eax], 0
jne 0x485343
push eax
call dword [0x4f30c4]
add esp, 4
jmp 0x4853a7
cmp dword [edi + 0x2b4], 0
mov dword [edi + 0xd0], eax
je 0x4853a7
push eax
call dword [0x4f30cc]
add esp, 4
mov dword [edi + 0xd4], eax
test eax, eax
je 0x48566c
push ebp
call fcn.00482660
add esp, 4
test eax, eax
jne 0x485727
jmp 0x4853a7
test dword [ebp + 0x30], 0x40000
je 0x4853a7
mov ecx, dword [esi + 0x68]
push ecx
push ebp
call fcn.00477010
add esp, 8
test eax, eax
jne 0x485727
jmp 0x4853a7
mov dword [esi + 0xd8], 1
cmp dword [edi + 0x2bc], 0
mov ebx, 2
je 0x4853ba
mov ebx, 3
cmp dword [edi + 0x2d8], 0
je 0x4853d7
mov edx, dword [esi + 0x58]
mov eax, dword [esi + 0x68]
push ebp
push edx
push eax
push 1
push edi
call fcn.00472870
add esp, 0x14
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x68]
push ecx
push edx
push ebx
push ebp
call fcn.00472cb0
add esp, 0x10
test eax, eax
jne 0x485727
mov eax, dword [esi + 0x58]
add dword [edi + 0x8678], eax
mov ecx, dword [esi + 0x58]
add dword [edi + 0x48], ecx
jmp 0x485584
cmp cl, 0xd
jne 0x48540e
inc eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
cmp byte [eax], 0xa
jne 0x48541a
inc eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x78]
cmp eax, 0x64
jl 0x48544a
cmp eax, 0xc7
jg 0x48544a
mov dword [esi + 0x48], 1
mov dword [esi + 0x50], edx
cmp dword [esi + 0x84], edx
je 0x485491
or dword [esi + 0xa8], 2
mov dword [esi + 0x84], edx
jmp 0x485491
mov eax, dword [esi]
and eax, dword [esi + 4]
mov dword [esi + 0x48], edx
cmp eax, 0xffffffff
jne 0x485491
cmp dword [esi + 0xc8], edx
jne 0x485491
cmp dword [ebx + 0x130], edx
jne 0x485491
cmp dword [ebx + 0xb0], 0xb
jl 0x485491
test dword [ebx + 0x30], 0x40000
jne 0x485491
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end_n
push edi
call fcn.00472960
add esp, 8
mov dword [ebx + 0x130], 1
cmp dword [esi + 0x78], 0x1a1
jne 0x4854ab
and dword [esi + 0xa8], 0xfffffffd
mov dword [esi + 0x84], 3
push ebx
call fcn.00482b10
add esp, 4
test eax, eax
jne 0x485679
lea ecx, [eax + 2]
cmp dword [edi + 0x2bc], eax
je 0x4854ca
lea ecx, [eax + 3]
mov eax, dword [edi + 0x51c]
mov ebx, dword [esi + 0x68]
sub ebx, eax
push ebx
push eax
push ecx
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00472cb0
add esp, 0x10
test eax, eax
jne 0x485727
add dword [edi + 0x48], ebx
add dword [edi + 0x8678], ebx
mov eax, dword [esi + 0x78]
cmp eax, 0x64
mov ecx, dword [edi + 0x48]
jl 0x485508
cmp eax, 0xc7
jle 0x48550a
xor ecx, ecx
mov edx, dword [edi + 0x8628]
or edx, dword [edi + 0x862c]
mov dword [edi + 0x4c], ecx
je 0x48553a
cmp dword [edi + 0x210], 1
jne 0x48553a
cmp dword [esi + 0x78], 0x1a0
jne 0x48553a
mov ebp, dword [esp + 0x2c]
mov dword [ebp], 1
jmp 0x48557a
mov ebp, dword [esp + 0x2c]
cmp dword [ebp], 0
jne 0x48557a
mov eax, dword [esp + 0x24]
push eax
call fcn.00483290
add esp, 4
test eax, eax
jne 0x485727
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x16c], eax
je 0x48557a
push str.Keep_sending_data_to_get_tossed_away__n
push edi
call fcn.00472960
add esp, 8
or dword [esi + 0xa8], 2
cmp dword [esi + 0x48], 0
je 0x485698
mov edx, dword [edi + 0x51c]
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x58], 0
mov dword [esi + 0x54], edx
cmp dword [eax], 0
jne 0x485725
mov ecx, dword [esi + 0x5c]
cmp byte [ecx], 0
jne 0x484b20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
mov edx, dword [ebx]
push edx
mov ebx, edi
call fcn.004831e0
add esp, 4
test eax, eax
jne 0x485727
cmp dword [esi + 0x50], eax
jne 0x485725
cmp dword [esi + 0x58], 5
jbe 0x485725
mov eax, dword [edi + 0x51c]
mov ecx, dword [esp + 0x24]
push edi
call fcn.004831c0
add esp, 4
test eax, eax
jne 0x485725
pop edi
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], 2
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov dword [esi + 0x48], 0
cmp dword [eax], 0
je 0x48562d
pop edi
mov dword [esi + 0x4c], 1
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 dword [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.004729f0
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 ecx, dword [esi + 0x78]
push ecx
push str.The_requested_URL_returned_error:__d
push edi
call fcn.004729f0
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0x16
pop ebx
add esp, 0xc
ret
cmp dword [edi + 0x2c8], 0
je 0x4856aa
mov dword [ebp], 1
jmp 0x4856c1
cmp dword [esi + 0xc8], 0
je 0x4856c1
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 0x4856cf
cmp ecx, eax
je 0x4856e5
push ecx
push eax
push edi
call fcn.00489ce0
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 0x4856fa
cmp dword [esi + 0x14], 0
jne 0x4856fa
mov dword [ebp], 1
jmp 0x485700
cmp dword [ebp], 0
je 0x485707
and dword [esi + 0xa8], 0xfffffffe
cmp dword [edi + 0x2d8], 0
je 0x485725
mov ecx, dword [esp + 0x24]
mov edx, dword [esi + 0x60]
push ecx
push ebx
push edx
push 1
push edi
call fcn.00472870
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret