Function at 0x53d870
Capabilities:
Check http status code

Disassembly:
sub esp, 0x34
mov ecx, dword [esp + 0x3c]
xor al, al
push ebx
push ebp
mov ebp, dword [esp + 0x40]
xorps xmm0, xmm0
push esi
mov dword [esp + 0x3c], 0
movlpd qword [esp + 0x34], xmm0
mov esi, dword [ebp + ecx*4 + 0x168]
lea ecx, [ecx*4 + 0x524]
mov ebx, dword [ebp]
add ecx, ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0xd], 0
mov byte [esp + 0xe], al
cmp dword [ecx], 2
mov dword [esp + 0x2c], 0
mov dword [esp + 0x10], ecx
jne 0x53d8cb
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret
mov byte [ebp + 0x230], al
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
push edi
cmp dword [ecx], 0
jne 0x53db33
push dword [esp + 0x54]
mov ebp, dword [esp + 0x54]
push ebp
push str.Establish_HTTP_proxy_tunnel_to__s:_hu_n
push ebx
call fcn.00511ce0
push dword [ebx + 0x144]
call dword [0x5b301c]
add esp, 0x14
mov dword [ebx + 0x144], 0
call fcn.00523640
mov edi, eax
test edi, edi
je 0x53e1a0
push dword [esp + 0x54]
push ebp
push str._s:_hu
call fcn.005125b0
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x53e197
push 1
push ebp
push str.CONNECT
push dword [esp + 0x54]
call fcn.00524230
push ebp
mov esi, eax
call dword [0x5b301c]
add esp, 0x14
test esi, esi
jne 0x53db10
mov edx, dword [esp + 0x48]
mov ecx, 0x59deac
mov esi, dword [esp + 0x50]
mov eax, 0x54c97c
mov ebp, 0x54b216
mov dword [esp + 0x2c], ebp
cmp dword [edx + 0x14c], 1
cmovne eax, ecx
mov cl, byte [edx + 0x221]
mov dword [esp + 0x28], eax
cmp esi, dword [edx + 0x98]
je 0x53d9b0
push 0x3a
push esi
call dword [sym.imp.VCRUNTIME140.dll_strchr]
add esp, 8
test eax, eax
setne cl
push dword [esp + 0x54]
test cl, cl
mov edx, 0x54b216
mov eax, 0x54c6a0
cmove eax, edx
push eax
mov eax, 0x54c69c
push esi
cmove eax, edx
push eax
push str._s_s_s:_hu
call fcn.005125b0
mov esi, eax
add esp, 0x14
mov dword [esp + 0x18], esi
test esi, esi
je 0x53e197
push str.Host:
push dword [esp + 0x4c]
call fcn.00523bb0
add esp, 8
test eax, eax
jne 0x53da16
push esi
push str.Host:__s_r_n
call fcn.005125b0
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x53e170
push str.Proxy_Connection:
push dword [esp + 0x4c]
call fcn.00523bb0
test eax, eax
mov ecx, str.Proxy_Connection:_Keep_Alive_r_n
mov eax, 0x54b216
push str.User_Agent:
push dword [esp + 0x54]
cmovne ecx, eax
mov dword [esp + 0x48], ecx
call fcn.00523bb0
add esp, 0x10
test eax, eax
jne 0x53da62
cmp dword [ebx + 0x3b0], eax
je 0x53da62
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x260]
mov dword [esp + 0x2c], eax
push dword [esp + 0x38]
mov eax, dword [esp + 0x4c]
mov ecx, 0x54b216
push dword [esp + 0x30]
mov eax, dword [eax + 0x25c]
test eax, eax
cmovne ecx, eax
push ecx
push ebp
push dword [esp + 0x38]
push esi
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
push edi
call fcn.00523810
add esp, 0x20
mov esi, eax
test ebp, ebp
je 0x53daa9
cmp byte [ebp], 0
je 0x53daa9
push ebp
call dword [0x5b301c]
add esp, 4
push dword [esp + 0x18]
call dword [0x5b301c]
add esp, 4
test esi, esi
jne 0x53dafc
mov ebp, dword [esp + 0x48]
push edi
push 1
push ebp
call fcn.00523880
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x53dafc
push 0x54c524
push edi
call fcn.00523810
mov esi, eax
add esp, 8
test esi, esi
jne 0x53dafc
push dword [esp + 0x4c]
push eax
lea eax, [ebx + 0x877c]
push eax
push ebp
push edi
call fcn.00523650
add esp, 0x14
mov esi, eax
xor edi, edi
test esi, esi
je 0x53db10
push str.Failed_sending_CONNECT_to_proxy
push ebx
call fcn.00511c10
add esp, 8
push edi
call fcn.00523620
add esp, 4
test esi, esi
jne 0x53e18d
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x34]
mov dword [eax], 1
push 1
push 0
push ebx
call fcn.0051e660
add esp, 0xc
test eax, eax
jle 0x53e2eb
cmp byte [esp + 0x58], 0
jne 0x53db66
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
call fcn.0051d930
add esp, 0x10
test eax, eax
je 0x53e2e1
lea eax, [ebx + 0x5cc]
mov dword [esp + 0x2c], 0
mov ecx, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ecx
mov esi, eax
xor edi, edi
test ecx, ecx
je 0x53df4c
cmp dword [esp + 0x30], 0
jne 0x53e291
push 1
push 0
push ebx
call fcn.0051e660
mov ecx, eax
add esp, 0xc
test ecx, ecx
jle 0x53e1ba
mov eax, 0x3e8
cmp ecx, eax
cmovl eax, ecx
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esp + 0x40]
call fcn.0051d930
add esp, 0x10
cmp eax, 0xffffffff
je 0x53e0fb
test eax, eax
je 0x53df29
lea eax, [esp + 0x1c]
push eax
mov eax, 0x4000
sub eax, dword [esp + 0x30]
push eax
push dword [esp + 0x30]
push dword [esp + 0x40]
push ebp
call fcn.00511dd0
add esp, 0x14
cmp eax, 0x51
je 0x53df3a
test eax, eax
je 0x53dc13
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x53df29
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jg 0x53dc66
xor eax, eax
mov dword [esp + 0x18], eax
cmp dword [ebx + 0x180], eax
je 0x53dc4b
cmp dword [ebx + 0x86b0], eax
je 0x53dc4b
push str.Proxy_CONNECT_connection_closed_n
push ebx
mov byte [ebp + 0x230], 1
call fcn.00511ce0
add esp, 8
jmp 0x53df29
push str.Proxy_CONNECT_aborted
push ebx
mov dword [esp + 0x38], 1
call fcn.00511c10
add esp, 8
jmp 0x53df29
add dword [esp + 0x2c], ecx
cmp dword [esp + 0x18], 1
jle 0x53dd1c
mov eax, dword [esp + 0x20]
lea edx, [ebx + 0x5cc]
or eax, dword [esp + 0x24]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], edx
je 0x53dcc5
mov eax, ecx
mov ecx, dword [esp + 0x20]
cdq
sub ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
sbb eax, edx
mov dword [esp + 0x24], eax
test eax, eax
jg 0x53df29
jl 0x53dcba
test ecx, ecx
jne 0x53df29
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x53df29
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0
push eax
push ecx
push edx
push ebp
call fcn.0053e780
add esp, 0x10
cmp eax, 0xffffffff
jne 0x53dd05
push str.chunk_reading_DONE_n
push ebx
call fcn.00511ce0
add esp, 8
xor eax, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov dword [eax], 2
jmp 0x53df29
push dword [esp + 0x38]
push str.Read__zd_bytes_of_chunk__continue_n
push ebx
call fcn.00511ce0
add esp, 0xc
jmp 0x53df29
xor ebp, ebp
mov dword [esp + 0x38], ebp
test ecx, ecx
jle 0x53df25
mov eax, dword [esp + 0x28]
nop
inc edi
cmp byte [eax], 0xa
jne 0x53df13
cmp byte [ebx + 0x318], 0
je 0x53dd54
push dword [esp + 0x48]
push edi
push esi
push 1
push ebx
call fcn.00511b20
add esp, 0x14
xor eax, eax
cmp byte [ebx + 0x30c], al
push edi
setne al
push esi
add eax, 2
push eax
push dword [esp + 0x54]
call fcn.00511af0
add dword [ebx + 0x8778], edi
add esp, 0x10
add dword [ebx + 0x80], edi
test eax, eax
jne 0x53e2fe
mov al, byte [esi]
cmp al, 0xd
je 0x53df8e
cmp al, 0xa
je 0x53df8e
mov al, byte [edi + esi]
lea ebp, [edi + esi]
push 0x11
push esi
push str.WWW_Authenticate:
mov byte [esp + 0x1f], al
mov byte [ebp], 0
call fcn.0052ae80
add esp, 0xc
test eax, eax
je 0x53ddc7
mov edi, dword [ebx + 0xc8]
cmp edi, 0x191
je 0x53dde9
push 0x13
push esi
push str.Proxy_authenticate:
call fcn.0052ae80
add esp, 0xc
test eax, eax
je 0x53de31
mov edi, dword [ebx + 0xc8]
cmp edi, 0x197
jne 0x53de31
push esi
call fcn.00523d50
mov esi, eax
add esp, 4
test esi, esi
je 0x53e1a0
cmp edi, 0x197
push esi
sete al
movzx eax, al
push eax
push dword [esp + 0x50]
call fcn.00523fe0
push esi
mov edi, eax
call dword [0x5b301c]
add esp, 0x10
test edi, edi
je 0x53defb
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
push 0xf
push esi
push str.Content_Length:
call fcn.0052ae80
add esp, 0xc
test eax, eax
je 0x53de63
push 0xa
push 0
add esi, 0xf
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoll]
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x53defb
push str.close
push str.Connection:
push esi
call fcn.00523c80
add esp, 0xc
test al, al
je 0x53de81
mov byte [esp + 0x11], 1
jmp 0x53defb
push str.chunked
push str.Transfer_Encoding:
push esi
call fcn.00523c80
add esp, 0xc
test al, al
je 0x53deb6
push str.CONNECT_responded_chunked_n
push ebx
call fcn.00511ce0
push dword [esp + 0x50]
mov byte [esp + 0x1e], 1
call fcn.0053e760
add esp, 0xc
jmp 0x53defb
push str.close
push str.Proxy_Connection:
push esi
call fcn.00523c80
add esp, 0xc
test al, al
je 0x53ded4
mov byte [esp + 0x11], 1
jmp 0x53defb
lea edi, [ebx + 0xc8]
push edi
lea eax, [esp + 0x44]
push eax
push str.HTTP_1._d__d
push esi
call fcn.004b8620
add esp, 0x10
cmp eax, 2
jne 0x53defb
mov eax, dword [edi]
mov dword [ebx + 0x8768], eax
mov al, byte [esp + 0x13]
xor edi, edi
mov ecx, dword [esp + 0x1c]
mov byte [ebp], al
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x38]
lea esi, [eax + 1]
inc ebp
inc eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], ebp
cmp ebp, ecx
jl 0x53dd30
mov ebp, dword [esp + 0x48]
push ebp
call fcn.00526520
add esp, 4
test eax, eax
jne 0x53e1ad
cmp dword [esp + 0x2c], 0x4000
mov ecx, dword [esp + 0x18]
jb 0x53db85
cmp dword [esp + 0x30], 0
jne 0x53e291
cmp dword [ebx + 0x8768], 0xc8
je 0x53e116
push ebp
call fcn.00523e20
add esp, 4
test eax, eax
jne 0x53e2fe
cmp byte [ebp + 0x219], al
je 0x53e116
mov byte [esp + 0x11], 1
jmp 0x53e11d
cmp dword [ebx + 0xc8], 0x197
lea eax, [ebx + 0x5cc]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
jne 0x53e0c0
cmp byte [ebx + 0x86b8], 0
jne 0x53e0c0
mov ecx, dword [esp + 0x20]
mov eax, ecx
mov edx, dword [esp + 0x24]
or eax, edx
mov dword [esp + 0x18], 2
je 0x53e027
push edx
push ecx
push str.Ignore__I64d_bytes_of_response_body_n
push ebx
call fcn.00511ce0
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov ecx, dword [esp + 0x20]
sub eax, ebp
cdq
sub ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
sbb eax, edx
mov dword [esp + 0x24], eax
test eax, eax
jg 0x53e0ec
jl 0x53e010
test ecx, ecx
jne 0x53e0ec
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], 0
mov dword [eax], 2
jmp 0x53df25
mov al, byte [esp + 0x12]
test al, al
je 0x53e010
mov eax, dword [esp + 0x1c]
sub eax, ebp
mov byte [ebx + 0x13d], 1
push eax
push str._zd_bytes_of_chunk_left_n
push ebx
call fcn.00511ce0
add esp, 0xc
cmp byte [esi + 1], 0xa
jne 0x53e053
inc esi
inc ebp
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
sub eax, ebp
push eax
lea eax, [esi + 1]
push eax
push dword [esp + 0x54]
call fcn.0053e780
add esp, 0x10
cmp eax, 0xffffffff
jne 0x53e09f
push str.chunk_reading_DONE_n
push ebx
call fcn.00511ce0
mov eax, dword [esp + 0x1c]
add esp, 8
mov dword [esp + 0x18], 0
mov dword [eax], 2
mov dword [eax], 2
jmp 0x53df25
push dword [esp + 0x1c]
push str.Read__zd_bytes_of_chunk__continue_n
push ebx
call fcn.00511ce0
mov eax, dword [esp + 0x20]
add esp, 0xc
mov dword [eax], 2
jmp 0x53df25
xor eax, eax
cmp dword [ebx + 0x8768], 0xc8
mov dword [esp + 0x18], eax
jne 0x53e0ec
mov eax, dword [esp + 0x1c]
sub eax, ebp
add eax, 0xffffffff
je 0x53e0ec
push eax
push str.Proxy_CONNECT_followed_by__zd_bytes_of_opaque_data._Data_ignored__known_bug_39_
push ebx
call fcn.00511c10
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [eax], 2
jmp 0x53df25
push str.Proxy_CONNECT_aborted_due_to_select_poll_error
push ebx
mov dword [esp + 0x38], 1
call fcn.00511c10
add esp, 8
jmp 0x53df29
cmp byte [esp + 0x11], 0
je 0x53e12a
cmp dword [ebx + 0x144], 0
jne 0x53e1d5
cmp dword [ebx + 0x144], 0
mov ecx, dword [esp + 0x14]
je 0x53e1f6
cmp dword [ecx], 2
jne 0x53e15a
push 0
push str.TUNNEL_STATE_switched_to:__d_n
push ebx
mov dword [ecx], 0
call fcn.00511ce0
mov ecx, dword [esp + 0x20]
add esp, 0xc
cmp dword [ebx + 0x144], 0
je 0x53e1f6
mov esi, dword [esp + 0x34]
jmp 0x53d8e2
push esi
call dword [0x5b301c]
push edi
call fcn.00523620
add esp, 8
mov eax, 0x1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
push edi
call fcn.00523620
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x34
ret
pop edi
pop esi
pop ebp
mov eax, 0x2a
pop ebx
add esp, 0x34
ret
push str.Proxy_CONNECT_aborted_due_to_timeout
push ebx
call fcn.00511c10
add esp, 8
mov eax, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov esi, dword [esp + 0x4c]
push dword [ebp + esi*4 + 0x168]
push ebp
call fcn.0051dcd0
add esp, 8
mov dword [ebp + esi*4 + 0x168], 0xffffffff
jmp 0x53e1fa
mov esi, dword [esp + 0x4c]
cmp dword [ebx + 0xc8], 0xc8
je 0x53e29e
cmp byte [esp + 0x11], 0
je 0x53e231
cmp dword [ebx + 0x144], 0
je 0x53e231
push str.Connect_me_again_please_n
push ebx
mov byte [ebp + 0x230], 1
call fcn.00511ce0
add esp, 8
jmp 0x53e26a
push dword [ebx + 0x144]
call dword [0x5b301c]
push 2
push ebp
mov dword [ebx + 0x144], 0
call fcn.0051dd30
push dword [ebp + esi*4 + 0x168]
push ebp
call fcn.0051dcd0
add esp, 0x14
mov dword [ebp + esi*4 + 0x168], 0xffffffff
mov eax, dword [esp + 0x14]
mov dword [eax], 0
cmp byte [ebp + 0x230], 0
jne 0x53e2e1
push dword [ebx + 0xc8]
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push ebx
call fcn.00511c10
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0x38
pop ebx
add esp, 0x34
ret
mov eax, dword [esp + 0x14]
mov dword [eax], 2
push dword [ebp + 0x25c]
call dword [0x5b301c]
push str.Proxy_replied_OK_to_CONNECT_request_n
mov dword [ebp + 0x25c], 0
push ebx
mov byte [ebx + 0x86b4], 1
call fcn.00511ce0
mov byte [ebx + 0x13d], 0
add esp, 0xc
mov byte [ebp + 0x22a], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret
push str.Proxy_CONNECT_aborted_due_to_timeout
push ebx
call fcn.00511c10
mov eax, 0x38
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret