Function at 0x4c4bd0
Capabilities:
Check http status code

Disassembly:
sub esp, 0x38
mov ecx, dword [esp + 0x40]
push ebx
push ebp
mov ebp, dword [esp + 0x50]
push esi
mov esi, dword [esp + 0x48]
mov ebx, dword [esi + 0x8a0]
mov edx, dword [esi + ecx*4 + 0x420]
xor eax, eax
push edi
mov edi, dword [esi]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
cmp ebx, eax
je 0x4c55ce
cmp dword [ebx + 0x20], 2
je 0x4c55ce
mov dword [esi + 0x54c], eax
cmp dword [ebx + 0x20], 0
jne 0x4c4e6b
mov esi, dword [esp + 0x54]
push ebp
push esi
push str.Establish_HTTP_proxy_tunnel_to__s:_d_n
push edi
call fcn.004996c0
mov eax, dword [edi + 0x134]
push eax
call dword [0x54ae6c]
push ebp
push esi
push str._s:_d
mov dword [edi + 0x134], 0
call fcn.004a3c00
mov esi, eax
add esp, 0x20
test esi, esi
je 0x4c540f
lea ecx, [esp + 0x38]
push 0x20000
push ecx
call fcn.0049d5d0
mov edx, dword [esp + 0x54]
push 1
push esi
push str.CONNECT
push edx
call fcn.004bae40
push esi
mov ebp, eax
call dword [0x54ae6c]
add esp, 0x1c
test ebp, ebp
jne 0x4c4e4b
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x4c]
cmp dword [ebp + 0x358], 1
mov eax, 0x525963
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0x51e98c
je 0x4c4cc2
mov dword [esp + 0x20], 0x51e990
mov esi, dword [esp + 0x54]
mov eax, dword [ebp + 0x56c]
cmp esi, dword [ebp + 0x304]
je 0x4c4ce5
push 0x3a
push esi
call fcn.004d5b60
add esp, 8
neg eax
sbb eax, eax
neg eax
test eax, eax
je 0x4c4cf5
mov ecx, 0x519210
mov eax, 0x519204
jmp 0x4c4cfc
mov ecx, 0x525963
mov eax, ecx
mov edx, dword [esp + 0x58]
push edx
push ecx
push esi
push eax
push str._s_s_s:_d
call fcn.004a3c00
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4c5402
push str.Host
push ebp
call fcn.004ba740
add esp, 8
test eax, eax
jne 0x4c4d47
push esi
push str.Host:__s_r_n
call fcn.004a3c00
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x4c541c
push str.Proxy_Connection
push ebp
call fcn.004ba740
add esp, 8
test eax, eax
jne 0x4c4d61
mov dword [esp + 0x18], str.Proxy_Connection:_Keep_Alive_r_n
push str.User_Agent
push ebp
call fcn.004ba740
add esp, 8
test eax, eax
jne 0x4c4d85
cmp dword [edi + 0xa5c], eax
je 0x4c4d85
mov eax, dword [edi + 0x1200]
mov dword [esp + 0x1c], eax
mov ecx, dword [edi + 0x11fc]
test ecx, ecx
jne 0x4c4d94
mov ecx, 0x525963
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4c4da1
mov eax, 0x525963
mov edx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x20]
push edx
push ecx
push eax
mov eax, dword [esp + 0x30]
push eax
push esi
lea ecx, [esp + 0x50]
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
push ecx
call fcn.0049d740
add esp, 0x20
cmp dword [esp + 0x14], 0
mov ebp, eax
je 0x4c4ddc
mov edx, dword [esp + 0x14]
push edx
call dword [0x54ae6c]
add esp, 4
push esi
call dword [0x54ae6c]
add esp, 4
test ebp, ebp
jne 0x4c4e3d
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0x38]
push eax
push 1
push esi
call fcn.004bb9f0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x4c4e3d
lea ecx, [esp + 0x38]
push 0x519ba0
push ecx
call fcn.0049d6f0
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x4c4e3d
mov edx, dword [esp + 0x50]
push edx
push eax
lea eax, [edi + 0x12b0]
push eax
lea ecx, [esp + 0x44]
push esi
push ecx
call fcn.004bb310
mov ebp, eax
add esp, 0x14
test ebp, ebp
je 0x4c4e4b
push str.Failed_sending_CONNECT_to_proxy
push edi
call fcn.00499790
add esp, 8
lea edx, [esp + 0x38]
push edx
call fcn.0049d5f0
add esp, 4
test ebp, ebp
jne 0x4c543d
mov esi, dword [esp + 0x4c]
mov dword [ebx + 0x20], 1
push 1
push 0
push edi
call fcn.0049fbf0
add esp, 0xc
test edx, edx
jl 0x4c5447
jg 0x4c4e8a
test eax, eax
je 0x4c5447
mov eax, dword [esp + 0x50]
push eax
push esi
call fcn.004a0b70
add esp, 8
test eax, eax
je 0x4c55ce
cmp dword [ebx + 0x10], 0
mov dword [esp + 0x20], 0
je 0x4c4f41
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x4c]
lea ecx, [esp + 0x24]
push ecx
push 1
lea edx, [esp + 0x1b]
push edx
push eax
push ebp
call fcn.004995b0
mov esi, eax
add esp, 0x14
cmp esi, 0x51
je 0x4c55ce
push ebp
call fcn.004a8e00
add esp, 4
test eax, eax
jne 0x4c5462
xor ebp, ebp
cmp esi, ebp
jne 0x4c4f3a
cmp dword [esp + 0x24], ebp
jle 0x4c53b6
mov edx, 2
cmp dword [ebx + 0x10], edx
jne 0x4c503f
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov esi, eax
or esi, ecx
je 0x4c4ffe
sub eax, 1
sbb ecx, ebp
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
cmp ecx, ebp
jl 0x4c4f37
jg 0x4c53a7
cmp eax, ebp
ja 0x4c53a7
mov dword [ebx + 0x20], edx
mov dword [ebx + 0x10], ebp
mov esi, dword [esp + 0x4c]
push esi
call fcn.004a8e00
add esp, 4
test eax, eax
jne 0x4c5462
cmp dword [esp + 0x20], eax
jne 0x4c547d
mov eax, 0x51eb851f
imul dword [edi + 0x1294]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
je 0x4c4f96
push esi
call fcn.004be1e0
add esp, 4
test eax, eax
jne 0x4c55d0
cmp dword [esi + 0x550], eax
je 0x4c4f96
mov dword [ebx + 0x28], 1
cmp dword [ebx + 0x28], 0
je 0x4c4fa9
cmp dword [edi + 0x134], 0
jne 0x4c548a
cmp dword [edi + 0x134], 0
je 0x4c54ac
cmp dword [ebx + 0x20], 2
jne 0x4c4fe8
mov ecx, dword [esp + 0x4c]
mov ebp, dword [ecx + 0x8a0]
push ebp
call fcn.0049d6b0
mov esi, dword [esp + 0x50]
add esp, 4
xor eax, eax
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x10], 1
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x28], eax
cmp dword [edi + 0x134], 0
je 0x4c54ac
mov ebp, dword [esp + 0x58]
jmp 0x4c4c14
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x20]
push edx
push 1
lea eax, [esp + 0x1f]
push eax
push ecx
mov dword [esp + 0x30], ebp
call fcn.004c9430
add esp, 0x14
cmp eax, 0xffffffff
jne 0x4c53a7
push str.chunk_reading_DONE_n
push edi
call fcn.004996c0
add esp, 8
mov dword [ebx + 0x10], ebp
jmp 0x4c53a0
push 1
lea edx, [esp + 0x17]
push edx
push ebx
call fcn.0049d6d0
add esp, 0xc
test eax, eax
jne 0x4c546f
cmp byte [esp + 0x13], 0xa
jne 0x4c53a7
push ebx
call fcn.0049d760
push ebx
mov ebp, eax
call fcn.0049d770
mov esi, eax
push esi
push ebp
push 1
push edi
call fcn.00499620
add esp, 0x18
cmp dword [edi + 0xc4c], 0
jne 0x4c50b3
cmp dword [edi + 0xbe8], 0
mov eax, 2
je 0x4c509b
mov eax, 3
push esi
push ebp
push eax
mov eax, dword [esp + 0x58]
push eax
call fcn.00499b50
add esp, 0x10
test eax, eax
jne 0x4c55d0
mov eax, esi
cdq
add dword [edi + 0x12a8], eax
adc dword [edi + 0x12ac], edx
mov al, byte [ebp]
cmp al, 0xd
je 0x4c52f5
cmp al, 0xa
je 0x4c52f5
push 0x11
push ebp
push str.WWW_Authenticate:
call fcn.004a23e0
add esp, 0xc
test eax, eax
je 0x4c50f6
mov eax, dword [edi + 0xf8]
cmp eax, 0x191
je 0x4c5117
push 0x13
push ebp
push str.Proxy_authenticate:
call fcn.004a23e0
add esp, 0xc
test eax, eax
je 0x4c5160
mov eax, dword [edi + 0xf8]
cmp eax, 0x197
jne 0x4c5160
xor ecx, ecx
cmp eax, 0x197
sete cl
push ebp
mov esi, ecx
call fcn.004ba7c0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x4c540f
mov edx, dword [esp + 0x4c]
push ebp
push esi
push edx
call fcn.004baf60
push ebp
mov esi, eax
call dword [0x54ae6c]
add esp, 0x10
test esi, esi
je 0x4c52e7
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
push 0xf
push ebp
push 0x51ea30
call fcn.004a23e0
add esp, 0xc
test eax, eax
je 0x4c51cf
mov ecx, dword [edi + 0xf8]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x4c51ad
push ecx
push str.Ignoring_Content_Length_in_CONNECT__03d_response_n
push edi
call fcn.004996c0
add esp, 0xc
push ebx
call fcn.0049d6b0
add esp, 4
jmp 0x4c53a7
lea ecx, [ebx + 0x18]
push ecx
push 0xa
push 0
add ebp, 0xf
push ebp
call fcn.004c81d0
add esp, 0x10
push ebx
call fcn.0049d6b0
add esp, 4
jmp 0x4c53a7
push str.close
push str.Connection:
push ebp
call fcn.004bb590
add esp, 0xc
test eax, eax
je 0x4c51fb
push ebx
mov dword [ebx + 0x28], 1
call fcn.0049d6b0
add esp, 4
jmp 0x4c53a7
push 0x12
push ebp
push str.Transfer_Encoding:
call fcn.004a23e0
add esp, 0xc
test eax, eax
je 0x4c5294
mov ecx, dword [edi + 0xf8]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x4c524c
push ecx
push str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response_n
push edi
call fcn.004996c0
add esp, 0xc
push ebx
call fcn.0049d6b0
add esp, 4
jmp 0x4c53a7
push str.chunked
push str.Transfer_Encoding:
push ebp
call fcn.004bb590
add esp, 0xc
test eax, eax
je 0x4c52e7
push str.CONNECT_responded_chunked_n
push edi
call fcn.004996c0
mov ecx, dword [esp + 0x54]
push ecx
mov dword [ebx + 0x24], 1
call fcn.004c9400
add esp, 0xc
push ebx
call fcn.0049d6b0
add esp, 4
jmp 0x4c53a7
push str.close
push str.Proxy_Connection:
push ebp
call fcn.004bb590
add esp, 0xc
test eax, eax
je 0x4c52c0
push ebx
mov dword [ebx + 0x28], 1
call fcn.0049d6b0
add esp, 4
jmp 0x4c53a7
lea esi, [edi + 0xf8]
push esi
lea edx, [esp + 0x30]
push edx
push str.HTTP_1._d__d
push ebp
call fcn.004d5b21
add esp, 0x10
cmp eax, 2
jne 0x4c52e7
mov eax, dword [esi]
mov dword [edi + 0x1294], eax
push ebx
call fcn.0049d6b0
add esp, 4
jmp 0x4c53a7
cmp dword [edi + 0xf8], 0x197
jne 0x4c5391
cmp dword [edi + 0x1238], 0
jne 0x4c5391
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov edx, eax
or edx, ecx
mov dword [ebx + 0x10], 2
je 0x4c5337
push ecx
push eax
push str.Ignore__I64d_bytes_of_response_body_n
push edi
call fcn.004996c0
add esp, 0x10
jmp 0x4c5398
cmp dword [ebx + 0x24], 0
je 0x4c5391
push str.Ignore_chunked_response_body_n
push edi
call fcn.004996c0
add esp, 8
mov dword [edi + 0x598], 1
cmp byte [ebp + 1], 0xa
jne 0x4c535c
inc ebp
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x28]
push ecx
push 1
inc ebp
push ebp
push edx
call fcn.004c9430
add esp, 0x14
cmp eax, 0xffffffff
jne 0x4c5398
push str.chunk_reading_DONE_n
push edi
call fcn.004996c0
add esp, 8
mov dword [ebx + 0x20], 2
mov dword [ebx + 0x10], 0
mov eax, dword [ebx + 0x18]
or eax, dword [ebx + 0x1c]
jne 0x4c53a7
mov dword [ebx + 0x20], 2
cmp dword [ebx + 0x10], 0
jne 0x4c4eb2
jmp 0x4c4f3d
cmp dword [edi + 0x5d8], ebp
je 0x4c53e7
cmp dword [edi + 0xf10], ebp
je 0x4c53e7
mov ecx, dword [esp + 0x4c]
push str.Proxy_CONNECT_connection_closed_n
push edi
mov dword [ecx + 0x54c], 1
call fcn.004996c0
add esp, 8
jmp 0x4c4f3a
push str.Proxy_CONNECT_aborted
push edi
mov dword [esp + 0x28], 1
call fcn.00499790
add esp, 8
jmp 0x4c4f3a
lea edx, [esp + 0x38]
push edx
call fcn.0049d5f0
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x38
ret
push esi
call dword [0x54ae6c]
lea eax, [esp + 0x3c]
push eax
call fcn.0049d5f0
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x38
ret
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x38
ret
push str.Proxy_CONNECT_aborted_due_to_timeout
push edi
call fcn.00499790
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x1c
pop ebx
add esp, 0x38
ret
pop edi
pop esi
pop ebp
mov eax, 0x2a
pop ebx
add esp, 0x38
ret
push str.CONNECT_response_too_large_
push edi
call fcn.00499790
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x38
pop ebx
add esp, 0x38
ret
mov ebp, dword [esp + 0x50]
mov ecx, dword [esi + ebp*4 + 0x420]
push ecx
push esi
call fcn.004a0970
add esp, 8
mov dword [esi + ebp*4 + 0x420], 0xffffffff
jmp 0x4c54b0
mov ebp, dword [esp + 0x50]
mov eax, 0x51eb851f
imul dword [edi + 0x1294]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
je 0x4c557b
cmp dword [ebx + 0x28], 0
je 0x4c5500
cmp dword [edi + 0x134], 0
je 0x4c5500
mov esi, dword [esp + 0x4c]
push str.Connect_me_again_please_n
push edi
mov dword [esi + 0x54c], 1
call fcn.004996c0
add esp, 8
call fcn.004c4ba0
jmp 0x4c553f
mov ecx, dword [edi + 0x134]
push ecx
call dword [0x54ae6c]
push 2
push esi
mov dword [edi + 0x134], 0
call fcn.004a0b20
mov edx, dword [esi + ebp*4 + 0x420]
push edx
push esi
call fcn.004a0970
mov dword [esi + ebp*4 + 0x420], 0xffffffff
mov esi, dword [esp + 0x60]
add esp, 0x14
mov dword [ebx + 0x20], 0
cmp dword [esi + 0x54c], 0
jne 0x4c55ce
push ebx
call fcn.0049d5f0
mov eax, dword [edi + 0xf8]
push eax
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push edi
call fcn.00499790
add esp, 0x10
pop edi
pop esi
pop ebp
mov eax, 0x38
pop ebx
add esp, 0x38
ret
mov dword [ebx + 0x20], 2
mov ecx, dword [edi + 0x11fc]
push ecx
call dword [0x54ae6c]
mov edx, dword [edi + 0x1294]
push edx
xor ebp, ebp
push str.Proxy_replied__d_to_CONNECT_request_n
push edi
mov dword [edi + 0x11fc], ebp
mov dword [edi + 0xf14], 1
mov dword [edi + 0xf18], ebp
call fcn.004996c0
mov dword [edi + 0x598], ebp
push ebx
mov dword [esi + 0x584], ebp
call fcn.0049d5f0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret