Function at 0x1007ce20
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
mov ebx, dword [ebp + 8]
xorps xmm0, xmm0
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, dword [ebx]
mov dword [ebp - 0x40], 0
movlpd qword [ebp - 0x3c], xmm0
lea eax, [edi + 0x68]
mov byte [ebp - 1], 0
lea eax, [ebx + eax*4]
mov byte [ebp - 2], 0
lea ecx, [edi + 0x145]
mov dword [ebp - 0x34], eax
cmp dword [ebx + ecx*4], 2
lea ecx, [ebx + ecx*4]
mov eax, dword [ebx + edi*4 + 0x1a0]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], ecx
je 0x1007d81f
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x3c]
mov byte [ebx + 0x29e], 0
mov dword [ebp - 0x20], eax
nop dword [eax + eax]
cmp dword [ecx], 0
jne 0x1007d0d9
push dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
push edi
push str.Establish_HTTP_proxy_tunnel_to__s:_hu_n
push esi
call fcn.1005af90
push dword [esi + 0x104]
call dword [0x101c3004]
add esp, 0x14
mov dword [esi + 0x104], 0
call fcn.1005f450
mov ebx, eax
test ebx, ebx
je 0x1007d6cb
push dword [ebp + 0x14]
push edi
push str._s:_hu
call fcn.10065c80
add esp, 0xc
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1007d6c2
push 1
push eax
push str.CONNECT
push dword [ebp + 8]
call fcn.1005ff90
push dword [ebp - 0x28]
mov edi, eax
call dword [0x101c3004]
add esp, 0x14
test edi, edi
jne 0x1007d0b9
mov edx, dword [ebp + 8]
mov ecx, 0x1016ac4c
mov eax, 0x1016ac50
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], 0x10169756
cmp dword [edx + 0xf8], 1
cmovne eax, ecx
mov cl, byte [edx + 0x28e]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x10]
cmp eax, dword [edx + 0x98]
je 0x1007cf5a
push 0x3a
push eax
call fcn.100865f0
add esp, 8
test eax, eax
setne cl
push dword [ebp + 0x14]
test cl, cl
mov edx, 0x10169756
mov eax, 0x1016a21c
cmove eax, edx
push eax
push dword [ebp + 0x10]
mov eax, 0x1016a220
cmove eax, edx
push eax
push str._s_s_s:_hu
call fcn.10065c80
add esp, 0x14
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1007d6c2
push str.Host:
push dword [ebp + 8]
call fcn.1005f9c0
add esp, 8
test eax, eax
jne 0x1007cfc2
push dword [ebp - 0x28]
push str.Host:__s_r_n
call fcn.10065c80
mov edi, eax
add esp, 8
mov dword [ebp - 0x18], edi
test edi, edi
je 0x1007d6a4
push str.Proxy_Connection:
push dword [ebp + 8]
call fcn.1005f9c0
test eax, eax
mov ecx, str.Proxy_Connection:_Keep_Alive_r_n
mov eax, 0x10169756
push str.User_Agent:
push dword [ebp + 8]
cmovne ecx, eax
mov dword [ebp - 0x14], ecx
call fcn.1005f9c0
add esp, 0x10
test eax, eax
jne 0x1007d009
cmp dword [esi + 0x408], eax
je 0x1007d009
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2d8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov edx, 0x10169756
push dword [ebp - 0x14]
mov ecx, edx
push dword [ebp - 0x1c]
mov eax, dword [eax + 0x2d4]
test eax, eax
cmovne ecx, eax
mov eax, edx
push ecx
test edi, edi
cmovne eax, edi
push eax
push dword [ebp - 8]
push dword [ebp - 0x28]
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
push ebx
call fcn.1005f620
mov edi, eax
add esp, 0x20
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x1007d054
push eax
call dword [0x101c3004]
add esp, 4
push dword [ebp - 0x28]
call dword [0x101c3004]
add esp, 4
test edi, edi
jne 0x1007d0a5
push ebx
push 1
push dword [ebp + 8]
call fcn.1005f690
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1007d0a5
push 0x10169ef8
push ebx
call fcn.1005f620
mov edi, eax
add esp, 8
test edi, edi
jne 0x1007d0a5
push dword [ebp + 0xc]
push eax
lea eax, [esi + 0x479c]
push eax
push dword [ebp + 8]
push ebx
call fcn.1005f460
add esp, 0x14
mov edi, eax
xor ebx, ebx
test edi, edi
je 0x1007d0b9
push str.Failed_sending_CONNECT_to_proxy
push esi
call fcn.1005aee0
add esp, 8
push ebx
call fcn.1005f420
add esp, 4
test edi, edi
jne 0x1007d377
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [eax], 1
push 1
push 0
push esi
call fcn.1005bf80
add esp, 0xc
test edx, edx
jl 0x1007d828
jg 0x1007d0f8
test eax, eax
je 0x1007d828
cmp byte [ebp + 0x18], 0
jne 0x1007d110
push edi
push ebx
call fcn.1005b6e0
add esp, 8
test al, al
je 0x1007d81f
mov edi, dword [esi + 0x62c]
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], ecx
nop dword [eax]
test ecx, ecx
je 0x1007d5be
push ebx
call fcn.10063d70
add esp, 4
test eax, eax
jne 0x1007d721
mov eax, dword [esi + 0x62c]
add eax, 0x4000
cmp edi, eax
jae 0x1007d717
push 1
push 0
push esi
call fcn.1005bf80
mov ebx, edx
add esp, 0xc
mov edi, eax
test ebx, ebx
jl 0x1007d620
jg 0x1007d17f
test edi, edi
je 0x1007d620
lea eax, [ebp - 0x30]
push eax
push 1
push dword [ebp - 0x14]
push dword [ebp - 0x2c]
push dword [ebp + 8]
call fcn.1005b010
add esp, 0x14
cmp eax, 0x51
jne 0x1007d1d2
test ebx, ebx
jg 0x1007d1a9
jl 0x1007d1b0
cmp edi, 0x3e8
jb 0x1007d1b0
mov edi, 0x3e8
xor ebx, ebx
push ebx
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x2c]
call fcn.1005a800
add esp, 0x14
cmp eax, 0xffffffff
je 0x1007d579
mov edi, dword [ebp - 0x14]
jmp 0x1007d47e
test eax, eax
jne 0x1007d63b
cmp dword [ebp - 0x30], eax
jle 0x1007d594
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
inc edx
mov dword [ebp - 0x18], edx
cmp ecx, 1
jle 0x1007d276
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x24]
mov edi, dword [esi + 0x62c]
mov dword [ebp - 0x18], eax
mov eax, edx
or eax, ebx
mov dword [ebp - 0x14], edi
je 0x1007d232
add edx, 0xffffffff
mov dword [ebp - 0x20], edx
adc ebx, 0xffffffff
mov dword [ebp - 0x24], ebx
js 0x1007d63b
jg 0x1007d22a
test edx, edx
je 0x1007d643
mov ebx, dword [ebp + 8]
jmp 0x1007d130
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x38]
push eax
push 1
push edi
push ebx
mov dword [ebp - 0x38], 0
call fcn.1007eba0
mov ecx, dword [ebp - 8]
add esp, 0x10
cmp eax, 0xffffffff
jne 0x1007d130
push str.chunk_reading_DONE_n
push esi
call fcn.1005af90
mov eax, dword [ebp - 0x10]
add esp, 8
xor ecx, ecx
mov dword [eax], 2
jmp 0x1007d129
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp byte [edi], 0xa
je 0x1007d28e
inc edi
mov dword [ebp - 0x14], edi
jmp 0x1007d481
cmp byte [esi + 0x348], 0
mov ebx, dword [ebp - 0x28]
je 0x1007d2ad
push dword [ebp + 8]
push ecx
push ebx
push 1
push esi
call fcn.1005ae00
mov ecx, dword [ebp - 0x1c]
add esp, 0x14
xor eax, eax
cmp byte [esi + 0x33d], al
push ecx
setne al
push ebx
add eax, 2
push eax
push dword [ebp + 8]
call fcn.1005add0
mov ecx, dword [ebp - 0x1c]
add esp, 0x10
add dword [esi + 0x4798], ecx
add dword [esi + 0x80], ecx
test eax, eax
jne 0x1007d83b
mov al, byte [ebx]
cmp al, 0xd
je 0x1007d498
cmp al, 0xa
je 0x1007d498
push 0x11
push ebx
push str.WWW_Authenticate:
mov byte [ecx + ebx], 0
call fcn.10065220
add esp, 0xc
test eax, eax
je 0x1007d318
mov edi, dword [esi + 0xc8]
cmp edi, 0x191
je 0x1007d33a
push 0x13
push ebx
push str.Proxy_authenticate:
call fcn.10065220
add esp, 0xc
test eax, eax
je 0x1007d380
mov edi, dword [esi + 0xc8]
cmp edi, 0x197
jne 0x1007d380
push ebx
call fcn.1005fb50
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x1007d6cb
cmp edi, 0x197
push ebx
sete al
movzx eax, al
push eax
push dword [ebp + 8]
call fcn.1005fdf0
push ebx
mov edi, eax
call dword [0x101c3004]
add esp, 0x10
test edi, edi
je 0x1007d46d
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xf
push ebx
push str.Content_Length:
call fcn.10065220
add esp, 0xc
test eax, eax
je 0x1007d3c3
mov eax, dword [esi + 0xc8]
sub eax, 0xc8
cmp eax, 0x64
jb 0x1007d6d7
push 0xa
lea eax, [ebx + 0xf]
push 0
push eax
call fcn.100934a1
add esp, 0xc
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], edx
jmp 0x1007d46d
push str.close
push str.Connection:
push ebx
call fcn.1005fa80
add esp, 0xc
test al, al
je 0x1007d3e3
mov byte [ebp - 1], 1
jmp 0x1007d46d
push str.chunked
push str.Transfer_Encoding:
push ebx
call fcn.1005fa80
add esp, 0xc
test al, al
je 0x1007d42a
mov eax, dword [esi + 0xc8]
sub eax, 0xc8
cmp eax, 0x64
jb 0x1007d6f7
push str.CONNECT_responded_chunked_n
push esi
call fcn.1005af90
push dword [ebp + 8]
mov byte [ebp - 2], 1
call fcn.1007eb80
add esp, 0xc
jmp 0x1007d46d
push str.close
push str.Proxy_Connection:
push ebx
call fcn.1005fa80
add esp, 0xc
test al, al
je 0x1007d447
mov byte [ebp - 1], 1
jmp 0x1007d46d
lea edi, [esi + 0xc8]
push edi
lea eax, [ebp - 0x40]
push eax
push str.HTTP_1._d__d
push ebx
call fcn.10050bb0
add esp, 0x10
cmp eax, 2
jne 0x1007d46d
mov eax, dword [edi]
mov dword [esi + 0x4788], eax
mov edi, dword [esi + 0x62c]
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x28], edi
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp + 8]
cmp edx, 0x4000
jae 0x1007d5be
mov ecx, dword [ebp - 8]
jmp 0x1007d130
mov edi, dword [esi + 0x62c]
xor eax, eax
cmp dword [esi + 0xc8], 0x197
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edi
jne 0x1007d563
cmp byte [esi + 0x46d8], al
jne 0x1007d563
mov edx, dword [ebp - 0x20]
mov eax, edx
mov ecx, dword [ebp - 0x24]
or eax, ecx
mov dword [ebp - 8], 2
je 0x1007d4f9
push ecx
push edx
push str.Ignore__I64d_bytes_of_response_body_n
push esi
call fcn.1005af90
mov eax, dword [ebp - 0x10]
add esp, 0x10
mov ecx, dword [ebp - 8]
mov ebx, dword [ebp + 8]
mov dword [eax], 2
jmp 0x1007d130
cmp byte [ebp - 2], 0
je 0x1007d563
push str.Ignore_chunked_response_body_n
push esi
call fcn.1005af90
lea eax, [ebx + 1]
mov byte [esi + 0xfd], 1
cmp byte [eax], 0xa
lea ecx, [ebp - 0x30]
push ecx
cmovne eax, ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x28], eax
inc eax
push 1
push eax
push ebx
call fcn.1007eba0
add esp, 0x18
cmp eax, 0xffffffff
jne 0x1007d552
push str.chunk_reading_DONE_n
push esi
call fcn.1005af90
add esp, 8
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 2
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
mov dword [eax], 2
jmp 0x1007d130
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov ebx, dword [ebp + 8]
mov dword [ebp - 8], ecx
mov dword [eax], 2
jmp 0x1007d130
push str.Proxy_CONNECT_aborted_due_to_select_poll_error
mov edi, 1
push esi
mov dword [ebp - 0xc], edi
call fcn.1005aee0
mov ebx, dword [ebp + 8]
add esp, 8
jmp 0x1007d5c1
cmp dword [esi + 0x140], 0
je 0x1007d605
cmp dword [esi + 0x46d0], 0
je 0x1007d605
mov ebx, dword [ebp + 8]
push str.Proxy_CONNECT_connection_closed_n
push esi
mov byte [ebx + 0x29e], 1
call fcn.1005af90
add esp, 8
mov edi, dword [ebp - 0xc]
push ebx
call fcn.10063d70
add esp, 4
test eax, eax
jne 0x1007d721
test edi, edi
jne 0x1007d6eb
cmp dword [esi + 0x4788], 0xc8
je 0x1007d64e
push ebx
call fcn.1005fc20
add esp, 4
test eax, eax
jne 0x1007d83b
cmp byte [ebx + 0x285], al
je 0x1007d64e
mov byte [ebp - 1], 1
jmp 0x1007d654
push str.Proxy_CONNECT_aborted
mov edi, 1
push esi
mov dword [ebp - 0xc], edi
call fcn.1005aee0
mov ebx, dword [ebp + 8]
add esp, 8
jmp 0x1007d5c1
push str.Proxy_CONNECT_aborted_due_to_timeout
push esi
call fcn.1005aee0
mov ebx, dword [ebp + 8]
mov edi, 2
add esp, 8
mov dword [ebp - 0xc], edi
jmp 0x1007d5c1
mov ebx, dword [ebp + 8]
jmp 0x1007d5be
mov edi, dword [ebp - 0xc]
mov ebx, dword [ebp + 8]
jmp 0x1007d5c1
cmp byte [ebp - 1], 0
je 0x1007d661
cmp dword [esi + 0x104], 0
jne 0x1007d72d
cmp dword [esi + 0x104], 0
mov ecx, dword [ebp - 0x10]
je 0x1007d743
cmp dword [ecx], 2
jne 0x1007d68f
push 0
push str.TUNNEL_STATE_switched_to:__d_n
push esi
mov dword [ecx], 0
call fcn.1005af90
mov ecx, dword [ebp - 0x10]
add esp, 0xc
cmp dword [esi + 0x104], 0
je 0x1007d743
mov edi, dword [ebp + 0xc]
jmp 0x1007ce90
push dword [ebp - 0x28]
call dword [0x101c3004]
push ebx
call fcn.1005f420
add esp, 8
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
call fcn.1005f420
add esp, 4
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esi + 0xc8]
push str.Content_Length:_in__03d_response
push esi
call fcn.1005aee0
add esp, 0xc
pop edi
pop esi
mov eax, 0x38
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esi + 0xc8]
push str.Transfer_Encoding:_in__03d_response
push esi
call fcn.1005aee0
add esp, 0xc
mov eax, 0x38
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.CONNECT_response_too_large_
jmp 0x1007d82d
pop edi
pop esi
mov eax, 0x2a
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x34]
push dword [edi]
push ebx
call fcn.1005b680
add esp, 8
mov dword [edi], 0xffffffff
jmp 0x1007d746
mov edi, dword [ebp - 0x34]
cmp dword [esi + 0xc8], 0xc8
je 0x1007d7dd
cmp byte [ebp - 1], 0
je 0x1007d77c
cmp dword [esi + 0x104], 0
je 0x1007d77c
push str.Connect_me_again_please_n
push esi
mov byte [ebx + 0x29e], 1
call fcn.1005af90
add esp, 8
jmp 0x1007d7ab
push dword [esi + 0x104]
call dword [0x101c3004]
push 2
push ebx
mov dword [esi + 0x104], 0
call fcn.1005b790
push dword [edi]
push ebx
call fcn.1005b680
add esp, 0x14
mov dword [edi], 0xffffffff
mov eax, dword [ebp - 0x10]
mov dword [eax], 0
cmp byte [ebx + 0x29e], 0
jne 0x1007d81f
push dword [esi + 0xc8]
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push esi
call fcn.1005aee0
add esp, 0xc
mov eax, 0x38
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x10]
mov dword [eax], 2
push dword [ebx + 0x2d4]
call dword [0x101c3004]
push str.Proxy_replied_OK_to_CONNECT_request_n
mov dword [ebx + 0x2d4], 0
push esi
mov byte [esi + 0x46d4], 1
call fcn.1005af90
mov byte [esi + 0xfd], 0
add esp, 0xc
mov byte [ebx + 0x297], 0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push str.Proxy_CONNECT_aborted_due_to_timeout
push esi
call fcn.1005aee0
mov eax, 0x38
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret