Function at 0x876550
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x28
push ebx
mov ebx, dword [esp + 0x38]
push ebp
push esi
mov eax, dword [ebx]
push edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0xd8]
lea esi, [edi + 0x88]
mov dword [esp + 0x20], eax
mov dword [esi + 0x54], eax
mov ecx, dword [ebx]
push ecx
push 0xa
push eax
call fcn.0088da70
mov ebp, dword [esp + 0x4c]
add esp, 0xc
test eax, eax
mov dword [esi + 0x58], eax
je 0x877475
mov edx, dword [esi + 0x50]
mov eax, dword [esi + 0x58]
sub edx, eax
mov eax, dword [ebx]
dec edx
add eax, edx
mov dword [ebx], eax
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x54]
inc eax
mov dword [esi + 0x50], eax
sub eax, ecx
push eax
push esi
push edi
call fcn.00877810
add esp, 0xc
test eax, eax
jne 0x8776cd
mov eax, dword [esi + 0x48]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x44]
mov ecx, dword [edi + 0xd70]
test eax, eax
mov dword [esi + 0x5c], ecx
jne 0x8765f7
mov edx, dword [esi + 0x4c]
mov eax, dword [edi + 0xd70]
push edx
push eax
push ebp
push edi
call fcn.008777a0
add esp, 0x10
cmp eax, 2
je 0x8774e2
mov eax, dword [esi + 0x5c]
mov cl, byte [eax]
cmp cl, 0xa
je 0x87702b
cmp cl, 0xd
je 0x877030
mov ecx, dword [esi + 0x44]
test ecx, ecx
lea edx, [ecx + 1]
mov dword [esi + 0x44], edx
jne 0x8768f5
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x5a8]
mov ecx, dword [edx + 0x40]
test cl, 3
je 0x876759
mov ecx, dword [esp + 0x40]
lea ebx, [esi + 0x68]
lea edx, [esp + 0x3c]
push ebx
lea ebp, [ecx + 0x3e8]
push edx
lea ecx, [esp + 0x1c]
push ebp
push ecx
push str._HTTP__1d._1d_c_3d
push eax
call fcn.0083f0f6
add esp, 0x18
cmp eax, 1
jne 0x87669a
cmp dword [esp + 0x14], 2
jl 0x877551
mov eax, dword [esi + 0x5c]
lea edx, [esp + 0x12]
push ebx
push edx
push str._HTTP__1_23___d
push eax
call fcn.0083f0f6
add esp, 0x10
cmp eax, 2
jne 0x877551
mov dword [ebp], 0
mov byte [esp + 0x3c], 0x20
jmp 0x8766aa
cmp eax, 4
jne 0x876705
cmp byte [esp + 0x3c], 0x20
jne 0x877551
mov eax, dword [esp + 0x14]
mov edx, dword [ebp]
lea ecx, [eax + eax*4]
shl ecx, 1
add edx, ecx
mov dword [ebp], edx
mov ecx, dword [esi + 0x78]
cmp ecx, 2
mov eax, edx
jne 0x8766d8
cmp eax, 0x14
je 0x8766d8
push str.Lying_server__not_serving_HTTP_2_n
push edi
call fcn.00853e70
add esp, 8
cmp dword [ebp], 0x14
jge 0x8767cc
mov edx, dword [esp + 0x40]
push str.Mark_bundle_as_not_supporting_multiuse_n
push edi
mov eax, dword [edx + 0x83c]
mov dword [eax], 0xffffffff
call fcn.00853e70
add esp, 8
jmp 0x8767cc
test eax, eax
jne 0x877551
mov ecx, dword [esi + 0x5c]
lea eax, [esi + 0x68]
push eax
push str._HTTP__3d
push ecx
call fcn.0083f0f6
mov ebx, eax
add esp, 0xc
test ebx, ebx
mov dword [ebp], 0xa
jne 0x8767cc
mov edx, dword [esi + 0x4c]
mov eax, dword [esi + 0x5c]
push edx
push eax
push edi
call fcn.008776e0
add esp, 0xc
cmp eax, 1
jne 0x8767c4
mov dword [esi + 0x68], 0xc8
mov dword [ebp], 0xa
jmp 0x8767cc
test ecx, 0x40000
je 0x877582
mov edx, dword [esp + 0x40]
lea ecx, [esi + 0x68]
push ecx
lea ecx, [esp + 0x15]
lea ebp, [edx + 0x3ec]
push ecx
lea edx, [esp + 0x20]
push ebp
push edx
push str._RTSP__1d._1d_c_3d
push eax
call fcn.0083f0f6
mov ebx, eax
add esp, 0x18
cmp ebx, 4
jne 0x877582
cmp byte [esp + 0x11], 0x20
jne 0x877582
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp]
lea eax, [eax + eax*4]
shl eax, 1
add ecx, eax
mov dword [ebp], ecx
mov ecx, dword [esp + 0x40]
lea ebp, [ecx + 0x3e8]
mov dword [ebp], 0xb
test ebx, ebx
je 0x877582
mov edx, dword [esi + 0x68]
xor ebx, ebx
mov dword [edi + 0x1058], edx
mov eax, dword [ebp]
mov dword [edi + 0x1060], eax
mov eax, dword [edi + 0xf7c]
cmp eax, ebx
je 0x8767ef
cmp eax, dword [ebp]
jle 0x8767f8
mov ecx, dword [ebp]
mov dword [edi + 0xf7c], ecx
mov edx, dword [edi + 0xf88]
mov eax, dword [edi + 0xf8c]
or edx, eax
mov edx, 1
je 0x876826
cmp dword [edi + 0x82c], edx
jne 0x876826
cmp dword [esi + 0x68], 0x1a0
jne 0x876826
mov dword [esi + 0x4e8], edx
jmp 0x876866
cmp dword [edi + 0xb6c], ebx
je 0x876866
mov eax, dword [esi + 0x68]
cmp eax, 0x190
jl 0x876866
cmp eax, 0x191
jne 0x87684b
mov ecx, dword [esp + 0x40]
cmp dword [ecx + 0x534], ebx
jne 0x876866
cmp eax, 0x197
jne 0x87756c
mov eax, dword [esp + 0x40]
cmp dword [eax + 0x538], ebx
je 0x87756c
mov ebp, dword [ebp]
cmp ebp, 0xa
jne 0x87688f
push str.HTTP_1.0__assume_close_after_body_n
push edi
call fcn.00853e70
mov ecx, dword [esp + 0x48]
push 1
push ecx
call fcn.00859fd0
add esp, 0x10
mov edx, 1
jmp 0x8768af
cmp ebp, 0x14
je 0x87689f
cmp dword [esi + 0x78], edx
jne 0x8768af
cmp dword [esi + 0x68], 0x65
jne 0x8768af
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x83c]
mov dword [eax], 2
mov eax, dword [esi + 0x68]
cmp eax, 0x64
jl 0x8768c2
cmp eax, 0xc8
jge 0x8768c2
mov ecx, edx
jmp 0x8768c4
xor ecx, ecx
sub eax, 0xcc
mov dword [esi + 0x4ec], ecx
je 0x8768e4
sub eax, 0x64
jne 0x8768f5
cmp dword [edi + 0x824], ebx
je 0x8768e4
mov dword [edi + 0x1110], edx
mov dword [esi], ebx
mov dword [esi + 8], ebx
mov dword [esi + 4], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x4ec], edx
mov eax, dword [esi + 0x4ec]
test eax, eax
jne 0x8769cb
mov eax, dword [edi + 0xbac]
test eax, eax
jne 0x8769cb
mov ecx, dword [esi + 0x5c]
push 0xf
push ecx
push str.Content_Length:
call fcn.0085aab0
add esp, 0xc
test eax, eax
je 0x8769cb
mov eax, dword [esi + 0x5c]
lea edx, [esp + 0x30]
push edx
push 0xa
add eax, 0xf
push 0
push eax
call fcn.00881850
add esp, 0x10
test eax, eax
jne 0x87698f
mov ebx, dword [edi + 0x948]
mov edx, dword [edi + 0x94c]
mov eax, dword [esp + 0x30]
mov ecx, ebx
or ecx, edx
mov ecx, dword [esp + 0x34]
je 0x876974
cmp ecx, edx
jg 0x877596
jl 0x876974
cmp eax, ebx
ja 0x877596
push ecx
push eax
mov dword [esi], eax
mov dword [esi + 8], eax
push edi
mov dword [esi + 4], ecx
mov dword [esi + 0xc], ecx
call fcn.00861510
add esp, 0xc
jmp 0x876f87
cmp eax, 1
jne 0x8775b1
mov edx, dword [edi + 0x948]
mov eax, dword [edi + 0x94c]
or edx, eax
jne 0x877596
mov ebx, dword [esp + 0x40]
push 2
push ebx
call fcn.00859fd0
push str.Overflow_Content_Length:_value__n
push edi
call fcn.00853e70
add esp, 0x10
jmp 0x876f8b
mov eax, dword [esi + 0x5c]
push 0xd
push eax
push str.Content_Type:
call fcn.0085aab0
add esp, 0xc
test eax, eax
je 0x876a27
mov ecx, dword [esi + 0x5c]
push ecx
call fcn.008730f0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x8775d6
cmp byte [ebx], 0
jne 0x876a0c
push ebx
call dword [0x8c5934]
add esp, 4
jmp 0x876f87
mov edx, dword [edi + 0x1084]
push edx
call dword [0x8c5934]
add esp, 4
mov dword [edi + 0x1084], ebx
jmp 0x876f87
mov ebx, dword [esp + 0x40]
mov ebp, 0xa
cmp dword [ebx + 0x3e8], ebp
jne 0x876a77
mov eax, dword [ebx + 0x52c]
test eax, eax
je 0x876a77
mov eax, dword [esi + 0x5c]
push str.keep_alive
push str.Proxy_Connection:
push eax
call fcn.008742d0
add esp, 0xc
test eax, eax
je 0x876a77
push 0
push ebx
call fcn.00859fd0
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push edi
call fcn.00853e70
add esp, 0x10
jmp 0x876f8b
cmp dword [ebx + 0x3e8], 0xb
jne 0x876abf
mov eax, dword [ebx + 0x52c]
test eax, eax
je 0x876abf
mov ecx, dword [esi + 0x5c]
push str.close
push str.Proxy_Connection:
push ecx
call fcn.008742d0
add esp, 0xc
test eax, eax
je 0x876abf
push 1
push ebx
call fcn.00859fd0
push str.HTTP_1.1_proxy_connection_set_close__n
push edi
call fcn.00853e70
add esp, 0x10
jmp 0x876f8b
cmp dword [ebx + 0x3e8], ebp
jne 0x876afc
mov edx, dword [esi + 0x5c]
push str.keep_alive
push str.Connection:
push edx
call fcn.008742d0
add esp, 0xc
test eax, eax
je 0x876afc
push 0
push ebx
call fcn.00859fd0
push str.HTTP_1.0_connection_set_to_keep_alive__n
push edi
call fcn.00853e70
add esp, 0x10
jmp 0x876f8b
mov eax, dword [esi + 0x5c]
push str.close
push str.Connection:
push eax
call fcn.008742d0
add esp, 0xc
test eax, eax
je 0x876b26
push 2
push ebx
call fcn.00859fd0
add esp, 8
jmp 0x876f8b
mov eax, dword [esi + 0x4ec]
test eax, eax
jne 0x876b9c
mov ecx, dword [esi + 0x5c]
push 0x12
push ecx
push str.Transfer_Encoding:
call fcn.0085aab0
add esp, 0xc
test eax, eax
je 0x876b66
mov edx, dword [esi + 0x5c]
push 1
add edx, 0x12
push edx
push ebx
call fcn.0085ad80
add esp, 0xc
test eax, eax
jne 0x8776cd
jmp 0x876f8b
mov eax, dword [esi + 0x4ec]
test eax, eax
jne 0x876b9c
mov eax, dword [esi + 0x5c]
push 0x11
push eax
push str.Content_Encoding:
call fcn.0085aab0
add esp, 0xc
test eax, eax
je 0x876b9c
mov eax, dword [edi + 0x9a0]
test eax, eax
je 0x876b9c
mov ecx, dword [esi + 0x5c]
push 0
add ecx, 0x11
push ecx
jmp 0x876b50
mov edx, dword [esi + 0x5c]
push 0xc
push edx
push str.Retry_After:
call fcn.0085aab0
add esp, 0xc
test eax, eax
je 0x876c24
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x5c]
add eax, 0xc
push eax
call fcn.008817e0
mov ebp, eax
add esp, 4
cmp ebp, 0xffffffff
jne 0x876c04
mov edx, dword [esi + 0x5c]
lea ecx, [esp + 0x28]
push ecx
push 0xa
add edx, 0xc
push 0
push edx
call fcn.00881850
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [edi + 0x1090], eax
add esp, 0x10
mov dword [edi + 0x1094], edx
jmp 0x876f8b
push 0
call fcn.0083e900
add esp, 4
sub ebp, eax
mov eax, ebp
cdq
mov dword [edi + 0x1090], eax
mov dword [edi + 0x1094], edx
jmp 0x876f8b
mov eax, dword [esi + 0x4ec]
test eax, eax
jne 0x876ce8
mov eax, dword [esi + 0x5c]
push 0xe
push eax
push str.Content_Range:
call fcn.0085aab0
add esp, 0xc
test eax, eax
je 0x876ce8
mov ebp, dword [esi + 0x5c]
add ebp, 0xe
mov al, byte [ebp]
test al, al
je 0x876c7a
and eax, 0xff
push eax
call fcn.00882b00
add esp, 4
test eax, eax
jne 0x876c7a
cmp byte [ebp], 0x2a
je 0x876c7a
mov al, byte [ebp + 1]
inc ebp
test al, al
jne 0x876c5a
xor ecx, ecx
mov cl, byte [ebp]
push ecx
call fcn.00882b00
add esp, 4
test eax, eax
je 0x876cd5
lea ebx, [esi + 0x60]
push ebx
push 0xa
push 0
push ebp
call fcn.00881850
add esp, 0x10
test eax, eax
jne 0x876f87
mov edx, dword [edi + 0xf88]
mov eax, dword [ebx]
cmp edx, eax
jne 0x876f87
mov eax, dword [edi + 0xf8c]
mov ecx, dword [ebx + 4]
cmp eax, ecx
jne 0x876f87
mov dword [esi + 0x4e0], 1
jmp 0x876f87
xor eax, eax
mov dword [edi + 0xf88], eax
mov dword [edi + 0xf8c], eax
jmp 0x876f8b
mov eax, dword [edi + 0xc2c]
test eax, eax
je 0x876d6f
mov eax, dword [edi + 0x1028]
test eax, eax
je 0x876d6f
mov ecx, dword [esi + 0x5c]
push 0xb
push ecx
push str.Set_Cookie:
call fcn.0085aab0
add esp, 0xc
test eax, eax
je 0x876d6f
push 2
push 2
push edi
call fcn.0085aad0
mov eax, dword [ebx + 0x5e4]
add esp, 0xc
test eax, eax
jne 0x876d30
mov eax, dword [ebx + 0x304]
mov edx, dword [ebx + 0x5a8]
mov ecx, dword [edx + 0x40]
mov edx, dword [edi + 0xfd8]
shr ecx, 1
and ecx, 1
push ecx
mov ecx, dword [edi + 0xc2c]
push edx
push eax
mov eax, dword [esi + 0x5c]
add eax, 0xb
push eax
push 0
push 1
push ecx
push edi
call fcn.00854b20
push 2
push edi
call fcn.0085ab20
add esp, 0x28
jmp 0x876f8b
mov eax, dword [esi + 0x4ec]
test eax, eax
jne 0x876dd2
mov edx, dword [esi + 0x5c]
push 0xe
push edx
push str.Last_Modified:
call fcn.0085aab0
add esp, 0xc
test eax, eax
je 0x876dd2
mov eax, dword [edi + 0x824]
test eax, eax
jne 0x876da4
mov eax, dword [edi + 0xb40]
test eax, eax
je 0x876dd2
mov eax, dword [esi + 0x5c]
add eax, 0xe
push eax
call fcn.008817e0
mov dword [esi + 0x80], eax
mov ecx, dword [edi + 0xb40]
add esp, 4
test ecx, ecx
je 0x876f87
mov dword [edi + 0x1064], eax
jmp 0x876f8b
mov ecx, dword [esi + 0x5c]
push 0x11
push ecx
push str.WWW_Authenticate:
call fcn.0085aab0
add esp, 0xc
test eax, eax
je 0x876df3
mov eax, dword [esi + 0x68]
cmp eax, 0x191
je 0x876e14
mov edx, dword [esi + 0x5c]
push 0x13
push edx
push str.Proxy_authenticate:
call fcn.0085aab0
add esp, 0xc
test eax, eax
je 0x876e59
mov eax, dword [esi + 0x68]
cmp eax, 0x197
jne 0x876e59
xor ebx, ebx
cmp eax, 0x197
mov eax, dword [esi + 0x5c]
push eax
sete bl
call fcn.008730f0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x8775d6
mov ecx, dword [esp + 0x40]
push ebp
push ebx
push ecx
call fcn.00873b00
push ebp
mov ebx, eax
call dword [0x8c5934]
add esp, 0x10
test ebx, ebx
jne 0x8775cc
jmp 0x876f87
mov edx, dword [esi + 0x5c]
push 0xf
push edx
push str.Persistent_Auth
call fcn.0085aab0
add esp, 0xc
test eax, eax
je 0x876ed2
cmp dword [edi + 0xdf4], 4
jne 0x876f87
mov eax, dword [esi + 0x5c]
push eax
call fcn.008730f0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x8775d6
push 5
push ebp
push str.false
call fcn.0085aab0
neg eax
sbb eax, eax
push ebp
neg eax
push eax
push str.Negotiate:_noauthpersist_____d__header_part:__s
push edi
mov dword [ebx + 0x700], eax
mov dword [ebx + 0x704], 1
call fcn.00853e70
push ebp
call dword [0x8c5934]
add esp, 0x20
jmp 0x876f8b
mov eax, dword [esi + 0x68]
cmp eax, 0x12c
jl 0x876f63
cmp eax, 0x190
jge 0x876f63
mov ecx, dword [esi + 0x5c]
push 9
push ecx
push str.Location:
call fcn.0085aab0
add esp, 0xc
test eax, eax
je 0x876f63
mov eax, dword [edi + 0x118]
test eax, eax
jne 0x876f63
mov edx, dword [esi + 0x5c]
push edx
call fcn.008730f0
add esp, 4
test eax, eax
je 0x8775d6
cmp byte [eax], 0
jne 0x876f2d
push eax
call dword [0x8c5934]
add esp, 4
jmp 0x876f8b
mov ecx, dword [edi + 0xb74]
mov dword [edi + 0x118], eax
test ecx, ecx
je 0x876f87
push eax
call dword [0x8c593c]
add esp, 4
mov dword [edi + 0x11c], eax
test eax, eax
je 0x8775d6
push ebx
call fcn.008734a0
add esp, 4
jmp 0x876b59
mov eax, dword [ebx + 0x5a8]
test dword [eax + 0x40], 0x40000
je 0x876f87
mov ecx, dword [esi + 0x5c]
push ecx
push ebx
call fcn.00863840
add esp, 8
test eax, eax
jne 0x8776cd
mov ebx, dword [esp + 0x40]
mov eax, dword [edi + 0xb80]
mov ebp, 2
test eax, eax
je 0x876f9f
mov ebp, 3
mov eax, dword [edi + 0xb94]
test eax, eax
je 0x876fbc
mov edx, dword [esi + 0x4c]
mov eax, dword [esi + 0x5c]
push edx
push eax
push 1
push edi
call fcn.00854820
add esp, 0x10
mov ecx, dword [esi + 0x4c]
mov edx, dword [esi + 0x5c]
push ecx
push edx
push ebp
push ebx
call fcn.00854460
add esp, 0x10
test eax, eax
jne 0x8776cd
mov eax, dword [esi + 0x4c]
mov ebp, dword [edi + 0x1068]
cdq
add ebp, eax
mov ecx, dword [edi + 0xa8]
mov dword [edi + 0x1068], ebp
mov ebx, dword [edi + 0x106c]
adc ebx, edx
mov dword [edi + 0x106c], ebx
mov eax, dword [esi + 0x4c]
cdq
add ecx, eax
mov dword [edi + 0xa8], ecx
mov eax, dword [edi + 0xac]
adc eax, edx
mov dword [edi + 0xac], eax
mov eax, dword [edi + 0xd70]
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], 0
jmp 0x877411
cmp cl, 0xd
jne 0x877034
inc eax
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x5c]
cmp byte [eax], 0xa
jne 0x877040
inc eax
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x68]
cmp eax, 0x64
jl 0x8770c5
cmp eax, 0xc7
jg 0x8770c5
sub eax, 0x64
je 0x877086
dec eax
je 0x87706d
mov dword [esi + 0x4dc], 1
mov dword [esi + 0x44], 0
jmp 0x877126
cmp dword [esi + 0x78], 1
je 0x877446
mov dword [esi + 0x4dc], 0
jmp 0x877126
mov eax, dword [esi + 0x74]
mov dword [esi + 0x4dc], 1
test eax, eax
mov dword [esi + 0x44], 0
jle 0x877126
mov ebx, dword [esi + 0x8c]
push 0
or ebx, 2
push edi
mov dword [esi + 0x74], 0
mov dword [esi + 0x8c], ebx
call fcn.00853cd0
add esp, 8
jmp 0x877126
mov ecx, dword [esi]
mov edx, dword [esi + 4]
and ecx, edx
mov dword [esi + 0x4dc], 0
cmp ecx, 0xffffffff
jne 0x877126
mov eax, dword [esi + 0x4f0]
test eax, eax
jne 0x877126
mov eax, dword [ebp + 0x514]
test eax, eax
jne 0x877134
cmp dword [ebp + 0x3e8], 0xb
jne 0x877126
mov edx, dword [ebp + 0x5a8]
test dword [edx + 0x40], 0x40000
jne 0x877126
cmp dword [edi + 0x82c], 6
je 0x877126
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end_n
push edi
call fcn.00853e70
push 2
push ebp
call fcn.00859fd0
add esp, 0x10
mov eax, dword [ebp + 0x514]
test eax, eax
je 0x8771ba
mov eax, dword [edi + 0xf0]
cmp eax, 0x191
jne 0x87714a
cmp dword [ebp + 0x63c], 2
je 0x87715a
cmp eax, 0x197
jne 0x877172
cmp dword [ebp + 0x640], 2
jne 0x877172
push str.Connection_closure_while_negotiating_auth__HTTP_1.0___n
push edi
call fcn.00853e70
add esp, 8
mov dword [edi + 0x1000], 1
mov eax, dword [ebp + 0x514]
test eax, eax
je 0x8771ba
mov eax, dword [edi + 0xf0]
cmp eax, 0x191
jne 0x877192
cmp dword [ebp + 0x6bc], 1
je 0x8771a2
cmp eax, 0x197
jne 0x8771ba
cmp dword [ebp + 0x6c0], 1
jne 0x8771ba
push str.Connection_closure_while_negotiating_auth__HTTP_1.0___n
push edi
call fcn.00853e70
add esp, 8
mov dword [edi + 0x1000], 1
mov ecx, dword [ebp + 0x6bc]
mov eax, 3
cmp ecx, eax
jne 0x8771df
cmp dword [edi + 0xf0], 0x191
je 0x8771df
mov dword [ebp + 0x6bc], 4
cmp dword [ebp + 0x6c0], eax
jne 0x8771fd
cmp dword [edi + 0xf0], 0x197
je 0x8771fd
mov dword [ebp + 0x6c0], 4
push ebp
call fcn.00873d90
add esp, 4
test eax, eax
jne 0x8775e3
mov eax, dword [edi + 0xb80]
mov ecx, 2
test eax, eax
je 0x877222
mov ecx, 3
mov eax, dword [edi + 0xd70]
mov ebx, dword [esi + 0x5c]
sub ebx, eax
push ebx
push eax
push ecx
push ebp
mov dword [esp + 0x34], ebx
call fcn.00854460
add esp, 0x10
test eax, eax
jne 0x8776cd
mov ecx, dword [edi + 0x1068]
mov eax, ebx
cdq
add ecx, eax
mov dword [edi + 0x1068], ecx
mov ebx, dword [edi + 0x106c]
mov ecx, dword [edi + 0xa8]
adc ebx, edx
add ecx, eax
mov dword [edi + 0x106c], ebx
mov dword [edi + 0xa8], ecx
mov ebx, dword [edi + 0xac]
adc ebx, edx
mov dword [edi + 0xac], ebx
mov eax, dword [esi + 0x68]
cmp eax, 0x64
jl 0x877299
cmp eax, 0xc7
jg 0x877299
mov eax, dword [edi + 0xa8]
mov ecx, ebx
jmp 0x87729d
xor eax, eax
xor ecx, ecx
mov dword [edi + 0xb0], eax
push ebp
mov dword [edi + 0xb4], ecx
call fcn.008731c0
xor ebx, ebx
add esp, 4
cmp eax, ebx
jne 0x8776cd
cmp dword [esi + 0x68], 0x12c
jl 0x8773f9
cmp dword [ebp + 0x554], ebx
jne 0x8773d5
cmp dword [ebp + 0x514], ebx
jne 0x8773d5
cmp dword [ebp + 0x558], ebx
jne 0x8773dd
mov eax, dword [edi + 0x82c]
cmp eax, 2
jl 0x8773d5
cmp eax, 5
jg 0x8773d5
push ebx
push edi
call fcn.00853cd0
mov eax, dword [esi + 0x4e4]
add esp, 8
cmp eax, ebx
jne 0x8773d5
cmp dword [esi + 0x68], 0x1a1
jne 0x877365
cmp dword [edi + 0x100c], ebx
je 0x877365
push str.Got_417_while_waiting_for_a_100_n
push edi
call fcn.00853e70
mov dword [edi + 0x1010], 1
mov eax, dword [ebp]
mov ecx, dword [eax + 0xc10]
push ecx
call dword [0x8c593c]
push esi
push ebp
mov dword [edi + 0x11c], eax
call fcn.0087b430
add esp, 0x14
jmp 0x8773d5
cmp dword [edi + 0xb70], ebx
je 0x877395
push str.HTTP_error_before_end_of_send__keep_sending_n
push edi
call fcn.00853e70
mov eax, dword [esi + 0x74]
add esp, 8
cmp eax, ebx
jle 0x8773d5
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x74], ebx
or al, 2
mov dword [esi + 0x8c], eax
jmp 0x8773d5
push str.HTTP_error_before_end_of_send__stop_sending_n
push edi
call fcn.00853e70
push 2
push ebp
call fcn.00859fd0
push esi
push ebp
call fcn.0087b430
add esp, 0x18
cmp eax, ebx
jne 0x8776cd
mov dword [esi + 0x4e4], 1
mov eax, dword [edi + 0x100c]
cmp eax, ebx
je 0x8773d5
mov dword [esi + 0x74], 3
cmp dword [ebp + 0x558], ebx
je 0x8773f9
push str.Keep_sending_data_to_get_tossed_away__n
push edi
call fcn.00853e70
mov eax, dword [esi + 0x8c]
add esp, 8
or al, 2
mov dword [esi + 0x8c], eax
cmp dword [esi + 0x4dc], ebx
je 0x877602
mov edx, dword [edi + 0xd70]
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x48], edx
mov eax, dword [esi + 0x50]
cmp byte [eax], 0
je 0x8776cb
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x54], eax
mov edx, dword [ecx]
push edx
push 0xa
push eax
call fcn.0088da70
add esp, 0xc
mov dword [esi + 0x58], eax
test eax, eax
je 0x877475
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
jmp 0x876595
push str.Received_101_n
push edi
call fcn.00853e70
add esp, 8
mov eax, 1
mov dword [esi + 0x78], 2
mov dword [esi + 0x4dc], eax
mov dword [esi + 0x44], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
push ecx
push esi
push edi
call fcn.00877810
add esp, 0xc
test eax, eax
jne 0x8776cd
mov eax, dword [esi + 0x44]
test eax, eax
jne 0x8776cb
mov edx, dword [esi + 0x4c]
mov eax, dword [edi + 0xd70]
mov ebx, dword [esp + 0x40]
push edx
push eax
push ebx
push edi
call fcn.008777a0
add esp, 0x10
cmp eax, 2
jne 0x8776cb
push eax
push ebx
mov dword [esi + 0x4dc], 0
mov dword [esi + 0x40], eax
call fcn.00859fd0
mov eax, dword [edi + 0xc04]
add esp, 8
test eax, eax
jne 0x8776cb
jmp 0x8774f7
push 2
push ebp
call fcn.00859fd0
mov eax, dword [edi + 0xc04]
add esp, 8
test eax, eax
jne 0x877512
push str.Received_HTTP_0.9_when_not_allowed_n
push edi
call fcn.00853f30
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov dword [esi + 0x4dc], 0
mov eax, dword [ebx]
test eax, eax
je 0x877533
mov dword [esi + 0x40], 1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esi + 0x40], 2
mov dword [ebx], ecx
mov dword [esi + 0x50], edx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret
push str.Unsupported_HTTP_version_in_response
push edi
call fcn.00853f30
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push edi
call fcn.008778e0
add esp, 4
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov dword [esi + 0x4dc], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret
push str.Maximum_file_size_exceeded
push edi
call fcn.00853f30
add esp, 8
mov eax, 0x3f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push str.Invalid_Content_Length:_value
push edi
call fcn.00853f30
add esp, 8
mov eax, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x28
ret
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x28
ret
mov eax, dword [esi + 0x68]
push eax
push str.The_requested_URL_returned_error:__d
push edi
call fcn.00853f30
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov eax, dword [edi + 0xb8c]
mov ebx, dword [esp + 0x48]
test eax, eax
je 0x87761b
mov dword [ebx], 1
or edx, 0xffffffff
jmp 0x877663
mov ecx, dword [ebp + 0x5a8]
test dword [ecx + 0x40], 0x40000
je 0x87764b
cmp dword [edi + 0xac4], 2
jne 0x87764b
mov eax, dword [esi + 4]
or edx, 0xffffffff
cmp eax, edx
jg 0x87764e
jl 0x877643
cmp dword [esi], edx
ja 0x87764e
mov dword [ebx], 1
jmp 0x877663
or edx, 0xffffffff
mov eax, dword [esi + 0x4f0]
test eax, eax
je 0x877663
mov dword [esi], edx
mov dword [esi + 8], edx
mov dword [esi + 4], edx
mov dword [esi + 0xc], edx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, edx
jne 0x877670
cmp ecx, edx
je 0x877686
push ecx
push eax
push edi
call fcn.00861510
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov dword [esi + 8], edx
add esp, 0xc
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
test eax, eax
jne 0x87769a
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x87769a
mov dword [ebx], 1
cmp dword [ebx], 0
je 0x8776ad
mov eax, dword [esi + 0x8c]
and al, 0xfe
mov dword [esi + 0x8c], eax
mov eax, dword [edi + 0xb94]
test eax, eax
je 0x8776cb
mov ecx, dword [esp + 0x24]
mov edx, dword [esi + 0x54]
push ecx
push edx
push 1
push edi
call fcn.00854820
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret