Function at 0x429f6f
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
and dword [esp + 0x28], 0
mov eax, edx
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x20], eax
mov esi, dword [edi + 0xc]
mov ecx, esi
mov dword [esp + 0x10], esi
mov eax, dword [esi + eax*4 + 0x150]
mov ebx, dword [esi + 0x4f8]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x134]
mov dword [esp + 0x24], eax
call fcn.00429d18
test al, al
jne 0x42a947
mov byte [esi + 0x274], al
cmp dword [ebx + 0x1f0], 0
jne 0x42a1f3
push dword [ebp + 0xc]
and dword [esp + 0x20], 0
push dword [ebp + 8]
and dword [esp + 0x20], 0
push str.Establish_HTTP_proxy_tunnel_to__s:_d
push edi
call fcn.0041d632
mov esi, dword [fcn.00450c70]
add esp, 0x10
mov ecx, esi
push dword [edi + 0x128]
call dword [0x4553fc]
call esi
mov esi, dword [esp + 0x14]
lea eax, [ebx + 0x1cc]
pop ecx
xor ecx, ecx
mov edx, esi
mov dword [edi + 0x128], ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], 0x100000
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00429ec0
add esp, 0x10
test eax, eax
jne 0x42a949
push 1
push dword [esp + 0x20]
mov edx, esi
mov ecx, edi
push eax
push str.CONNECT
call fcn.00430ca5
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42a1af
cmp dword [esi + 0xb8], 1
mov eax, 0x460990
mov edx, 0x46098c
mov esi, 0x4574ab
cmovne edx, eax
mov ecx, esi
mov eax, dword [edi + 0xcf4]
test eax, eax
cmovne ecx, eax
cmp dword [esp + 0x18], 0
push ecx
mov eax, esi
cmovne eax, dword [esp + 0x1c]
push eax
push edx
push dword [esp + 0x28]
lea eax, [ebx + 0x1cc]
push str.CONNECT__s_HTTP__s_r_n_s_s
push eax
call fcn.0041d26d
mov esi, eax
add esp, 0x18
mov dword [esp + 0x14], esi
test esi, esi
jne 0x42a1a2
mov edx, dword [esp + 0x10]
mov ecx, edi
push 0xa
push str.User_Agent
call fcn.004303f2
pop ecx
pop ecx
test eax, eax
jne 0x42a10a
mov eax, dword [edi + 0x5cc]
test eax, eax
je 0x42a10a
push eax
lea eax, [ebx + 0x1cc]
push str.User_Agent:__s_r_n
push eax
call fcn.0041d26d
mov esi, eax
add esp, 0xc
mov dword [esp + 0x14], esi
test esi, esi
jne 0x42a1a2
mov edx, dword [esp + 0x10]
mov ecx, edi
push 0x10
push str.Proxy_Connection
call fcn.004303f2
pop ecx
pop ecx
test eax, eax
jne 0x42a13f
push 0x1e
mov edx, str.Proxy_Connection:_Keep_Alive_r_n
lea ecx, [ebx + 0x1cc]
call fcn.0041d14a
mov esi, eax
mov dword [esp + 0x18], esi
pop ecx
test esi, esi
jne 0x42a1a2
lea eax, [ebx + 0x1cc]
mov dl, 1
push eax
mov ecx, edi
call fcn.0043187b
mov esi, eax
mov dword [esp + 0x18], esi
pop ecx
test esi, esi
jne 0x42a1a2
push 2
mov edx, 0x458e74
lea ecx, [ebx + 0x1cc]
call fcn.0041d14a
mov esi, eax
mov dword [esp + 0x18], esi
pop ecx
test esi, esi
jne 0x42a1a2
push dword [esp + 0x20]
mov edx, edi
lea ecx, [ebx + 0x1cc]
push eax
push eax
lea eax, [edi + 0xd90]
push eax
call fcn.00431207
and dword [ebx + 0x1e0], esi
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
je 0x42a1af
push str.Failed_sending_CONNECT_to_proxy
push edi
call fcn.0041d6ad
pop ecx
pop ecx
push dword [esp + 0x18]
mov esi, dword [fcn.00450c70]
mov ecx, esi
call dword [0x4553fc]
call esi
mov esi, dword [fcn.00450c70]
pop ecx
push dword [esp + 0x1c]
mov ecx, esi
call dword [0x4553fc]
call esi
mov eax, dword [esp + 0x18]
pop ecx
test eax, eax
jne 0x42a949
mov esi, dword [esp + 0x10]
mov dword [ebx + 0x1f0], 1
push 1
xor edx, edx
mov ecx, edi
call fcn.0041dd6c
pop ecx
test edx, edx
jl 0x42a957
jg 0x42a211
test eax, eax
je 0x42a957
mov edx, dword [esp + 0x20]
mov ecx, esi
call fcn.0041f5c0
mov ecx, dword [esp + 0x24]
test al, al
jne 0x42a231
cmp dword [ecx + 0x1a0], 0
je 0x42a947
cmp dword [ecx + 0x1a0], 1
jne 0x42a28b
mov eax, dword [ebx + 0x1dc]
test eax, eax
jne 0x42a7bc
mov eax, dword [edi + 0x908]
mov ecx, edi
mov dword [edi + 0x130], eax
lea eax, [esp + 0x2c]
mov edx, dword [edi + 0x4ec]
push eax
call fcn.0042aac7
pop ecx
test eax, eax
jne 0x42a949
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov dword [ebx + 0x1dc], eax
test eax, eax
jne 0x42a7bc
and dword [ecx + 0x1a0], eax
and dword [esp + 0x18], 0
cmp dword [ebx + 0x1e4], 0
je 0x42a338
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x13]
mov ecx, edi
push 1
push eax
call fcn.0041dbb6
mov esi, eax
add esp, 0xc
cmp esi, 0x51
je 0x42a947
mov ecx, edi
call fcn.00430211
test eax, eax
jne 0x42a950
test esi, esi
jne 0x42a32d
cmp dword [esp + 0x28], esi
jle 0x42a765
cmp dword [ebx + 0x1e4], 2
jne 0x42a40d
mov ecx, dword [ebx + 0x1e8]
mov eax, ecx
mov edx, dword [ebx + 0x1ec]
or eax, edx
je 0x42a3cc
sub ecx, 1
mov dword [ebx + 0x1e8], ecx
sbb edx, esi
mov dword [ebx + 0x1ec], edx
js 0x42a323
jg 0x42a753
test ecx, ecx
jne 0x42a753
mov dword [ebx + 0x1f0], 2
and dword [ebx + 0x1e4], 0
mov esi, dword [esp + 0x10]
mov ecx, edi
call fcn.00430211
test eax, eax
jne 0x42a950
cmp dword [esp + 0x18], eax
jne 0x42a815
mov eax, dword [edi + 0xd74]
sub eax, 0xc8
cmp eax, 0x64
jb 0x42a37f
mov ecx, edi
call fcn.00430891
test eax, eax
jne 0x42a949
cmp byte [esi + 0x276], al
je 0x42a37f
mov byte [ebx + 0x1f5], 1
cmp byte [ebx + 0x1f5], 0
je 0x42a395
cmp dword [edi + 0x128], 0
jne 0x42a81d
mov eax, dword [edi + 0x128]
test eax, eax
je 0x42a83e
cmp dword [ebx + 0x1f0], 2
jne 0x429fbf
mov dl, 1
mov ecx, edi
call fcn.00429d4a
mov eax, dword [edi + 0x128]
test eax, eax
jne 0x429fbf
jmp 0x42a83e
and dword [esp + 0x1c], 0
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x20]
mov ecx, edi
push eax
push 1
lea edx, [esp + 0x1b]
call fcn.00446c36
add esp, 0xc
cmp eax, 0xffffffff
jne 0x42a753
push str.chunk_reading_DONE
push edi
call fcn.0041d632
and dword [ebx + 0x1e4], 0
pop ecx
pop ecx
jmp 0x42a749
lea esi, [ebx + 0x1bc]
push 1
lea edx, [esp + 0x13]
mov ecx, esi
call fcn.0041d14a
pop ecx
test eax, eax
jne 0x42a808
cmp byte [esp + 0xf], 0xa
jne 0x42a753
mov eax, dword [ebx + 0x1c0]
xor edx, edx
mov esi, dword [esi]
inc edx
inc dword [ebx + 0x1e0]
mov ecx, edi
push eax
push esi
mov dword [esp + 0x24], eax
call fcn.0041dc17
cmp byte [edi + 0x736], 0
pop ecx
pop ecx
jne 0x42a495
xor edx, edx
cmp byte [edi + 0x71d], dl
push 0xa
pop eax
setne dl
cmp dword [ebx + 0x1e0], 1
push 0xe
pop ecx
cmove eax, ecx
or edx, eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x42a499
push eax
push esi
mov ecx, edi
call fcn.0041da02
pop ecx
pop ecx
test eax, eax
jne 0x42a949
mov eax, dword [esp + 0x1c]
cdq
add dword [edi + 0xd88], eax
adc dword [edi + 0xd8c], edx
mov al, byte [esi]
cmp al, 0xd
je 0x42a683
cmp al, 0xa
je 0x42a683
push 0x11
mov edx, str.WWW_Authenticate:
mov ecx, esi
call fcn.00412564
pop ecx
test eax, eax
je 0x42a4dc
mov eax, dword [edi + 0xf0]
mov dword [esp + 0x1c], eax
cmp eax, 0x191
je 0x42a500
push 0x13
mov edx, str.Proxy_authenticate:
mov ecx, esi
call fcn.00412564
pop ecx
test eax, eax
je 0x42a54c
mov eax, dword [edi + 0xf0]
mov dword [esp + 0x1c], eax
cmp eax, 0x197
jne 0x42a54c
mov ecx, esi
call fcn.0043044e
mov esi, eax
test esi, esi
je 0x42a804
cmp dword [esp + 0x1c], 0x197
mov ecx, edi
push esi
sete dl
call fcn.00430dce
pop ecx
push esi
mov esi, dword [fcn.00450c70]
mov ecx, esi
mov dword [esp + 0x20], eax
call dword [0x4553fc]
call esi
mov eax, dword [esp + 0x20]
pop ecx
test eax, eax
jne 0x42a949
jmp 0x42a673
push 0xf
mov edx, str.Content_Length:
mov ecx, esi
call fcn.00412564
pop ecx
test eax, eax
je 0x42a59e
mov ecx, dword [edi + 0xf0]
lea eax, [ecx - 0xc8]
cmp eax, 0x64
jae 0x42a584
push ecx
push str.Ignoring_Content_Length_in_CONNECT__03d_response
push edi
call fcn.0041d632
add esp, 0xc
jmp 0x42a673
lea eax, [ebx + 0x1e8]
xor edx, edx
push eax
push 0xa
lea ecx, [esi + 0xf]
call fcn.004109fa
pop ecx
pop ecx
jmp 0x42a673
push 5
push str.close
push 0xb
mov edx, str.Connection:
mov ecx, esi
call fcn.00431461
add esp, 0xc
test al, al
jne 0x42a66c
push 0x12
mov edx, str.Transfer_Encoding:
mov ecx, esi
call fcn.00412564
pop ecx
test eax, eax
je 0x42a623
mov ecx, dword [edi + 0xf0]
lea eax, [ecx - 0xc8]
cmp eax, 0x64
jae 0x42a5ea
push ecx
push str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response
jmp 0x42a576
push 7
push str.chunked
push 0x12
mov edx, str.Transfer_Encoding:
mov ecx, esi
call fcn.00431461
add esp, 0xc
test al, al
je 0x42a673
push str.CONNECT_responded_chunked
push edi
call fcn.0041d632
pop ecx
pop ecx
mov ecx, edi
mov byte [ebx + 0x1f4], 1
call fcn.00446c0e
jmp 0x42a673
push 5
push str.close
push 0x11
mov edx, str.Proxy_Connection:
mov ecx, esi
call fcn.00431461
add esp, 0xc
test al, al
jne 0x42a66c
lea eax, [edi + 0xf0]
push eax
lea eax, [esp + 0x38]
push eax
push str.HTTP_1._d__d
push esi
call fcn.00403857
add esp, 0x10
cmp eax, 2
jne 0x42a673
mov eax, dword [edi + 0xf0]
mov dword [edi + 0xd74], eax
jmp 0x42a673
mov byte [ebx + 0x1f5], 1
lea ecx, [ebx + 0x1bc]
call fcn.0041d208
jmp 0x42a753
cmp dword [edi + 0xf0], 0x197
jne 0x42a727
cmp byte [edi + 0xd31], 0
jne 0x42a727
mov ecx, dword [ebx + 0x1e8]
mov eax, ecx
mov edx, dword [ebx + 0x1ec]
or eax, edx
mov dword [ebx + 0x1e4], 2
je 0x42a6ce
push edx
push ecx
push str.Ignore__I64d_bytes_of_response_body
push edi
call fcn.0041d632
add esp, 0x10
jmp 0x42a72e
cmp byte [ebx + 0x1f4], 0
je 0x42a727
push str.Ignore_chunked_response_body
push edi
call fcn.0041d632
lea eax, [esi + 1]
mov byte [edi + 0x13f], 1
cmp byte [eax], 0xa
mov ecx, edi
cmove esi, eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x34]
push eax
push 1
lea edx, [esi + 1]
call fcn.00446c36
add esp, 0x14
cmp eax, 0xffffffff
jne 0x42a72e
push str.chunk_reading_DONE
push edi
call fcn.0041d632
pop ecx
pop ecx
mov dword [ebx + 0x1f0], 2
and dword [ebx + 0x1e4], 0
cmp dword [ebx + 0x1e4], 0
jne 0x42a29d
mov eax, dword [ebx + 0x1e8]
or eax, dword [ebx + 0x1ec]
jne 0x42a753
mov dword [ebx + 0x1f0], 2
cmp dword [ebx + 0x1e4], 0
jne 0x42a29d
jmp 0x42a334
xor eax, eax
cmp dword [edi + 0x170], eax
je 0x42a797
cmp dword [edi + 0x9c0], eax
je 0x42a797
cmp dword [edi + 0xcf4], eax
je 0x42a797
mov esi, dword [esp + 0x10]
push str.Proxy_CONNECT_connection_closed
push edi
mov byte [esi + 0x274], 1
call fcn.0041d632
jmp 0x42a7ae
push str.Proxy_CONNECT_aborted
push edi
mov dword [esp + 0x20], 1
call fcn.0041d6ad
mov esi, dword [esp + 0x18]
and dword [ebx + 0x1e4], 0
pop ecx
pop ecx
jmp 0x42a338
mov edx, dword [esi + 0x2d4]
lea ecx, [esp + 0x30]
push ecx
push eax
push dword [edi + 0x130]
mov ecx, edi
call fcn.0041d75c
mov esi, dword [esp + 0x3c]
add esp, 0xc
test eax, eax
jne 0x42a7f3
push esi
push dword [edi + 0x130]
mov ecx, edi
push 2
pop edx
call fcn.0041dc17
pop ecx
pop ecx
sub dword [ebx + 0x1dc], esi
add dword [edi + 0x130], esi
jmp 0x42a949
push 0x1b
jmp 0x42a817
push str.CONNECT_response_too_large
push edi
call fcn.0041d6ad
pop ecx
pop ecx
push 0x38
pop eax
jmp 0x42a949
mov eax, dword [esp + 0x20]
mov edx, esi
mov ecx, edi
push dword [esi + eax*4 + 0x150]
call fcn.0041f3fc
mov eax, dword [esp + 0x24]
pop ecx
or dword [esi + eax*4 + 0x150], 0xffffffff
mov eax, dword [edi + 0xd74]
sub eax, 0xc8
cmp eax, 0x64
jb 0x42a8e5
cmp byte [ebx + 0x1f5], 0
je 0x42a881
cmp dword [edi + 0x128], 0
je 0x42a881
push str.Connect_me_again_please
push edi
mov byte [esi + 0x274], 1
call fcn.0041d632
pop ecx
pop ecx
mov ecx, edi
call fcn.00429e52
jmp 0x42a8ad
push dword [edi + 0x128]
mov esi, dword [fcn.00450c70]
mov ecx, esi
call dword [0x4553fc]
call esi
mov esi, dword [esp + 0x14]
and dword [edi + 0x128], 0
pop ecx
push 2
pop edx
mov ecx, esi
call fcn.0041f57d
and dword [ebx + 0x1f0], 0
cmp byte [esi + 0x274], 0
jne 0x42a947
lea ecx, [ebx + 0x1bc]
call fcn.0041d126
push dword [edi + 0xf0]
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push edi
call fcn.0041d6ad
add esp, 0xc
jmp 0x42a815
mov esi, dword [fcn.00450c70]
mov ecx, esi
mov dword [ebx + 0x1f0], 2
push dword [edi + 0xcf4]
call dword [0x4553fc]
call esi
and dword [edi + 0xcf4], 0
pop ecx
push dword [edi + 0xd74]
mov word [edi + 0x9c4], 1
push str.Proxy_replied__d_to_CONNECT_request
push edi
call fcn.0041d632
mov eax, dword [esp + 0x1c]
lea ecx, [ebx + 0x1bc]
add esp, 0xc
mov byte [edi + 0x13f], 0
mov byte [eax + 0x281], 0
call fcn.0041d126
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x2a
jmp 0x42a817
push str.Proxy_CONNECT_aborted_due_to_timeout
push edi
call fcn.0041d6ad
pop ecx
pop ecx
push 0x1c
jmp 0x42a817