Function at 0x100a43f0
Capabilities:
Check http status code

Disassembly:
sub esp, 0x38
mov eax, dword [esp + 0x40]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x48]
mov ebx, dword [esi + 0x880]
mov ecx, dword [esi + eax*4 + 0x420]
xor ebp, ebp
push edi
mov edi, dword [esi]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ecx
cmp ebx, ebp
je 0x100a4df8
cmp dword [ebx + 0x20], 2
je 0x100a4df8
mov dword [esi + 0x53c], ebp
cmp dword [ebx + 0x20], ebp
jne 0x100a468a
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
push esi
push edx
push str.Establish_HTTP_proxy_tunnel_to__s:_d_n
push edi
call fcn.1007fb40
mov eax, dword [edi + 0x12c]
push eax
call dword [0x102181c0]
mov ecx, dword [esp + 0x68]
push esi
push ecx
push str._s:_d
mov dword [edi + 0x12c], ebp
call fcn.10099760
mov esi, eax
add esp, 0x20
cmp esi, ebp
je 0x100a4c48
lea edx, [esp + 0x38]
push 0x20000
push edx
call fcn.100804e0
mov eax, dword [esp + 0x54]
push 1
push esi
push str.CONNECT
push eax
call fcn.10093460
push esi
mov ebp, eax
call dword [0x102181c0]
add esp, 0x1c
test ebp, ebp
jne 0x100a466a
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x4c]
cmp dword [ebp + 0x358], 1
mov eax, 0x101ff169
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0x101b37e4
je 0x100a44e1
mov dword [esp + 0x20], 0x101b37e8
mov esi, dword [esp + 0x54]
mov eax, dword [ebp + 0x55c]
cmp esi, dword [ebp + 0x304]
je 0x100a4504
push 0x3a
push esi
call fcn.100b3c90
add esp, 8
neg eax
sbb eax, eax
neg eax
test eax, eax
je 0x100a4514
mov ecx, 0x10203348
mov eax, 0x10203344
jmp 0x100a451b
mov ecx, 0x101ff169
mov eax, ecx
mov edx, dword [esp + 0x58]
push edx
push ecx
push esi
push eax
push str._s_s_s:_d
call fcn.10099760
mov esi, eax
add esp, 0x14
test esi, esi
je 0x100a4c3b
push str.Host
push ebp
call fcn.10092da0
add esp, 8
test eax, eax
jne 0x100a4566
push esi
push str.Host:__s_r_n
call fcn.10099760
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x100a4c55
push str.Proxy_Connection
push ebp
call fcn.10092da0
add esp, 8
test eax, eax
jne 0x100a4580
mov dword [esp + 0x18], str.Proxy_Connection:_Keep_Alive_r_n
push str.User_Agent
push ebp
call fcn.10092da0
add esp, 8
test eax, eax
jne 0x100a45a4
cmp dword [edi + 0xa54], eax
je 0x100a45a4
mov eax, dword [edi + 0x11e8]
mov dword [esp + 0x1c], eax
mov ecx, dword [edi + 0x11e4]
test ecx, ecx
jne 0x100a45b3
mov ecx, 0x101ff169
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x100a45c0
mov eax, 0x101ff169
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.10080640
add esp, 0x20
cmp dword [esp + 0x14], 0
mov ebp, eax
je 0x100a45fb
mov edx, dword [esp + 0x14]
push edx
call dword [0x102181c0]
add esp, 4
push esi
call dword [0x102181c0]
add esp, 4
test ebp, ebp
jne 0x100a465c
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0x38]
push eax
push 1
push esi
call fcn.10093ff0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x100a465c
lea ecx, [esp + 0x38]
push 0x101fef28
push ecx
call fcn.10080610
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x100a465c
mov edx, dword [esp + 0x50]
push edx
push eax
lea eax, [edi + 0x1298]
push eax
lea ecx, [esp + 0x44]
push esi
push ecx
call fcn.10093920
mov ebp, eax
add esp, 0x14
test ebp, ebp
je 0x100a466a
push str.Failed_sending_CONNECT_to_proxy
push edi
call fcn.1007fc80
add esp, 8
lea edx, [esp + 0x38]
push edx
call fcn.10080500
add esp, 4
test ebp, ebp
jne 0x100a4c76
mov esi, dword [esp + 0x4c]
mov dword [ebx + 0x20], 1
push 1
push ebp
push edi
call fcn.100809c0
add esp, 0xc
cmp edx, ebp
jl 0x100a4c80
jg 0x100a46a8
cmp eax, ebp
jbe 0x100a4c80
mov eax, dword [esp + 0x50]
push eax
push esi
call fcn.10081830
add esp, 8
test eax, eax
je 0x100a4df8
mov dword [esp + 0x20], ebp
cmp dword [ebx + 0x10], ebp
je 0x100a475f
jmp 0x100a46d0
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.1007fa40
mov esi, eax
add esp, 0x14
cmp esi, 0x51
je 0x100a4df8
push ebp
call fcn.1009b910
add esp, 4
test eax, eax
jne 0x100a4c9b
xor ebp, ebp
cmp esi, ebp
jne 0x100a4758
cmp dword [esp + 0x24], ebp
jle 0x100a4bef
cmp dword [ebx + 0x10], 1
jle 0x100a4853
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov edx, eax
or edx, ecx
je 0x100a4812
sub eax, 1
sbb ecx, ebp
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
cmp ecx, ebp
jl 0x100a4751
jg 0x100a4bde
cmp eax, ebp
ja 0x100a4bde
mov dword [ebx + 0x20], 2
mov dword [ebx + 0x10], ebp
mov esi, dword [esp + 0x4c]
push esi
call fcn.1009b910
add esp, 4
test eax, eax
jne 0x100a4c9b
cmp dword [esp + 0x20], ebp
jne 0x100a4cb6
mov eax, 0x51eb851f
imul dword [edi + 0x127c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
je 0x100a47b4
push esi
call fcn.10095c90
add esp, 4
cmp eax, ebp
jne 0x100a4dfa
cmp dword [esi + 0x540], ebp
je 0x100a47b4
mov dword [ebx + 0x28], 1
cmp dword [ebx + 0x28], ebp
je 0x100a47c5
cmp dword [edi + 0x12c], ebp
jne 0x100a4cc3
cmp dword [edi + 0x12c], ebp
je 0x100a4ce7
cmp dword [ebx + 0x20], 2
jne 0x100a4801
mov ecx, dword [esp + 0x4c]
mov esi, dword [ecx + 0x880]
push esi
call fcn.100805d0
mov dword [esi + 0x20], ebp
mov dword [esi + 0x10], 1
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], ebp
mov dword [esi + 0x28], ebp
mov esi, dword [esp + 0x50]
add esp, 4
cmp dword [edi + 0x12c], ebp
jne 0x100a4430
jmp 0x100a4ce7
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x20]
push ecx
push 1
lea edx, [esp + 0x1f]
push edx
push eax
mov dword [esp + 0x30], ebp
call fcn.100a3a60
add esp, 0x14
cmp eax, 0xffffffff
jne 0x100a4bde
push str.chunk_reading_DONE_n
push edi
call fcn.1007fb40
add esp, 8
mov dword [ebx + 0x10], ebp
jmp 0x100a4bd7
push 1
lea ecx, [esp + 0x17]
push ecx
push ebx
call fcn.100805f0
add esp, 0xc
test eax, eax
jne 0x100a4ca8
cmp byte [esp + 0x13], 0xa
jne 0x100a4bde
push ebx
call fcn.10120290
push ebx
mov ebp, eax
call fcn.10127040
add esp, 8
cmp dword [edi + 0xbec], 0
mov esi, eax
je 0x100a489f
push esi
push ebp
push 1
push edi
call fcn.1007fab0
add esp, 0x10
cmp dword [edi + 0xc3c], 0
jne 0x100a48d3
cmp dword [edi + 0xbd8], 0
mov eax, 2
je 0x100a48bb
mov eax, 3
mov edx, dword [esp + 0x4c]
push esi
push ebp
push eax
push edx
call fcn.10080170
add esp, 0x10
test eax, eax
jne 0x100a4dfa
mov eax, esi
cdq
add dword [edi + 0x1290], eax
adc dword [edi + 0x1294], edx
add dword [edi + 0xa8], eax
adc dword [edi + 0xac], edx
mov al, byte [ebp]
cmp al, 0xd
je 0x100a4b21
cmp al, 0xa
je 0x100a4b21
push 0x11
push ebp
push str.WWW_Authenticate:
call fcn.1007d550
add esp, 0xc
test eax, eax
je 0x100a4922
mov eax, dword [edi + 0xf0]
cmp eax, 0x191
je 0x100a4943
push 0x13
push ebp
push str.Proxy_authenticate:
call fcn.1007d550
add esp, 0xc
test eax, eax
je 0x100a498c
mov eax, dword [edi + 0xf0]
cmp eax, 0x197
jne 0x100a498c
xor ecx, ecx
cmp eax, 0x197
sete cl
push ebp
mov esi, ecx
call fcn.10092e20
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x100a4c48
mov edx, dword [esp + 0x4c]
push ebp
push esi
push edx
call fcn.10093570
push ebp
mov esi, eax
call dword [0x102181c0]
add esp, 0x10
test esi, esi
je 0x100a4b13
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
push 0xf
push ebp
push str.Content_Length:
call fcn.1007d550
add esp, 0xc
test eax, eax
je 0x100a49fb
mov ecx, dword [edi + 0xf0]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x100a49d9
push ecx
push str.Ignoring_Content_Length_in_CONNECT__03d_response_n
push edi
call fcn.1007fb40
add esp, 0xc
push ebx
call fcn.100805d0
add esp, 4
jmp 0x100a4bde
lea ecx, [ebx + 0x18]
push ecx
push 0xa
push 0
add ebp, 0xf
push ebp
call fcn.100a3460
add esp, 0x10
push ebx
call fcn.100805d0
add esp, 4
jmp 0x100a4bde
push str.close
push str.Connection:
push ebp
call fcn.10093b70
add esp, 0xc
test eax, eax
je 0x100a4a27
push ebx
mov dword [ebx + 0x28], 1
call fcn.100805d0
add esp, 4
jmp 0x100a4bde
push 0x12
push ebp
push str.Transfer_Encoding:
call fcn.1007d550
add esp, 0xc
test eax, eax
je 0x100a4ac0
mov ecx, dword [edi + 0xf0]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x100a4a78
push ecx
push str.Ignoring_Transfer_Encoding_in_CONNECT__03d_response_n
push edi
call fcn.1007fb40
add esp, 0xc
push ebx
call fcn.100805d0
add esp, 4
jmp 0x100a4bde
push str.chunked
push str.Transfer_Encoding:
push ebp
call fcn.10093b70
add esp, 0xc
test eax, eax
je 0x100a4b13
push str.CONNECT_responded_chunked_n
push edi
call fcn.1007fb40
mov ecx, dword [esp + 0x54]
push ecx
mov dword [ebx + 0x24], 1
call fcn.100a3a30
add esp, 0xc
push ebx
call fcn.100805d0
add esp, 4
jmp 0x100a4bde
push str.close
push str.Proxy_Connection:
push ebp
call fcn.10093b70
add esp, 0xc
test eax, eax
je 0x100a4aec
push ebx
mov dword [ebx + 0x28], 1
call fcn.100805d0
add esp, 4
jmp 0x100a4bde
lea esi, [edi + 0xf0]
push esi
lea edx, [esp + 0x30]
push edx
push str.HTTP_1._d__d
push ebp
call fcn.100b5874
add esp, 0x10
cmp eax, 2
jne 0x100a4b13
mov eax, dword [esi]
mov dword [edi + 0x127c], eax
push ebx
call fcn.100805d0
add esp, 4
jmp 0x100a4bde
cmp dword [edi + 0xf0], 0x197
jne 0x100a4bc8
cmp dword [edi + 0x1220], 0
jne 0x100a4bc8
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov edx, eax
or edx, ecx
mov dword [ebx + 0x10], 2
je 0x100a4b63
push ecx
push eax
push str.Ignore__I64d_bytes_of_response_body_n
push edi
call fcn.1007fb40
add esp, 0x10
jmp 0x100a4bcf
xor esi, esi
cmp dword [ebx + 0x24], esi
je 0x100a4bc3
push str.Ignore_chunked_response_body_n
push edi
call fcn.1007fb40
add esp, 8
mov dword [edi + 0x590], 1
cmp byte [ebp + 1], 0xa
jne 0x100a4b89
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.100a3a60
add esp, 0x14
cmp eax, 0xffffffff
jne 0x100a4bcf
push str.chunk_reading_DONE_n
push edi
call fcn.1007fb40
add esp, 8
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x20], 2
jmp 0x100a4bcf
mov dword [ebx + 0x10], esi
jmp 0x100a4bcf
mov dword [ebx + 0x10], 0
mov eax, dword [ebx + 0x18]
or eax, dword [ebx + 0x1c]
jne 0x100a4bde
mov dword [ebx + 0x20], 2
cmp dword [ebx + 0x10], 0
jne 0x100a46d0
xor ebp, ebp
jmp 0x100a475b
cmp dword [edi + 0x5d0], ebp
je 0x100a4c20
cmp dword [edi + 0xef8], ebp
je 0x100a4c20
mov ecx, dword [esp + 0x4c]
push str.Proxy_CONNECT_connection_closed_n
push edi
mov dword [ecx + 0x53c], 1
call fcn.1007fb40
add esp, 8
jmp 0x100a4758
push str.Proxy_CONNECT_aborted
push edi
mov dword [esp + 0x28], 1
call fcn.1007fc80
add esp, 8
jmp 0x100a4758
lea edx, [esp + 0x38]
push edx
call fcn.10080500
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x38
ret
push esi
call dword [0x102181c0]
lea eax, [esp + 0x3c]
push eax
call fcn.10080500
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.1007fc80
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.1007fc80
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x38
pop ebx
add esp, 0x38
ret
mov ecx, dword [esp + 0x50]
mov edx, dword [esi + ecx*4 + 0x420]
push edx
push esi
call fcn.10081620
mov eax, dword [esp + 0x58]
add esp, 8
mov dword [esi + eax*4 + 0x420], 0xffffffff
mov eax, 0x51eb851f
imul dword [edi + 0x127c]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 2
je 0x100a4da7
cmp dword [ebx + 0x28], ebp
je 0x100a4d35
cmp dword [edi + 0x12c], ebp
je 0x100a4d35
mov esi, dword [esp + 0x4c]
push str.Connect_me_again_please_n
push edi
mov dword [esi + 0x53c], 1
call fcn.1007fb40
add esp, 8
call fcn.100a43c0
jmp 0x100a4d74
mov edx, dword [edi + 0x12c]
push edx
call dword [0x102181c0]
push 2
push esi
mov dword [edi + 0x12c], ebp
call fcn.100817e0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esi + eax*4 + 0x420]
push ecx
push esi
call fcn.10081620
mov edx, dword [esp + 0x64]
add esp, 0x14
mov dword [esi + edx*4 + 0x420], 0xffffffff
mov dword [ebx + 0x20], ebp
cmp dword [esi + 0x53c], ebp
jne 0x100a4df8
push ebx
call fcn.10080500
mov eax, dword [edi + 0xf0]
push eax
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push edi
call fcn.1007fc80
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 + 0x11e4]
push ecx
call dword [0x102181c0]
mov edx, dword [edi + 0x127c]
push edx
push str.Proxy_replied__d_to_CONNECT_request_n
push edi
mov dword [edi + 0x11e4], ebp
mov dword [edi + 0xefc], 1
mov dword [edi + 0xf00], ebp
call fcn.1007fb40
mov dword [edi + 0x590], ebp
push ebx
mov dword [esi + 0x574], ebp
call fcn.10080500
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret