Function at 0x4dd180
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
add eax, 0x4c
push edi
mov dword [ebp - 0x24], 0
mov edi, dword [esi + 0xc]
mov dword [ebp - 4], edi
mov ebx, dword [edi + 0x2fc]
lea eax, [edi + eax*4]
mov dword [ebp - 0x18], eax
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x134]
mov dword [ebp - 0xc], eax
test ebx, ebx
je 0x4ddc8f
cmp dword [ebx + 0x1f0], 2
jge 0x4ddc8f
mov byte [edi + 0x244], 0
nop word [eax + eax]
cmp dword [ebx + 0x1f0], 0
jne 0x4dd439
push dword [ebp + 0x14]
lea edi, [ebx + 0x1cc]
push dword [ebp + 0x10]
push str.Establish_HTTP_proxy_tunnel_to__s:_d
push esi
call fcn.004cde30
push dword [esi + 0x128]
call dword [0x68dc20]
push 0x100000
push edi
mov dword [esi + 0x128], 0
call fcn.004c49d0
mov eax, dword [ebp - 4]
add esp, 0x1c
mov edi, dword [ebp + 0x10]
mov dword [ebp - 8], 0
mov cl, byte [eax + 0x24b]
cmp edi, dword [eax + 0x5c]
je 0x4dd250
push 0x3a
push edi
call fcn.005d6ec0
add esp, 8
test eax, eax
setne cl
push dword [ebp + 0x14]
test cl, cl
mov edx, 0x5ff700
mov eax, 0x605708
cmove eax, edx
push eax
mov eax, 0x605700
push edi
cmove eax, edx
push eax
push str._s_s_s:_d
call fcn.004bd620
mov edi, eax
add esp, 0x14
mov dword [ebp - 0x10], edi
test edi, edi
je 0x4ddb05
push 4
push str.Host
push dword [ebp - 4]
push esi
call fcn.004d6150
add esp, 0x10
test eax, eax
jne 0x4dd2b7
push edi
push str.Host:__s_r_n
call fcn.004bd620
add esp, 8
mov dword [ebp - 8], eax
test eax, eax
je 0x4ddafb
push 1
push edi
push 0
push str.CONNECT
push dword [ebp - 4]
push esi
call fcn.004d7f30
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x4dd40f
mov eax, dword [ebp - 4]
mov edx, 0x61235c
mov edi, 0x5ff700
mov ecx, edi
cmp byte [eax + 0xb0], 1
mov eax, 0x612358
cmovne edx, eax
mov eax, dword [esi + 0xcac]
test eax, eax
cmovne ecx, eax
mov eax, edi
push ecx
mov ecx, dword [ebp - 8]
test ecx, ecx
cmovne eax, ecx
push eax
push edx
push dword [ebp - 0x10]
lea eax, [ebx + 0x1cc]
push str.CONNECT__s_HTTP__s_r_n_s_s
push eax
call fcn.004c4970
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x4dd401
push 0xa
push str.User_Agent
push dword [ebp - 4]
push esi
call fcn.004d6150
add esp, 0x10
test eax, eax
jne 0x4dd36e
mov eax, dword [esi + 0x580]
test eax, eax
je 0x4dd36e
push eax
lea eax, [ebx + 0x1cc]
push str.User_Agent:__s_r_n
push eax
call fcn.004c4970
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4dd401
push 0x10
push str.Proxy_Connection
push dword [ebp - 4]
push esi
call fcn.004d6150
add esp, 0x10
test eax, eax
jne 0x4dd3a1
push 0x1e
lea eax, [ebx + 0x1cc]
push str.Proxy_Connection:_Keep_Alive_r_n
push eax
call fcn.004c4990
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4dd401
lea eax, [ebx + 0x1cc]
push eax
push 1
push esi
call fcn.004d5b70
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4dd401
push 2
lea eax, [ebx + 0x1cc]
push 0x60432c
push eax
call fcn.004c4990
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4dd401
push dword [ebp + 0xc]
push eax
push eax
lea eax, [esi + 0xd18]
push eax
lea eax, [ebx + 0x1cc]
push esi
push eax
call fcn.004d5ed0
mov edi, eax
mov dword [ebx + 0x1e0], 0
add esp, 0x18
test edi, edi
je 0x4dd40f
push str.Failed_sending_CONNECT_to_proxy
push esi
call fcn.004cdd90
add esp, 8
push dword [ebp - 8]
call dword [0x68dc20]
push dword [ebp - 0x10]
call dword [0x68dc20]
add esp, 8
test edi, edi
jne 0x4ddb54
mov edi, dword [ebp - 4]
mov dword [ebx + 0x1f0], 1
push 1
push 0
push esi
call fcn.004cf150
add esp, 0xc
test edx, edx
jl 0x4ddca4
jg 0x4dd458
test eax, eax
je 0x4ddca4
push dword [ebp + 0xc]
push edi
call fcn.004ce780
mov ecx, dword [ebp - 0xc]
add esp, 8
test al, al
jne 0x4dd478
cmp dword [ecx + 0x1a0], 0
je 0x4ddc8f
cmp dword [ecx + 0x1a0], 1
jne 0x4dd4d0
mov eax, dword [ebx + 0x1dc]
test eax, eax
jne 0x4ddb11
mov eax, dword [esi + 0x898]
mov dword [esi + 0x130], eax
lea eax, [ebp - 0x1c]
push eax
push dword [esi + 0x4b8]
push esi
call fcn.004d9940
add esp, 0xc
test eax, eax
jne 0x4ddc91
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0x1dc], eax
test eax, eax
jne 0x4ddb11
mov dword [ecx + 0x1a0], eax
cmp dword [ebx + 0x1e4], 0
mov dword [ebp - 8], 0
je 0x4dd57e
lea eax, [ebp - 0x14]
push eax
push 1
lea eax, [ebp + 0xb]
push eax
push dword [ebp - 0x20]
push esi
call fcn.004cde90
mov edi, eax
add esp, 0x14
cmp edi, 0x51
je 0x4ddc8f
push esi
call fcn.004dbe00
add esp, 4
test eax, eax
jne 0x4ddc98
test edi, edi
jne 0x4dd571
cmp dword [ebp - 0x14], edi
jle 0x4dda39
cmp dword [ebx + 0x1e4], 2
jne 0x4dd667
mov ecx, dword [ebx + 0x1e8]
mov eax, ecx
mov edx, dword [ebx + 0x1ec]
or eax, edx
je 0x4dd623
sub ecx, 1
mov dword [ebx + 0x1e8], ecx
sbb edx, edi
mov dword [ebx + 0x1ec], edx
js 0x4dd567
jg 0x4dda27
test ecx, ecx
jne 0x4dda27
mov dword [ebx + 0x1f0], 2
mov dword [ebx + 0x1e4], 0
mov edi, dword [ebp - 4]
push esi
call fcn.004dbe00
add esp, 4
test eax, eax
jne 0x4ddc98
cmp dword [ebp - 8], eax
jne 0x4ddb6b
mov eax, dword [esi + 0xcfc]
sub eax, 0xc8
cmp eax, 0x64
jb 0x4dd5c8
push esi
call fcn.004d6330
add esp, 4
test eax, eax
jne 0x4ddc91
cmp byte [edi + 0x246], al
je 0x4dd5c8
mov byte [ebx + 0x1f5], 1
cmp byte [ebx + 0x1f5], 0
je 0x4dd5de
cmp dword [esi + 0x128], 0
jne 0x4ddb77
cmp dword [esi + 0x128], 0
je 0x4ddb91
cmp dword [ebx + 0x1f0], 2
jne 0x4ddae6
mov edi, dword [esi + 0xc]
mov eax, dword [edi + 0x280]
test dword [eax + 0x4c], 0x4000
je 0x4ddaa2
push dword [eax]
push str._s_cannot_be_done_over_CONNECT
push esi
call fcn.004cdd90
add esp, 0xc
jmp 0x4ddae6
lea eax, [ebp - 0x28]
mov dword [ebp - 0x10], 0
push eax
lea eax, [ebp - 0x10]
push eax
push 1
lea eax, [ebp + 0xb]
push eax
push esi
call fcn.004e99c0
add esp, 0x14
cmp eax, 0xffffffff
jne 0x4dda27
push str.chunk_reading_DONE
push esi
call fcn.004cde30
add esp, 8
mov dword [ebx + 0x1e4], 0
jmp 0x4dda1d
push 1
lea eax, [ebp + 0xb]
push eax
lea edi, [ebx + 0x1bc]
push edi
call fcn.004c4990
add esp, 0xc
test eax, eax
jne 0x4ddb5d
cmp byte [ebp + 0xb], 0xa
jne 0x4dda27
inc dword [ebx + 0x1e0]
push edi
call fcn.00493890
mov edi, eax
lea eax, [ebx + 0x1bc]
push eax
call fcn.00493880
push eax
push edi
push 1
push esi
mov dword [ebp - 0x10], eax
call fcn.004cdd00
add esp, 0x18
cmp byte [esi + 0x6c0], 0
jne 0x4dd6f7
push dword [ebp - 0x10]
xor ecx, ecx
cmp byte [esi + 0x6a9], cl
push edi
setne cl
xor eax, eax
cmp dword [ebx + 0x1e0], 1
sete al
lea eax, [eax*4 + 0xa]
or ecx, eax
push ecx
push esi
call fcn.004cdcf0
add esp, 0x10
test eax, eax
jne 0x4ddc91
mov eax, dword [ebp - 0x10]
cdq
add dword [esi + 0xd10], eax
adc dword [esi + 0xd14], edx
mov al, byte [edi]
cmp al, 0xd
je 0x4dd955
cmp al, 0xa
je 0x4dd955
push 0x11
push str.WWW_Authenticate:
push edi
call fcn.004d1d90
add esp, 0xc
test eax, eax
je 0x4dd73d
mov eax, dword [esi + 0xf0]
mov dword [ebp - 0x10], eax
cmp eax, 0x191
je 0x4dd761
push 0x13
push str.Proxy_authenticate:
push edi
call fcn.004d1d90
add esp, 0xc
test eax, eax
je 0x4dd7b5
mov eax, dword [esi + 0xf0]
mov dword [ebp - 0x10], eax
cmp eax, 0x197
jne 0x4dd7b5
push edi
call fcn.004d6260
mov edi, eax
add esp, 4
test edi, edi
je 0x4ddb05
cmp dword [ebp - 0x10], 0x197
push edi
sete cl
movzx ecx, cl
push ecx
push esi
call fcn.004d7c50
push edi
mov dword [ebp - 0x10], eax
call dword [0x68dc20]
mov eax, dword [ebp - 0x10]
add esp, 0x10
test eax, eax
jne 0x4ddc91
lea eax, [ebx + 0x1bc]
push eax
call fcn.004c4a00
add esp, 4
jmp 0x4dda27
push 0xf
push str.Content_Length:
push edi
call fcn.004d1d90
add esp, 0xc
test eax, eax
je 0x4dd828
mov ecx, dword [esi + 0xf0]
lea eax, [ecx - 0xc8]
cmp eax, 0x64
jae 0x4dd7fd
push ecx
push str.Ignoring_Content_Length_in_CONNECT__03d_response
push esi
call fcn.004cde30
add esp, 0xc
lea eax, [ebx + 0x1bc]
push eax
call fcn.004c4a00
add esp, 4
jmp 0x4dda27
lea eax, [ebx + 0x1e8]
push eax
push 0xa
lea eax, [edi + 0xf]
push 0
push eax
call fcn.004df170
add esp, 0x10
lea eax, [ebx + 0x1bc]
push eax
call fcn.004c4a00
add esp, 4
jmp 0x4dda27
push 5
push str.close
push 0xb
push str.Connection:
push edi
call fcn.004d61c0
add esp, 0x14
test al, al
jne 0x4dd93a
push 0x12
push str.Transfer_Encoding:
push edi
call fcn.004d1d90
add esp, 0xc
test eax, eax
je 0x4dd8e1
mov ecx, dword [esi + 0xf0]
lea eax, [ecx - 0xc8]
cmp eax, 0x64
jae 0x4dd893
push ecx
push str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response
push esi
call fcn.004cde30
add esp, 0xc
lea eax, [ebx + 0x1bc]
push eax
call fcn.004c4a00
add esp, 4
jmp 0x4dda27
push 7
push str.chunked
push 0x12
push str.Transfer_Encoding:
push edi
call fcn.004d61c0
add esp, 0x14
test al, al
je 0x4dd941
push str.CONNECT_responded_chunked
push esi
call fcn.004cde30
push esi
mov byte [ebx + 0x1f4], 1
call fcn.004e9990
add esp, 0xc
lea eax, [ebx + 0x1bc]
push eax
call fcn.004c4a00
add esp, 4
jmp 0x4dda27
push 5
push str.close
push 0x11
push str.Proxy_Connection:
push edi
call fcn.004d61c0
add esp, 0x14
test al, al
jne 0x4dd93a
lea eax, [esi + 0xf0]
push eax
lea eax, [ebp - 0x24]
push eax
push str.HTTP_1._d__d
push edi
call fcn.0045b740
add esp, 0x10
cmp eax, 2
jne 0x4dd941
mov eax, dword [esi + 0xf0]
mov dword [esi + 0xcfc], eax
lea eax, [ebx + 0x1bc]
push eax
call fcn.004c4a00
add esp, 4
jmp 0x4dda27
mov byte [ebx + 0x1f5], 1
lea eax, [ebx + 0x1bc]
push eax
call fcn.004c4a00
add esp, 4
jmp 0x4dda27
cmp dword [esi + 0xf0], 0x197
jne 0x4dda05
cmp byte [esi + 0xce9], 0
jne 0x4dda05
mov edx, dword [ebx + 0x1e8]
mov eax, edx
mov ecx, dword [ebx + 0x1ec]
or eax, ecx
mov dword [ebx + 0x1e4], 2
je 0x4dd9ad
push ecx
push edx
push str.Ignore__I64d_bytes_of_response_body
push esi
call fcn.004cde30
add esp, 0x10
cmp dword [ebx + 0x1e4], 0
jne 0x4dd4e4
jmp 0x4dda0f
cmp byte [ebx + 0x1f4], 0
je 0x4dda05
push str.Ignore_chunked_response_body
push esi
call fcn.004cde30
lea eax, [edi + 1]
mov byte [esi + 0x140], 1
cmp byte [eax], 0xa
cmove edi, eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x14]
push eax
push 1
lea eax, [edi + 1]
push eax
push esi
call fcn.004e99c0
add esp, 0x1c
cmp eax, 0xffffffff
jne 0x4dd99e
push str.chunk_reading_DONE
push esi
call fcn.004cde30
add esp, 8
mov dword [ebx + 0x1f0], 2
mov dword [ebx + 0x1e4], 0
mov eax, dword [ebx + 0x1e8]
or eax, dword [ebx + 0x1ec]
jne 0x4dda27
mov dword [ebx + 0x1f0], 2
cmp dword [ebx + 0x1e4], 0
jne 0x4dd4e4
jmp 0x4dd57b
cmp dword [esi + 0x16c], 0
je 0x4dda7b
cmp dword [esi + 0x968], 0
je 0x4dda7b
cmp dword [esi + 0xcac], 0
je 0x4dda7b
mov edi, dword [ebp - 4]
push str.Proxy_CONNECT_connection_closed
push esi
mov byte [edi + 0x244], 1
call fcn.004cde30
add esp, 8
mov dword [ebx + 0x1e4], 0
jmp 0x4dd57e
push str.Proxy_CONNECT_aborted
push esi
mov dword [ebp - 8], 1
call fcn.004cdd90
mov edi, dword [ebp - 4]
add esp, 8
mov dword [ebx + 0x1e4], 0
jmp 0x4dd57e
mov edi, dword [edi + 0x2fc]
lea eax, [edi + 0x1bc]
push eax
call fcn.004c4a00
add esp, 4
mov dword [edi + 0x1f0], 0
mov dword [edi + 0x1e4], 1
mov dword [edi + 0x1e8], 0
mov dword [edi + 0x1ec], 0
mov byte [edi + 0x1f5], 0
cmp dword [esi + 0x128], 0
je 0x4ddb91
mov edi, dword [ebp - 4]
jmp 0x4dd1e0
push edi
call dword [0x68dc20]
add esp, 4
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp + 0xc]
push ecx
push eax
push dword [esi + 0x130]
push dword [edi + 0x29c]
push esi
call fcn.004ce200
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x4ddb45
push dword [ebp + 0xc]
push dword [esi + 0x130]
push 2
push esi
call fcn.004cdd00
add esp, 0x10
mov eax, dword [ebp + 0xc]
sub dword [ebx + 0x1dc], eax
add dword [esi + 0x130], eax
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.CONNECT_response_too_large
push esi
call fcn.004cdd90
add esp, 8
pop edi
pop esi
mov eax, 0x38
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x18]
push dword [eax]
push edi
push esi
call fcn.004ce700
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov dword [eax], 0xffffffff
jmp 0x4ddb94
mov edi, dword [ebp - 4]
mov eax, dword [esi + 0xcfc]
sub eax, 0xc8
cmp eax, 0x64
jb 0x4ddc38
cmp byte [ebx + 0x1f5], 0
je 0x4ddbd4
cmp dword [esi + 0x128], 0
je 0x4ddbd4
push str.Connect_me_again_please
push esi
mov byte [edi + 0x244], 1
call fcn.004cde30
push esi
call fcn.004ddcf0
jmp 0x4ddbf2
push dword [esi + 0x128]
call dword [0x68dc20]
push 2
push edi
mov dword [esi + 0x128], 0
call fcn.004ce7e0
add esp, 0xc
mov dword [ebx + 0x1f0], 0
cmp byte [edi + 0x244], 0
jne 0x4ddc8f
lea eax, [ebx + 0x1bc]
push eax
call fcn.004c49a0
push dword [esi + 0xf0]
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push esi
call fcn.004cdd90
add esp, 0x10
mov eax, 0x38
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x1f0], 2
push dword [esi + 0xcac]
call dword [0x68dc20]
push dword [esi + 0xcfc]
mov dword [esi + 0xcac], 0
push str.Proxy_replied__d_to_CONNECT_request
push esi
mov word [esi + 0x96c], 1
call fcn.004cde30
lea eax, [ebx + 0x1bc]
mov byte [esi + 0x140], 0
push eax
mov byte [edi + 0x251], 0
call fcn.004c49a0
add esp, 0x14
xor eax, eax
pop edi
pop esi
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.Proxy_CONNECT_aborted_due_to_timeout
push esi
call fcn.004cdd90
add esp, 8
mov eax, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret