Function at 0x436df0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebx]
xor eax, eax
push edi
mov edi, dword [ebp + 0xc]
cmp dword [ebx + edi*4 + 0x740], 2
mov ecx, dword [ebx + edi*4 + 0x190]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
je 0x437827
mov dword [ebx + 0x400], eax
cmp dword [ebx + edi*4 + 0x740], eax
jne 0x43708f
mov edi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push edi
push edx
push str.Establish_HTTP_proxy_tunnel_to__s:_hu_n
push esi
call fcn.00417a80
mov eax, dword [esi + 0x10c]
push eax
call dword [0x5c1004]
add esp, 0x14
mov dword [esi + 0x10c], 0
call fcn.00432060
mov dword [ebp - 4], eax
test eax, eax
je 0x43768f
mov ecx, dword [ebp + 0x10]
push edi
push ecx
push str._s:_hu
call fcn.0041d0f0
add esp, 0xc
mov dword [ebp - 0x10], eax
test eax, eax
je 0x437683
push 1
mov edx, eax
push edx
push str.CONNECT
push ebx
call fcn.00431bc0
mov edi, eax
mov eax, dword [ebp - 0x10]
push eax
call dword [0x5c1004]
add esp, 0x14
test edi, edi
jne 0x43706b
cmp dword [ebx + 0xe8], 1
mov eax, 0x5a23c4
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x1c], 0x576110
je 0x436ee6
mov dword [ebp - 0x1c], 0x576114
mov edi, dword [ebp + 0x10]
mov eax, dword [ebx + 0x3c0]
cmp edi, dword [ebx + 0x98]
je 0x436f08
push 0x3a
push edi
call fcn.00545d60
add esp, 8
neg eax
sbb eax, eax
neg eax
test eax, eax
je 0x436f18
mov ecx, 0x56f410
mov eax, 0x56f3f4
jmp 0x436f1f
mov ecx, 0x5a23c4
mov eax, ecx
mov edx, dword [ebp + 0x14]
push edx
push ecx
push edi
push eax
push str._s_s_s:_hu
call fcn.0041d0f0
mov edi, eax
add esp, 0x14
mov dword [ebp - 0x20], edi
test edi, edi
je 0x43769b
push str.Host:
push ebx
call fcn.004315c0
add esp, 8
test eax, eax
jne 0x436f6b
push edi
push str.Host:__s_r_n
call fcn.0041d0f0
add esp, 8
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4376b3
push str.Proxy_Connection:
push ebx
call fcn.004315c0
add esp, 8
test eax, eax
jne 0x436f84
mov dword [ebp - 0xc], str.Proxy_Connection:_Keep_Alive_r_n
push str.User_Agent:
push ebx
call fcn.004315c0
add esp, 8
test eax, eax
jne 0x436fa7
cmp dword [esi + 0x4ac], eax
je 0x436fa7
mov eax, dword [ebx + 0x458]
mov dword [ebp - 8], eax
mov ecx, dword [ebx + 0x454]
test ecx, ecx
jne 0x436fb6
mov ecx, 0x5a23c4
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x436fc2
mov eax, 0x5a23c4
mov edx, dword [ebp - 0xc]
push edx
mov edx, dword [ebp - 8]
push edx
mov edx, dword [ebp - 4]
push ecx
mov ecx, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x1c]
push eax
push ecx
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
push edx
call fcn.00432a00
add esp, 0x20
cmp dword [ebp - 0x10], 0
mov edi, eax
je 0x436ffa
mov eax, dword [ebp - 0x10]
push eax
call dword [0x5c1004]
add esp, 4
mov ecx, dword [ebp - 0x20]
push ecx
call dword [0x5c1004]
add esp, 4
test edi, edi
jne 0x437052
mov edx, dword [ebp - 4]
push edx
push 1
push ebx
call fcn.00432b70
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x437052
mov eax, dword [ebp - 4]
push 0x56fae4
push eax
call fcn.00432a00
mov edi, eax
add esp, 8
test edi, edi
jne 0x437052
mov ecx, dword [ebp + 0xc]
push ecx
push eax
mov eax, dword [ebp - 4]
lea edx, [esi + 0x48f8]
push edx
push ebx
push eax
call fcn.004320a0
add esp, 0x14
mov edi, eax
mov dword [ebp - 4], 0
test edi, edi
je 0x43706b
push str.Failed_sending_CONNECT_to_proxy
push esi
call fcn.00417b00
add esp, 8
mov ecx, dword [ebp - 4]
push ecx
call fcn.00432070
add esp, 4
test edi, edi
jne 0x4376d2
mov edx, dword [ebp + 0xc]
mov dword [ebx + edx*4 + 0x740], 1
mov edi, edx
push 1
push 0
push esi
call fcn.0041a090
add esp, 0xc
test edx, edx
jl 0x4376db
jg 0x4370ae
test eax, eax
je 0x4376db
cmp dword [ebp + 0x18], 0
jne 0x4370c6
push edi
push ebx
call fcn.0041ac80
add esp, 8
test eax, eax
je 0x437827
mov edi, dword [esi + 0x6e4]
xor eax, eax
mov dword [ebp - 0xc], 1
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], eax
mov edi, edi
cmp dword [ebp - 0xc], 0
je 0x4375dc
push ebx
call fcn.00420aa0
add esp, 4
test eax, eax
jne 0x4376f5
mov eax, dword [esi + 0x6e4]
add eax, 0x4000
cmp dword [ebp - 4], eax
jae 0x437701
push 1
push 0
push esi
call fcn.0041a090
add esp, 0xc
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
test edx, edx
jl 0x437585
jg 0x437134
test eax, eax
jbe 0x437585
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push ecx
push 1
push edx
push eax
push ebx
call fcn.00417800
add esp, 0x14
cmp eax, 0x51
jne 0x43719b
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
jg 0x437167
jl 0x437162
cmp dword [ebp - 0x40], 0x3e8
jae 0x437167
mov eax, dword [ebp - 0x40]
jmp 0x43716e
mov eax, 0x3e8
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x24]
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
call fcn.0040b1a0
add esp, 0x14
cmp eax, 0xffffffff
je 0x437599
cmp dword [ebp - 0x10], 0x4000
jb 0x4370e0
jmp 0x4375dc
test eax, eax
jne 0x4375dc
xor ecx, ecx
cmp dword [ebp - 0x2c], ecx
jle 0x4375a0
mov eax, 1
add dword [ebp - 0x10], eax
cmp dword [ebp - 0xc], eax
jle 0x437236
mov eax, dword [ebp - 0x38]
or eax, dword [ebp - 0x34]
mov edx, dword [esi + 0x6e4]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], edx
je 0x4371f2
or eax, 0xffffffff
add dword [ebp - 0x38], eax
adc dword [ebp - 0x34], eax
js 0x4375dc
jg 0x4370e0
cmp dword [ebp - 0x38], ecx
jbe 0x4375dc
jmp 0x4370e0
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x20]
push ecx
push 1
push edx
push ebx
call fcn.00440e80
add esp, 0x10
cmp eax, 0xffffffff
jne 0x4370e0
push str.chunk_reading_DONE_n
push esi
call fcn.00417a80
mov eax, dword [ebp + 0xc]
add esp, 8
mov dword [ebp - 0xc], 0
mov dword [ebx + eax*4 + 0x740], 2
jmp 0x4370e0
mov edx, dword [ebp - 4]
add dword [ebp - 8], eax
cmp byte [edx], 0xa
je 0x437249
add dword [ebp - 4], eax
jmp 0x437189
cmp dword [esi + 0x3c4], ecx
je 0x437264
mov eax, dword [ebp - 8]
push ebx
push eax
push edi
push 1
push esi
call fcn.004179a0
add esp, 0x14
xor ecx, ecx
cmp dword [esi + 0x560], ecx
jne 0x437297
mov eax, 2
cmp dword [esi + 0x3ac], ecx
je 0x43727e
mov eax, 3
mov ecx, dword [ebp - 8]
push ecx
push edi
push eax
push ebx
call fcn.00417eb0
add esp, 0x10
test eax, eax
jne 0x437829
xor ecx, ecx
mov eax, dword [ebp - 8]
add dword [esi + 0x48f4], eax
add dword [esi + 0x80], eax
mov al, byte [edi]
cmp al, 0xd
je 0x43749e
cmp al, 0xa
je 0x43749e
mov edx, dword [ebp - 8]
push 0x11
push edi
push str.WWW_Authenticate:
mov byte [edx + edi], 0
call fcn.0041e660
add esp, 0xc
test eax, eax
je 0x4372e0
mov eax, dword [esi + 0xc8]
cmp eax, 0x191
je 0x437301
push 0x13
push edi
push str.Proxy_authenticate:
call fcn.0041e660
add esp, 0xc
test eax, eax
je 0x437346
mov eax, dword [esi + 0xc8]
cmp eax, 0x197
jne 0x437346
xor ebx, ebx
cmp eax, 0x197
push edi
sete bl
call fcn.00431630
mov edi, eax
add esp, 4
test edi, edi
je 0x43768f
mov eax, dword [ebp + 8]
push edi
push ebx
push eax
call fcn.00431cd0
push edi
mov ebx, eax
call dword [0x5c1004]
add esp, 0x10
test ebx, ebx
je 0x437486
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
push 0xf
push edi
push str.Content_Length:
call fcn.0041e660
add esp, 0xc
test eax, eax
je 0x4373a5
mov ecx, dword [esi + 0xc8]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x43738a
push ecx
push str.Ignoring_Content_Length_in_CONNECT__03d_response_n
push esi
call fcn.00417a80
add esp, 0xc
jmp 0x437486
push 0xa
push 0
add edi, 0xf
push edi
call fcn.0054660a
add esp, 0xc
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x437486
push str.close
push str.Connection:
push edi
call fcn.00432320
add esp, 0xc
test eax, eax
je 0x4373c8
mov dword [ebp - 0x14], 1
jmp 0x437486
push 0x12
push edi
push str.Transfer_Encoding:
call fcn.0041e660
add esp, 0xc
test eax, eax
je 0x437440
mov ecx, dword [esi + 0xc8]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x437409
push ecx
push str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response_n
push esi
call fcn.00417a80
add esp, 0xc
jmp 0x437486
push str.chunked
push str.Transfer_Encoding:
push edi
call fcn.00432320
add esp, 0xc
test eax, eax
je 0x437486
push str.CONNECT_responded_chunked_n
push esi
call fcn.00417a80
mov ecx, dword [ebp + 8]
push ecx
mov dword [ebp - 0x28], 1
call fcn.00440e60
add esp, 0xc
jmp 0x437486
push str.close
push str.Proxy_Connection:
push edi
call fcn.00432320
add esp, 0xc
test eax, eax
je 0x437460
mov dword [ebp - 0x14], 1
jmp 0x437486
lea ebx, [esi + 0xc8]
push ebx
lea edx, [ebp - 0x30]
push edx
push str.HTTP_1._d__d
push edi
call fcn.00545b76
add esp, 0x10
cmp eax, 2
jne 0x437486
mov eax, dword [ebx]
mov dword [esi + 0x48e4], eax
mov edi, dword [esi + 0x6e4]
mov ebx, dword [ebp + 8]
mov dword [ebp - 8], 0
mov dword [ebp - 4], edi
jmp 0x437189
cmp dword [esi + 0xc8], 0x197
mov edx, dword [esi + 0x6e4]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], edx
jne 0x43756f
cmp dword [esi + 0x480c], ecx
jne 0x43756f
mov eax, dword [ebp - 0x38]
or eax, dword [ebp - 0x34]
mov dword [ebp - 0xc], 2
je 0x4374fe
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
push ecx
push edx
push str.Ignore__I64d_bytes_of_response_body_n
push esi
call fcn.00417a80
mov eax, dword [ebp + 0xc]
add esp, 0x10
mov dword [ebx + eax*4 + 0x740], 2
jmp 0x4370e0
cmp dword [ebp - 0x28], ecx
je 0x43756f
push str.Ignore_chunked_response_body_n
push esi
call fcn.00417a80
add esp, 8
mov dword [esi + 0x100], 1
cmp byte [edi + 1], 0xa
jne 0x437522
inc edi
lea eax, [ebp - 0x2c]
push eax
push 1
lea ecx, [edi + 1]
push ecx
push ebx
call fcn.00440e80
add esp, 0x10
cmp eax, 0xffffffff
jne 0x437572
push str.chunk_reading_DONE_n
push esi
call fcn.00417a80
mov edx, dword [ebp + 0xc]
mov eax, edx
mov dword [ebx + edx*4 + 0x740], 2
add esp, 8
mov dword [ebp - 0xc], 0
mov dword [ebx + eax*4 + 0x740], 2
jmp 0x4370e0
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebx + eax*4 + 0x740], 2
jmp 0x4370e0
push str.Proxy_CONNECT_aborted_due_to_timeout
push esi
call fcn.00417b00
mov dword [ebp - 0x18], 2
jmp 0x4375d9
push str.Proxy_CONNECT_aborted_due_to_select_poll_error
jmp 0x4375cc
cmp dword [esi + 0x158], ecx
je 0x4375c7
cmp dword [esi + 0x47fc], ecx
je 0x4375c7
push str.Proxy_CONNECT_connection_closed_n
push esi
mov dword [ebx + 0x400], 1
call fcn.00417a80
jmp 0x4375d9
push str.Proxy_CONNECT_aborted
push esi
mov dword [ebp - 0x18], 1
call fcn.00417b00
add esp, 8
push ebx
call fcn.00420aa0
add esp, 4
test eax, eax
jne 0x4376f5
cmp dword [ebp - 0x18], eax
jne 0x4376e9
cmp dword [esi + 0x48e4], 0xc8
je 0x437624
push ebx
call fcn.00432820
add esp, 4
test eax, eax
jne 0x437829
cmp dword [ebx + 0x39c], eax
je 0x437624
mov dword [ebp - 0x14], 1
jmp 0x43762a
cmp dword [ebp - 0x14], 0
je 0x437637
cmp dword [esi + 0x10c], 0
jne 0x43771b
cmp dword [esi + 0x10c], 0
mov edi, dword [ebp + 0xc]
je 0x43773a
cmp dword [ebx + edi*4 + 0x740], 2
jne 0x43766c
push 0
push str.TUNNEL_STATE_switched_to:__d_n
push esi
mov dword [ebx + edi*4 + 0x740], 0
call fcn.00417a80
add esp, 0xc
cmp dword [esi + 0x10c], 0
je 0x43773a
mov edi, dword [ebp + 0xc]
xor eax, eax
jmp 0x436e33
mov ecx, dword [ebp - 4]
push ecx
call fcn.00432070
add esp, 4
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 4]
push edx
call fcn.00432070
add esp, 4
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call dword [0x5c1004]
mov eax, dword [ebp - 4]
push eax
call fcn.00432070
add esp, 8
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Proxy_CONNECT_aborted_due_to_timeout
push esi
call fcn.00417b00
add esp, 8
pop edi
pop esi
mov eax, 0x38
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0x2a
pop ebx
mov esp, ebp
pop ebp
ret
push str.CONNECT_response_too_large_
push esi
call fcn.00417b00
add esp, 8
pop edi
pop esi
mov eax, 0x38
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebx + edi*4 + 0x190]
push ecx
push ebx
call fcn.0041ab00
add esp, 8
mov dword [ebx + edi*4 + 0x190], 0xffffffff
cmp dword [esi + 0xc8], 0xc8
je 0x4377e3
cmp dword [ebp - 0x14], 0
je 0x437773
cmp dword [esi + 0x10c], 0
je 0x437773
push str.Connect_me_again_please_n
push esi
mov dword [ebx + 0x400], 1
call fcn.00417a80
add esp, 8
jmp 0x4377ae
mov edx, dword [esi + 0x10c]
push edx
call dword [0x5c1004]
push 2
push ebx
mov dword [esi + 0x10c], 0
call fcn.0041ac30
mov eax, dword [ebx + edi*4 + 0x190]
push eax
push ebx
call fcn.0041ab00
add esp, 0x14
mov dword [ebx + edi*4 + 0x190], 0xffffffff
mov dword [ebx + edi*4 + 0x740], 0
cmp dword [ebx + 0x400], 0
jne 0x437827
mov ecx, dword [esi + 0xc8]
push ecx
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push esi
call fcn.00417b00
add esp, 0xc
pop edi
pop esi
mov eax, 0x38
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx + edi*4 + 0x740], 2
mov edx, dword [ebx + 0x454]
push edx
call dword [0x5c1004]
xor edi, edi
push str.Proxy_replied_OK_to_CONNECT_request_n
mov dword [ebx + 0x454], edi
push esi
mov dword [esi + 0x4800], 1
call fcn.00417a80
mov dword [esi + 0x100], edi
add esp, 0xc
mov dword [ebx + 0x3e4], edi
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret