Function at 0x1001fa30
Capabilities:
Check http status code

Disassembly:
sub esp, 0x30
mov eax, dword [esp + 0x38]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x40]
add eax, 0x52
push edi
mov dword [esp + 0x30], 0
mov edi, dword [esi + 0xc]
mov ebp, dword [esi + 0x134]
mov dword [esp + 0x10], edi
mov dword [esp + 0x20], ebp
mov ebx, dword [edi + 0x390]
lea eax, [edi + eax*4]
mov dword [esp + 0x34], eax
mov eax, dword [eax]
mov dword [esp + 0x28], eax
test ebx, ebx
je 0x100204f7
cmp dword [ebx + 0x1f0], 2
jge 0x100204f7
mov byte [edi + 0x25c], 0
lea ebx, [ebx]
cmp dword [ebx + 0x1f0], 0
jne 0x1001fc61
push dword [esp + 0x50]
lea ebp, [ebx + 0x1cc]
mov dword [esp + 0x18], 0
push dword [esp + 0x50]
mov dword [esp + 0x20], 0
push str.Establish_HTTP_proxy_tunnel_to__s:_d
push esi
call fcn.1001a630
push dword [esi + 0x128]
call dword [0x10076004]
push 0x100000
push ebp
mov dword [esi + 0x128], 0
call fcn.10011aa0
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x74]
push dword [esp + 0x74]
push edi
push esi
call fcn.10020530
add esp, 0x34
test eax, eax
jne 0x100204f9
push 1
push dword [esp + 0x18]
push eax
push str.CONNECT
push edi
push esi
call fcn.10008ab0
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x1001fc30
mov eax, dword [esp + 0x10]
mov edx, 0x100630c8
mov ecx, 0x10061429
cmp dword [eax + 0xb8], 1
mov eax, 0x100630cc
cmovne edx, eax
mov eax, dword [esi + 0xcac]
test eax, eax
cmovne ecx, eax
mov eax, 0x10061429
push ecx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
cmovne eax, ecx
push eax
push edx
push dword [esp + 0x20]
push str.CONNECT__s_HTTP__s_r_n_s_s
push ebp
call fcn.10011a40
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x1001fc22
push str.User_Agent
push dword [esp + 0x14]
push esi
call fcn.10023040
add esp, 0xc
test eax, eax
jne 0x1001fbb5
mov eax, dword [esi + 0x5bc]
test eax, eax
je 0x1001fbb5
push eax
push str.User_Agent:__s_r_n
push ebp
call fcn.10011a40
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1001fc22
push str.Proxy_Connection
push dword [esp + 0x14]
push esi
call fcn.10023040
add esp, 0xc
test eax, eax
jne 0x1001fbdf
push str.Proxy_Connection:_Keep_Alive_r_n
push ebp
call fcn.10011a10
mov edi, eax
add esp, 8
test edi, edi
jne 0x1001fc22
push ebp
push 1
push esi
call fcn.10022a60
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1001fc22
push 0x100619f4
push ebp
call fcn.10011a10
mov edi, eax
add esp, 8
test edi, edi
jne 0x1001fc22
push dword [esp + 0x48]
push eax
push eax
lea eax, [esi + 0xd20]
push eax
push esi
push ebp
call fcn.10022da0
mov edi, eax
add esp, 0x18
test edi, edi
je 0x1001fc30
push str.Failed_sending_CONNECT_to_proxy
push esi
call fcn.1001a560
add esp, 8
push dword [esp + 0x18]
call dword [0x10076004]
push dword [esp + 0x18]
call dword [0x10076004]
add esp, 8
test edi, edi
jne 0x1002034a
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
mov dword [ebx + 0x1f0], 1
push 1
push 0
push esi
call fcn.1001bb10
add esp, 0xc
test edx, edx
jl 0x1002050e
jg 0x1001fc80
test eax, eax
je 0x1002050e
push dword [esp + 0x48]
push edi
call fcn.1001aeb0
add esp, 8
test al, al
jne 0x1001fc9e
cmp dword [ebp + 0x1a0], 0
je 0x100204f7
cmp dword [ebp + 0x1a0], 1
jne 0x1001fcf4
cmp dword [ebx + 0x1dc], 0
jne 0x10020354
mov eax, dword [esi + 0x8f0]
mov dword [esi + 0x130], eax
lea eax, [esp + 0x24]
push eax
push dword [esi + 0x4ec]
push esi
call fcn.1001dbc0
add esp, 0xc
test eax, eax
jne 0x100204f9
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x1dc], eax
test eax, eax
jne 0x10020354
mov dword [ebp + 0x1a0], eax
cmp dword [ebx + 0x1e0], 0
mov dword [esp + 0x14], 0
je 0x10020247
lea esp, [esp]
lea eax, [esp + 0x1c]
push eax
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x34]
push esi
call fcn.1001a6c0
mov edi, eax
add esp, 0x14
cmp edi, 0x51
je 0x100204f7
push esi
call fcn.100262e0
add esp, 4
test eax, eax
jne 0x10020501
test edi, edi
jne 0x10020233
cmp dword [esp + 0x1c], edi
jle 0x100201cc
cmp dword [ebx + 0x1e0], 2
jne 0x1001fe02
mov ecx, dword [ebx + 0x1e8]
mov eax, ecx
mov edx, dword [ebx + 0x1ec]
or eax, edx
je 0x1001fdba
sub ecx, 1
mov dword [ebx + 0x1e8], ecx
sbb edx, edi
mov dword [ebx + 0x1ec], edx
test edx, edx
jl 0x1001fd99
jg 0x100201b5
test ecx, ecx
ja 0x100201b5
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [ebx + 0x1e0], 0
mov dword [ebx + 0x1f0], 2
jmp 0x10020249
lea eax, [esp + 0x38]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
push eax
push 1
lea eax, [esp + 0x50]
push eax
push esi
call fcn.10031ac0
add esp, 0x14
cmp eax, 0xffffffff
jne 0x100201b5
push str.chunk_reading_DONE
push esi
call fcn.1001a630
add esp, 8
mov dword [ebx + 0x1e0], 0
jmp 0x100201ab
push 1
lea eax, [esp + 0x48]
push eax
lea ebp, [ebx + 0x1bc]
push ebp
call fcn.10011a60
add esp, 0xc
test eax, eax
jne 0x100203b8
cmp byte [esp + 0x44], 0xa
jne 0x100201b5
push ebp
call fcn.10011ad0
push ebp
mov edi, eax
call fcn.10011ac0
mov ebp, eax
push ebp
push edi
push 1
push esi
call fcn.1001a4d0
add esp, 0x18
cmp byte [esi + 0x721], 0
jne 0x1001fe79
cmp byte [esi + 0x708], 0
mov ecx, 3
push ebp
mov eax, 2
cmovne eax, ecx
push edi
push eax
push esi
call fcn.1001a4b0
add esp, 0x10
test eax, eax
jne 0x100204f9
mov eax, ebp
cdq
add dword [esi + 0xd18], eax
adc dword [esi + 0xd1c], edx
mov al, byte [edi]
cmp al, 0xd
je 0x100200e1
cmp al, 0xa
je 0x100200e1
push 0x11
push edi
push str.WWW_Authenticate:
call fcn.10029dc0
add esp, 0xc
test eax, eax
je 0x1001febb
mov eax, dword [esi + 0xf0]
cmp eax, 0x191
je 0x1001fedc
push 0x13
push edi
push str.Proxy_authenticate:
call fcn.10029dc0
add esp, 0xc
test eax, eax
je 0x1001ff22
mov eax, dword [esi + 0xf0]
cmp eax, 0x197
jne 0x1001ff22
cmp eax, 0x197
push edi
sete byte [esp + 0x30]
call fcn.10023190
mov edi, eax
add esp, 4
test edi, edi
je 0x100203ab
push edi
push dword [esp + 0x30]
push esi
call fcn.10024720
push edi
mov ebp, eax
call dword [0x10076004]
add esp, 0x10
test ebp, ebp
je 0x100200cd
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x30
ret
push 0xf
push edi
push str.Content_Length:
call fcn.10029dc0
add esp, 0xc
test eax, eax
je 0x1001ffa0
mov ecx, dword [esi + 0xf0]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x1001ff75
push ecx
push str.Ignoring_Content_Length_in_CONNECT__03d_response
push esi
call fcn.1001a630
add esp, 0xc
lea eax, [ebx + 0x1bc]
push eax
call fcn.10011ae0
add esp, 4
jmp 0x100201b5
lea eax, [ebx + 0x1e8]
push eax
push 0xa
lea eax, [edi + 0xf]
push 0
push eax
call fcn.10031840
add esp, 0x10
lea eax, [ebx + 0x1bc]
push eax
call fcn.10011ae0
add esp, 4
jmp 0x100201b5
push str.close
push str.Connection:
push edi
call fcn.100230c0
add esp, 0xc
test al, al
je 0x1001ffd2
lea eax, [ebx + 0x1bc]
mov byte [ebx + 0x1f5], 1
push eax
call fcn.10011ae0
add esp, 4
jmp 0x100201b5
push 0x12
push edi
push str.Transfer_Encoding:
call fcn.10029dc0
add esp, 0xc
test eax, eax
je 0x10020073
mov ecx, dword [esi + 0xf0]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x10020029
push ecx
push str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response
push esi
call fcn.1001a630
add esp, 0xc
lea eax, [ebx + 0x1bc]
push eax
call fcn.10011ae0
add esp, 4
jmp 0x100201b5
push str.chunked
push str.Transfer_Encoding:
push edi
call fcn.100230c0
add esp, 0xc
test al, al
je 0x100200cd
push str.CONNECT_responded_chunked
push esi
call fcn.1001a630
push esi
mov byte [ebx + 0x1f4], 1
call fcn.10031a90
add esp, 0xc
lea eax, [ebx + 0x1bc]
push eax
call fcn.10011ae0
add esp, 4
jmp 0x100201b5
push str.close
push str.Proxy_Connection:
push edi
call fcn.100230c0
add esp, 0xc
test al, al
je 0x100200a5
lea eax, [ebx + 0x1bc]
mov byte [ebx + 0x1f5], 1
push eax
call fcn.10011ae0
add esp, 4
jmp 0x100201b5
lea ebp, [esi + 0xf0]
push ebp
lea eax, [esp + 0x34]
push eax
push str.HTTP_1._d__d
push edi
call fcn.10038acd
add esp, 0x10
cmp eax, 2
jne 0x100200cd
mov eax, dword [ebp]
mov dword [esi + 0xd04], eax
lea eax, [ebx + 0x1bc]
push eax
call fcn.10011ae0
add esp, 4
jmp 0x100201b5
cmp dword [esi + 0xf0], 0x197
jne 0x10020193
cmp byte [esi + 0xce9], 0
jne 0x10020193
mov edx, dword [ebx + 0x1e8]
mov eax, edx
mov ecx, dword [ebx + 0x1ec]
or eax, ecx
mov dword [ebx + 0x1e0], 2
je 0x10020139
push ecx
push edx
push str.Ignore__I64d_bytes_of_response_body
push esi
call fcn.1001a630
add esp, 0x10
cmp dword [ebx + 0x1e0], 0
jne 0x1001fd10
jmp 0x1002019d
cmp byte [ebx + 0x1f4], 0
je 0x10020193
push str.Ignore_chunked_response_body
push esi
call fcn.1001a630
lea eax, [edi + 1]
mov byte [esi + 0x13b], 1
cmp byte [eax], 0xa
cmove edi, eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x28]
push eax
push 1
lea eax, [edi + 1]
push eax
push esi
call fcn.10031ac0
add esp, 0x1c
cmp eax, 0xffffffff
jne 0x1002012a
push str.chunk_reading_DONE
push esi
call fcn.1001a630
add esp, 8
mov dword [ebx + 0x1f0], 2
mov dword [ebx + 0x1e0], 0
mov eax, dword [ebx + 0x1e8]
or eax, dword [ebx + 0x1ec]
jne 0x100201b5
mov dword [ebx + 0x1f0], 2
cmp dword [ebx + 0x1e0], 0
jne 0x1001fd10
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
jmp 0x10020249
cmp dword [esi + 0x170], 0
je 0x10020210
cmp dword [esi + 0x9a0], 0
je 0x10020210
cmp dword [esi + 0xcac], 0
je 0x10020210
mov edi, dword [esp + 0x10]
push str.Proxy_CONNECT_connection_closed
push esi
mov byte [edi + 0x25c], 1
call fcn.1001a630
mov ebp, dword [esp + 0x1c]
add esp, 8
mov dword [ebx + 0x1e0], 0
jmp 0x10020249
push str.Proxy_CONNECT_aborted
push esi
mov ebp, 1
call fcn.1001a560
mov edi, dword [esp + 0x18]
add esp, 8
mov dword [ebx + 0x1e0], 0
jmp 0x10020249
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [ebx + 0x1e0], 0
jmp 0x10020249
xor ebp, ebp
push esi
call fcn.100262e0
add esp, 4
test eax, eax
jne 0x10020501
test ebp, ebp
jne 0x100203c6
mov eax, 0x51eb851f
imul dword [esi + 0xd04]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
je 0x1002029c
push esi
call fcn.10023260
add esp, 4
test eax, eax
jne 0x100204f9
cmp byte [edi + 0x25d], al
je 0x1002029c
mov byte [ebx + 0x1f5], 1
cmp byte [ebx + 0x1f5], 0
je 0x100202b2
cmp dword [esi + 0x128], 0
jne 0x100203d3
cmp dword [esi + 0x128], 0
je 0x100203ed
cmp dword [ebx + 0x1f0], 2
jne 0x10020330
mov edi, dword [esi + 0xc]
mov eax, dword [edi + 0x298]
test dword [eax + 0x4c], 0x4000
je 0x100202ec
push dword [eax]
push str._s_cannot_be_done_over_CONNECT
push esi
call fcn.1001a560
add esp, 0xc
jmp 0x10020330
mov edi, dword [edi + 0x390]
lea eax, [edi + 0x1bc]
push eax
call fcn.10011ae0
add esp, 4
mov dword [edi + 0x1f0], 0
mov dword [edi + 0x1e0], 1
mov dword [edi + 0x1e8], 0
mov dword [edi + 0x1ec], 0
mov byte [edi + 0x1f5], 0
cmp dword [esi + 0x128], 0
je 0x100203ed
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
jmp 0x1001fa90
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
lea eax, [esp + 0x48]
push eax
push dword [ebx + 0x1dc]
push dword [esi + 0x130]
push dword [edi + 0x2b4]
push esi
call fcn.1001a980
mov ecx, eax
add esp, 0x14
test ecx, ecx
jne 0x10020391
push dword [esp + 0x48]
push dword [esi + 0x130]
push 2
push esi
call fcn.1001a4d0
add esp, 0x10
mov ecx, eax
mov eax, dword [esp + 0x48]
sub dword [ebx + 0x1dc], eax
add dword [esi + 0x130], eax
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x30
ret
push str.CONNECT_response_too_large_
push esi
call fcn.1001a560
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x38
pop ebx
add esp, 0x30
ret
mov ebp, dword [esp + 0x34]
push dword [ebp]
push edi
push esi
call fcn.1001ae30
add esp, 0xc
mov dword [ebp], 0xffffffff
jmp 0x100203f1
mov edi, dword [esp + 0x10]
mov eax, 0x51eb851f
imul dword [esi + 0xd04]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
je 0x100204a0
cmp byte [ebx + 0x1f5], 0
je 0x1002043b
cmp dword [esi + 0x128], 0
je 0x1002043b
push str.Connect_me_again_please
push esi
mov byte [edi + 0x25c], 1
call fcn.1001a630
push esi
call fcn.10020610
jmp 0x10020459
push dword [esi + 0x128]
call dword [0x10076004]
push 2
push edi
mov dword [esi + 0x128], 0
call fcn.1001af20
add esp, 0xc
mov dword [ebx + 0x1f0], 0
cmp byte [edi + 0x25c], 0
jne 0x100204f7
lea eax, [ebx + 0x1bc]
push eax
call fcn.10011a70
push dword [esi + 0xf0]
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push esi
call fcn.1001a560
add esp, 0x10
mov eax, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov dword [ebx + 0x1f0], 2
push dword [esi + 0xcac]
call dword [0x10076004]
push dword [esi + 0xd04]
mov dword [esi + 0xcac], 0
push str.Proxy_replied__d_to_CONNECT_request
push esi
mov word [esi + 0x9a4], 1
call fcn.1001a630
lea eax, [ebx + 0x1bc]
mov byte [esi + 0x13b], 0
push eax
mov byte [edi + 0x26a], 0
call fcn.10011a70
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
pop edi
pop esi
pop ebp
mov eax, 0x2a
pop ebx
add esp, 0x30
ret
push str.Proxy_CONNECT_aborted_due_to_timeout
push esi
call fcn.1001a560
add esp, 8
mov eax, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret