Function at 0x417344
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x7c
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov edx, dword [esi + 0x1c8]
mov dword [ebp - 0x60], edx
test edx, edx
jne 0x41736d
mov dword [ebp - 0x60], 0x36ee80
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
xor edi, edi
mov ecx, dword [eax + ecx*4 + 0x154]
mov dword [ebp - 0x5c], ecx
cmp dword [eax + edx*4 + 0x468], 2
je 0x417c9d
lea ecx, [esi + 0x534]
mov byte [eax + 0x1d6], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov byte [ebp - 0x4a], 0
mov byte [ebp - 0x49], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
cmp dword [edx + eax*4 + 0x468], 0
jne 0x41762b
mov eax, dword [esi + 0x100]
test eax, eax
je 0x4173f2
sub esp, 0xc
push eax
call dword [0x41e00c]
mov dword [esi + 0x100], 0
add esp, 0x10
call fcn.004118b4
mov dword [ebp - 0x44], eax
test eax, eax
je 0x417c98
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push str._s:_hu
call fcn.004108f8
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x41749a
push 1
push eax
push str.CONNECT
push dword [ebp + 8]
call fcn.00412ba3
mov dword [esp], ebx
mov edi, eax
call dword [0x41e00c]
add esp, 0x10
test edi, edi
jne 0x417607
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x6c], 0x420fbf
cmp dword [ecx + 0x138], 1
je 0x41745c
mov dword [ebp - 0x6c], 0x420fc3
mov eax, dword [ebp + 8]
cmp byte [eax + 0x1c6], 0
je 0x417474
mov edx, 0x420fc7
mov eax, 0x420fc9
jmp 0x41747b
mov edx, 0x420fcb
mov eax, edx
sub esp, 0xc
push dword [ebp + 0x14]
push eax
push dword [ebp + 0x10]
push edx
push str._s_s_s:_hu
call fcn.004108f8
add esp, 0x20
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x41749f
sub esp, 0xc
jmp 0x4174e2
push eax
push eax
push str.Host:
push dword [ebp + 8]
call fcn.00411bfa
add esp, 0x10
mov dword [ebp - 0x40], 0x420fcb
test eax, eax
jne 0x4174f5
push ebx
push ebx
push dword [ebp - 0x3c]
push str.Host:__s_r_n
call fcn.004108f8
add esp, 0x10
mov dword [ebp - 0x40], eax
test eax, eax
jne 0x4174f5
sub esp, 0xc
push dword [ebp - 0x3c]
call dword [0x41e00c]
pop ecx
push dword [ebp - 0x44]
call dword [0x41e00c]
mov edi, 0x1b
jmp 0x417688
push edx
push edx
push str.Proxy_Connection:
mov ebx, str.Proxy_Connection:_Keep_Alive_r_n
push dword [ebp + 8]
call fcn.00411bfa
add esp, 0x10
test eax, eax
je 0x417515
mov ebx, 0x420fcb
push eax
push eax
push str.User_Agent:
push dword [ebp + 8]
call fcn.00411bfa
add esp, 0x10
mov edx, 0x420fcb
test eax, eax
jne 0x417542
cmp dword [esi + 0x35c], 0
je 0x417542
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x204]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x200]
test eax, eax
jne 0x417554
mov eax, 0x420fcb
push ebx
push edx
push eax
push dword [ebp - 0x40]
push dword [ebp - 0x6c]
push dword [ebp - 0x3c]
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
push dword [ebp - 0x44]
call fcn.0041233c
add esp, 0x20
mov ebx, eax
mov eax, dword [ebp - 0x40]
cmp byte [eax], 0
je 0x417587
sub esp, 0xc
push eax
call dword [0x41e00c]
add esp, 0x10
sub esp, 0xc
push dword [ebp - 0x3c]
call dword [0x41e00c]
add esp, 0x10
test ebx, ebx
jne 0x4175ec
push eax
push dword [ebp - 0x44]
push 1
push dword [ebp + 8]
call fcn.00412496
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x4175ec
push eax
push eax
push 0x421042
push dword [ebp - 0x44]
call fcn.0041233c
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x4175ec
sub esp, 0xc
lea eax, [esi + 0x867c]
push dword [ebp + 0xc]
push 0
push eax
push dword [ebp + 8]
push dword [ebp - 0x44]
call fcn.00412737
add esp, 0x20
mov ebx, eax
test eax, eax
je 0x417615
push eax
push eax
push str.Failed_sending_CONNECT_to_proxy
push esi
call fcn.0040e249
add esp, 0x10
test ebx, ebx
je 0x417615
mov edi, ebx
jmp 0x417c9d
sub esp, 0xc
push dword [ebp - 0x44]
call dword [0x41e00c]
jmp 0x417688
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 0x468], 1
jmp 0x417c9d
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x38], 0
mov ebx, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 1
jmp 0x417b0e
call fcn.0040c374
mov ecx, dword [ebp + 8]
push dword [ecx + 0x148]
push dword [ecx + 0x144]
push edx
push eax
call fcn.0040c308
mov edx, dword [ebp - 0x60]
sub edx, eax
add esp, 0x10
mov eax, edx
test edx, edx
jg 0x417690
push eax
push eax
push str.Proxy_CONNECT_aborted_due_to_timeout
push esi
call fcn.0040e249
mov edi, 0x38
add esp, 0x10
jmp 0x417c9d
cmp edx, 0x3e8
jle 0x41769d
mov eax, 0x3e8
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x5c]
call fcn.00403768
add esp, 0x10
cmp eax, 0xffffffff
je 0x4176bc
test eax, eax
je 0x417ae9
jmp 0x4176d2
push eax
push eax
push str.Proxy_CONNECT_aborted_due_to_select_poll_error
push esi
call fcn.0040e249
mov dword [ebp - 0x48], 1
jmp 0x417747
mov eax, 0x4000
sub esp, 0xc
sub eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x18]
push ecx
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x5c]
push dword [ebp + 8]
call fcn.0040dfdf
add esp, 0x20
cmp eax, 0x51
je 0x417b05
test eax, eax
jne 0x41779f
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x68], eax
test eax, eax
jg 0x41774f
cmp dword [esi + 0x140], 0
je 0x41772c
cmp dword [esi + 0x85d0], 0
je 0x41772c
mov edx, dword [ebp + 8]
mov byte [edx + 0x1d6], 1
jmp 0x41779f
push edi
push edi
push str.Proxy_CONNECT_aborted
push esi
call fcn.0040e249
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x30], 0
add esp, 0x10
jmp 0x417ae9
cmp dword [ebp - 0x30], 1
jg 0x41776a
lea ecx, [esi + 0xc8]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x70], ecx
jmp 0x417ac8
mov eax, dword [ebp - 0x54]
or eax, dword [ebp - 0x58]
je 0x4177ab
mov eax, dword [ebp - 0x68]
cdq
sub dword [ebp - 0x58], eax
sbb dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], 0
jg 0x417adc
jl 0x417792
cmp dword [ebp - 0x58], 0
ja 0x417adc
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x30], 0
jmp 0x417ae9
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push ecx
push dword [ebp - 0x68]
push dword [ebp - 0x74]
push dword [ebp + 8]
call fcn.0041c443
add esp, 0x10
inc eax
jne 0x417adc
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x74]
mov dword [edx + eax*4 + 0x468], 2
mov dword [ebp - 0x2c], ecx
jmp 0x417798
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
cmp byte [eax], 0xa
jne 0x417ac2
cmp byte [esi + 0x2c8], 0
je 0x417814
sub esp, 0xc
push dword [ebp + 8]
push dword [ebp - 0x34]
push ebx
push 1
push esi
call fcn.0040df0a
add esp, 0x20
cmp byte [esi + 0x2bc], 1
push dword [ebp - 0x34]
sbb eax, eax
push ebx
add eax, 3
push eax
push dword [ebp + 8]
call fcn.0040e2ef
mov edx, dword [ebp - 0x34]
add dword [esi + 0x8678], edx
add esp, 0x10
add dword [esi + 0x80], edx
mov edi, eax
test eax, eax
jne 0x417c9d
mov al, byte [ebx]
cmp al, 0xd
je 0x417857
cmp al, 0xa
jne 0x41795d
cmp dword [esi + 0xc8], 0x197
jne 0x417908
cmp byte [esi + 0x85d8], 0
jne 0x417908
mov ecx, dword [ebp - 0x54]
or ecx, dword [ebp - 0x58]
je 0x4178ab
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x28]
cdq
sub dword [ebp - 0x58], eax
sbb dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], 0
jl 0x41793a
jg 0x41789f
cmp dword [ebp - 0x58], 0
jbe 0x41793a
mov dword [ebp - 0x30], 2
jmp 0x417941
mov dword [ebp - 0x30], 0
cmp byte [ebp - 0x49], 0
je 0x417941
mov byte [esi + 0xf9], 1
lea eax, [ebx + 1]
cmp byte [ebx + 1], 0xa
jne 0x4178d1
inc dword [ebp - 0x28]
mov ebx, eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x28]
push eax
lea eax, [ebx + 1]
push eax
push dword [ebp + 8]
call fcn.0041c443
add esp, 0x10
mov dword [ebp - 0x30], 2
inc eax
jne 0x417941
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 0x468], 2
jmp 0x41793a
cmp dword [esi + 0x8668], 0xc8
jne 0x41793a
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
inc edx
cmp eax, edx
je 0x41793a
sub eax, edx
push ecx
push eax
push str.Proxy_CONNECT_followed_by__zd_bytes_of_opaque_data._Data_ignored__known_bug_39_
push esi
call fcn.0040e249
add esp, 0x10
mov dword [ebp - 0x30], 0
jmp 0x417941
mov dword [ebp - 0x30], 0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x74]
mov dword [edx + eax*4 + 0x468], 2
mov dword [ebp - 0x2c], ecx
jmp 0x417ae2
mov eax, dword [ebp - 0x34]
add eax, ebx
mov dword [ebp - 0x64], eax
mov dl, byte [eax]
mov byte [ebp - 0x21], dl
mov byte [eax], 0
push edx
push 0x11
push ebx
push str.WWW_Authenticate:
call fcn.004180d5
add esp, 0x10
test eax, eax
je 0x41798e
cmp dword [esi + 0xc8], 0x191
je 0x4179af
push eax
push 0x13
push ebx
push str.Proxy_authenticate:
call fcn.004180d5
add esp, 0x10
test eax, eax
je 0x4179fc
cmp dword [esi + 0xc8], 0x197
jne 0x4179fc
sub esp, 0xc
mov edi, dword [esi + 0xc8]
push ebx
call fcn.00411d81
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x417c98
push eax
xor eax, eax
cmp edi, 0x197
push ebx
sete al
push eax
push dword [ebp + 8]
call fcn.004128f6
mov dword [esp], ebx
mov edi, eax
call dword [0x41e00c]
add esp, 0x10
test edi, edi
je 0x417aaf
jmp 0x417c9d
push eax
push 0xf
push ebx
push str.Content_Length:
call fcn.004180d5
add esp, 0x10
test eax, eax
je 0x417a27
push eax
lea eax, [ebx + 0xf]
push 0xa
push 0
push eax
call fcn.0041d570
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
jmp 0x417a66
push eax
push str.close
push str.Connection:
push ebx
call fcn.00411ca6
add esp, 0x10
test al, al
jne 0x417aab
push eax
push str.chunked
push str.Transfer_Encoding:
push ebx
call fcn.00411ca6
add esp, 0x10
test al, al
je 0x417a6b
sub esp, 0xc
push dword [ebp + 8]
call fcn.0041c3e4
mov byte [ebp - 0x49], 1
add esp, 0x10
jmp 0x417aaf
push edi
push str.close
push str.Proxy_Connection:
push ebx
call fcn.00411ca6
add esp, 0x10
test al, al
jne 0x417aab
push dword [ebp - 0x70]
lea ecx, [ebp - 0x14]
push ecx
push str.HTTP_1._d__d
push ebx
call fcn.0041db80
add esp, 0x10
cmp eax, 2
jne 0x417aaf
mov eax, dword [esi + 0xc8]
mov dword [esi + 0x8668], eax
jmp 0x417aaf
mov byte [ebp - 0x4a], 1
mov edx, dword [ebp - 0x64]
mov al, byte [ebp - 0x21]
mov byte [edx], al
mov dword [ebp - 0x34], 0
mov ebx, dword [ebp - 0x2c]
inc ebx
inc dword [ebp - 0x2c]
inc dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x18]
jl 0x4177e7
mov eax, dword [ebp - 0x68]
add dword [ebp - 0x38], eax
jmp 0x417ae9
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], 0
sub esp, 0xc
push dword [ebp + 8]
call fcn.00419256
add esp, 0x10
test eax, eax
je 0x417b05
mov edi, 0x2a
jmp 0x417c9d
cmp dword [ebp - 0x38], 0x3fff
ja 0x417b23
cmp dword [ebp - 0x30], 0
je 0x417b23
cmp dword [ebp - 0x48], 0
je 0x41764d
jmp 0x417c36
cmp dword [ebp - 0x48], 0
jne 0x417c36
cmp dword [esi + 0x8668], 0xc8
je 0x417b63
sub esp, 0xc
push dword [ebp + 8]
call fcn.00411ff6
add esp, 0x10
mov edi, eax
test eax, eax
jne 0x417c9d
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x1c0], 0
je 0x417b63
mov byte [ebp - 0x4a], 1
jmp 0x417b69
cmp byte [ebp - 0x4a], 0
je 0x417b9d
cmp dword [esi + 0x100], 0
je 0x417b9d
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
push ecx
push ecx
push dword [edx + eax*4 + 0x154]
push edx
call fcn.0040e715
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
add esp, 0x10
mov dword [eax + ecx*4 + 0x154], 0xffffffff
jmp 0x417bce
cmp dword [esi + 0x100], 0
je 0x417bc1
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
cmp dword [ecx + edx*4 + 0x468], 2
jne 0x417bc1
mov dword [ecx + edx*4 + 0x468], 0
cmp dword [esi + 0x100], 0
jne 0x4173bd
mov eax, dword [esi + 0xc8]
cmp eax, 0xc8
je 0x417c3d
push edx
push eax
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push esi
call fcn.0040e249
add esp, 0x10
cmp byte [ebp - 0x4a], 0
je 0x417c04
cmp dword [esi + 0x100], 0
je 0x417c04
mov eax, dword [ebp + 8]
mov byte [eax + 0x1d6], 1
mov eax, dword [esi + 0x100]
test eax, eax
je 0x417c25
sub esp, 0xc
push eax
call dword [0x41e00c]
mov dword [esi + 0x100], 0
add esp, 0x10
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 0x468], 0
mov edi, 0x38
jmp 0x417c9d
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [edx + eax*4 + 0x468], 2
mov eax, dword [edx + 0x200]
test eax, eax
je 0x417c72
sub esp, 0xc
push eax
call dword [0x41e00c]
mov ecx, dword [ebp + 8]
add esp, 0x10
mov dword [ecx + 0x200], 0
mov eax, dword [ebp + 8]
xor edi, edi
mov byte [esi + 0x85d4], 1
mov byte [esi + 0xf9], 0
mov dword [eax + 0x200], 0
mov byte [eax + 0x1cf], 0
jmp 0x417c9d
mov edi, 0x1b
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret