Function at 0x47c470
Capabilities:
Check http status code

Disassembly:
sub esp, 0x40
push ebx
mov ebx, dword [esp + 0x4c]
mov ecx, 0x36ee80
push ebp
mov ebp, dword [esp + 0x4c]
xorps xmm0, xmm0
push esi
push edi
mov dword [esp + 0x44], 0
mov edi, dword [ebp]
movlpd qword [esp + 0x48], xmm0
mov eax, dword [edi + 0x1e0]
test eax, eax
cmovne ecx, eax
mov eax, dword [ebp + ebx*4 + 0x154]
mov dword [esp + 0x40], ecx
xor esi, esi
mov dword [esp + 0x38], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x30], esi
cmp dword [ebp + ebx*4 + 0x5c0], 2
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], ecx
je 0x47ce34
mov dword [ebp + 0x2a4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
nop dword [eax + eax]
cmp dword [ebp + ebx*4 + 0x5c0], 0
je 0x47cc0f
lea eax, [edi + 0x5cc]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], eax
mov esi, eax
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x14], eax
nop dword [eax]
test eax, eax
je 0x47ca71
test ecx, ecx
jne 0x47cba3
push dword [ebp + 0x148]
push dword [ebp + 0x144]
call fcn.00454c60
push edx
push eax
call fcn.00454bd0
mov ecx, dword [esp + 0x50]
add esp, 0x10
sub ecx, eax
test ecx, ecx
jle 0x47cb0d
mov eax, 0x3e8
cmp ecx, eax
cmovl eax, ecx
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esp + 0x44]
call fcn.0045ca70
add esp, 0x10
cmp eax, 0xffffffff
je 0x47ca34
test eax, eax
je 0x47ca4a
lea eax, [esp + 0x18]
push eax
mov eax, 0x4000
sub eax, dword [esp + 0x30]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x44]
push ebp
call fcn.0045d220
add esp, 0x14
cmp eax, 0x51
je 0x47ca5b
test eax, eax
je 0x47c5bd
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x47ca4a
mov ecx, dword [esp + 0x18]
test ecx, ecx
jg 0x47c5f4
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [edi + 0x158], eax
je 0x47c5ea
cmp dword [edi + 0x8eb4], eax
je 0x47c5ea
mov dword [ebp + 0x2a4], 1
jmp 0x47ca4a
push str.Proxy_CONNECT_aborted
jmp 0x47ca39
add dword [esp + 0x2c], ecx
cmp dword [esp + 0x14], 1
jle 0x47c6af
mov eax, dword [esp + 0x1c]
lea edx, [edi + 0x5cc]
or eax, dword [esp + 0x20]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], edx
je 0x47c653
mov eax, ecx
mov ecx, dword [esp + 0x1c]
cdq
sub ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
sbb eax, edx
mov dword [esp + 0x20], eax
test eax, eax
jg 0x47ca4a
jl 0x47c648
test ecx, ecx
jne 0x47ca4a
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x47ca4a
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push ecx
push edx
push ebp
call fcn.0047d220
add esp, 0x10
cmp eax, 0xffffffff
jne 0x47c698
push str.chunk_reading_DONE_n
push edi
call fcn.0045d140
add esp, 8
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x58]
mov dword [ebp + eax*4 + 0x5c0], 2
jmp 0x47ca4a
push dword [esp + 0x28]
push str.Read__zd_bytes_of_chunk__continue_n
push edi
call fcn.0045d140
add esp, 0xc
jmp 0x47ca4a
xor eax, eax
mov dword [esp + 0x28], eax
test ecx, ecx
jle 0x47ca4a
mov edx, dword [esp + 0x24]
inc ebx
cmp byte [edx], 0xa
jne 0x47c8af
cmp dword [edi + 0x32c], 0
je 0x47c6e2
push ebp
push ebx
push esi
push 1
push edi
call fcn.0045cf80
add esp, 0x14
xor eax, eax
cmp dword [edi + 0x310], eax
push ebx
setne al
push esi
add eax, 2
push eax
push ebp
call fcn.0045cdf0
add dword [edi + 0x8f70], ebx
add esp, 0x10
add dword [edi + 0x80], ebx
test eax, eax
jne 0x47ce79
mov al, byte [esi]
cmp al, 0xd
je 0x47c8c6
cmp al, 0xa
je 0x47c8c6
mov cl, byte [ebx + esi]
lea eax, [ebx + esi]
push 0x11
push esi
push str.WWW_Authenticate:
mov dword [esp + 0x54], eax
mov byte [esp + 0x1f], cl
mov byte [eax], 0
call fcn.0045f320
add esp, 0xc
test eax, eax
je 0x47c755
mov ebx, dword [edi + 0xc8]
cmp ebx, 0x191
je 0x47c77e
push 0x13
push esi
push str.Proxy_authenticate:
lea ebp, [edi + 0xc8]
call fcn.0045f320
add esp, 0xc
test eax, eax
je 0x47c7c2
mov ebx, dword [ebp]
cmp ebx, 0x197
jne 0x47c7c2
mov ebp, dword [esp + 0x54]
push esi
call fcn.00462570
mov esi, eax
add esp, 4
test esi, esi
je 0x47ce74
xor eax, eax
cmp ebx, 0x197
push esi
sete al
push eax
push ebp
call fcn.00462810
push esi
mov ebx, eax
call dword [0x4d907c]
add esp, 0x10
test ebx, ebx
je 0x47c894
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x40
ret
push 0xf
push esi
push str.Content_Length:
call fcn.0045f320
add esp, 0xc
test eax, eax
je 0x47c7f3
push 0xa
push 0
add esi, 0xf
push esi
call fcn.0048ffbd
add esp, 0xc
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
jmp 0x47c890
push str.close
push str.Connection:
push esi
call fcn.004624b0
add esp, 0xc
test eax, eax
je 0x47c814
mov dword [esp + 0x30], 1
jmp 0x47c890
push str.chunked
push str.Transfer_Encoding:
push esi
call fcn.004624b0
add esp, 0xc
test eax, eax
je 0x47c84d
push str.CONNECT_responded_chunked_n
push edi
call fcn.0045d140
mov ebp, dword [esp + 0x5c]
push ebp
mov dword [esp + 0x48], 1
call fcn.0047d200
add esp, 0xc
jmp 0x47c894
push str.close
push str.Proxy_Connection:
push esi
call fcn.004624b0
add esp, 0xc
test eax, eax
je 0x47c86e
mov dword [esp + 0x30], 1
jmp 0x47c890
push ebp
lea eax, [esp + 0x48]
push eax
push str.HTTP_1._d__d
push esi
call fcn.0044d5a0
add esp, 0x10
cmp eax, 2
jne 0x47c890
mov eax, dword [ebp]
mov dword [edi + 0x8f60], eax
mov ebp, dword [esp + 0x54]
mov eax, dword [esp + 0x48]
xor ebx, ebx
mov edx, dword [esp + 0x24]
mov cl, byte [esp + 0x13]
mov byte [eax], cl
mov ecx, dword [esp + 0x18]
lea esi, [edx + 1]
mov eax, dword [esp + 0x28]
inc eax
inc edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
cmp eax, ecx
jl 0x47c6c1
jmp 0x47ca4a
cmp dword [edi + 0xc8], 0x197
lea eax, [edi + 0x5cc]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], eax
jne 0x47c9f5
cmp dword [edi + 0x8ec4], 0
jne 0x47c9f5
mov ecx, dword [esp + 0x1c]
mov eax, ecx
mov edx, dword [esp + 0x20]
or eax, edx
mov dword [esp + 0x14], 2
je 0x47c966
push edx
push ecx
push str.Ignore__I64d_bytes_of_response_body_n
push edi
call fcn.0045d140
mov eax, dword [esp + 0x28]
add esp, 0x10
sub eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
cdq
sub ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
sbb eax, edx
mov dword [esp + 0x20], eax
test eax, eax
jg 0x47ca23
jl 0x47c94a
test ecx, ecx
jne 0x47ca23
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], 0
mov dword [ebp + eax*4 + 0x5c0], 2
jmp 0x47ca4a
cmp dword [esp + 0x3c], 0
je 0x47c94a
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x28]
push eax
push str._zd_bytes_of_chunk_left_n
push edi
mov dword [edi + 0x100], 1
call fcn.0045d140
cmp byte [esi + 1], 0xa
lea eax, [esi + 1]
cmovne eax, esi
mov esi, eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
cmovne ecx, eax
mov eax, dword [esp + 0x28]
sub eax, ecx
push eax
lea eax, [esi + 1]
push eax
push ebp
call fcn.0047d220
add esp, 0x1c
cmp eax, 0xffffffff
jne 0x47c9e4
push str.chunk_reading_DONE_n
push edi
call fcn.0045d140
add esp, 8
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x58]
mov dword [ebp + eax*4 + 0x5c0], 2
jmp 0x47ca4a
push dword [esp + 0x18]
push str.Read__zd_bytes_of_chunk__continue_n
push edi
call fcn.0045d140
jmp 0x47ca20
xor eax, eax
cmp dword [edi + 0x8f60], 0xc8
mov dword [esp + 0x14], eax
jne 0x47ca23
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x28]
add eax, 0xffffffff
je 0x47ca23
push eax
push str.Proxy_CONNECT_followed_by__zd_bytes_of_opaque_data._Data_ignored__known_bug_39_
push edi
call fcn.0045d070
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [ebp + eax*4 + 0x5c0], 2
jmp 0x47ca4a
push str.Proxy_CONNECT_aborted_due_to_select_poll_error
push edi
mov dword [esp + 0x3c], 1
call fcn.0045d070
add esp, 8
push ebp
call fcn.004663f0
add esp, 4
test eax, eax
jne 0x47cb00
cmp dword [esp + 0x2c], 0x4000
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
jb 0x47c520
test ecx, ecx
jne 0x47cba3
cmp dword [edi + 0x8f60], 0xc8
je 0x47caa9
push ebp
call fcn.00462640
add esp, 4
test eax, eax
jne 0x47ce79
cmp dword [ebp + 0x24c], eax
je 0x47caa9
mov esi, 1
mov dword [esp + 0x30], esi
jmp 0x47cab1
mov esi, dword [esp + 0x30]
test esi, esi
je 0x47caba
cmp dword [edi + 0x10c], 0
jne 0x47cb28
mov eax, dword [edi + 0x10c]
mov ebx, dword [esp + 0x58]
test eax, eax
je 0x47cb47
cmp dword [ebp + ebx*4 + 0x5c0], 2
jne 0x47caf3
push 0
push str.TUNNEL_STATE_switched_to:__d_n
push edi
mov dword [ebp + ebx*4 + 0x5c0], 0
call fcn.0045d140
mov eax, dword [edi + 0x10c]
add esp, 0xc
test eax, eax
je 0x47cb47
mov ecx, dword [esp + 0x34]
jmp 0x47c4f0
pop edi
pop esi
pop ebp
mov eax, 0x2a
pop ebx
add esp, 0x40
ret
push str.Proxy_CONNECT_aborted_due_to_timeout
push edi
call fcn.0045d070
add esp, 8
mov eax, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
mov ebx, dword [esp + 0x58]
push dword [ebp + ebx*4 + 0x154]
push ebp
call fcn.0045d7f0
add esp, 8
mov dword [ebp + ebx*4 + 0x154], 0xffffffff
mov eax, dword [edi + 0xc8]
cmp eax, 0xc8
je 0x47cbb0
push eax
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push edi
call fcn.0045d070
add esp, 0xc
test esi, esi
je 0x47cb7a
cmp dword [edi + 0x10c], 0
je 0x47cb7a
mov dword [ebp + 0x2a4], 1
mov eax, dword [edi + 0x10c]
test eax, eax
je 0x47cb98
push eax
call dword [0x4d907c]
add esp, 4
mov dword [edi + 0x10c], 0
mov dword [ebp + ebx*4 + 0x5c0], 0
pop edi
pop esi
pop ebp
mov eax, 0x38
pop ebx
add esp, 0x40
ret
mov dword [ebp + ebx*4 + 0x5c0], 2
mov eax, dword [ebp + 0x2d4]
test eax, eax
je 0x47cbcf
push eax
call dword [0x4d907c]
add esp, 4
push str.Proxy_replied_OK_to_CONNECT_request_n
mov dword [ebp + 0x2d4], 0
push edi
mov dword [edi + 0x8eb8], 1
call fcn.0045d140
add esp, 8
mov dword [edi + 0x100], 0
mov dword [ebp + 0x288], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
push ebp
push esi
push str.Establish_HTTP_proxy_tunnel_to__s:_hu_n
push edi
call fcn.0045d140
mov eax, dword [edi + 0x10c]
add esp, 0x10
test eax, eax
je 0x47cc45
push eax
call dword [0x4d907c]
add esp, 4
mov dword [edi + 0x10c], 0
call fcn.00461eb0
mov ebx, eax
test ebx, ebx
je 0x47ce74
push ebp
push esi
push str._s:_hu
call fcn.00451300
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x47ce6a
push 1
push ebp
push str.CONNECT
push dword [esp + 0x60]
call fcn.00462a40
push ebp
mov esi, eax
call dword [0x4d907c]
add esp, 0x14
test esi, esi
jne 0x47ce56
mov ecx, dword [esp + 0x54]
mov edx, 0x4bf348
push dword [esp + 0x60]
mov eax, 0x4bf34c
mov ebp, 0x4cd2a8
mov dword [esp + 0x40], ebp
cmp dword [ecx + 0x138], 1
mov ecx, dword [ecx + 0x264]
cmovne eax, edx
test ecx, ecx
mov dword [esp + 0x44], eax
mov edx, ebp
mov eax, 0x4cd638
cmove eax, edx
push eax
push dword [esp + 0x64]
mov eax, 0x4be7f4
cmove eax, edx
push eax
push str._s_s_s:_hu
call fcn.00451300
mov esi, eax
add esp, 0x14
mov dword [esp + 0x38], esi
test esi, esi
je 0x47ce6a
push str.Host:
push dword [esp + 0x58]
call fcn.004623e0
add esp, 8
test eax, eax
jne 0x47cd3b
push esi
push str.Host:__s_r_n
call fcn.00451300
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x47cd3b
push esi
call dword [0x4d907c]
push ebx
call dword [0x4d907c]
add esp, 8
lea eax, [ebp + 0x1b]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
push str.Proxy_Connection:
push dword [esp + 0x58]
call fcn.004623e0
test eax, eax
mov ecx, str.Proxy_Connection:_Keep_Alive_r_n
mov eax, 0x4cd2a8
push str.User_Agent:
push dword [esp + 0x60]
cmovne ecx, eax
mov dword [esp + 0x58], ecx
call fcn.004623e0
add esp, 0x10
test eax, eax
jne 0x47cd87
cmp dword [edi + 0x3ec], eax
je 0x47cd87
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x2d8]
mov dword [esp + 0x3c], eax
push dword [esp + 0x48]
mov eax, dword [esp + 0x58]
mov ecx, 0x4cd2a8
push dword [esp + 0x40]
mov eax, dword [eax + 0x2d4]
test eax, eax
cmovne ecx, eax
push ecx
push ebp
push dword [esp + 0x50]
push esi
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
push ebx
call fcn.00462070
add esp, 0x20
mov esi, eax
test ebp, ebp
je 0x47cdce
cmp byte [ebp], 0
je 0x47cdce
push ebp
call dword [0x4d907c]
add esp, 4
push dword [esp + 0x38]
call dword [0x4d907c]
add esp, 4
test esi, esi
jne 0x47ce3e
mov ebp, dword [esp + 0x54]
push ebx
push 1
push ebp
call fcn.004620e0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x47ce3e
push 0x4bc530
push ebx
call fcn.00462070
mov esi, eax
add esp, 8
test esi, esi
jne 0x47ce3e
push dword [esp + 0x58]
push eax
lea eax, [edi + 0x8f74]
push eax
push ebp
push ebx
call fcn.00461ec0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x47ce3e
mov eax, dword [esp + 0x58]
mov dword [ebp + eax*4 + 0x5c0], 1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x40
ret
push str.Failed_sending_CONNECT_to_proxy
push edi
call fcn.0045d070
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
push ebx
call dword [0x4d907c]
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
push ebx
call dword [0x4d907c]
add esp, 4
mov eax, 0x1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret