Function at 0x46b660
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x18
push ebx
push ebp
mov ebp, dword [esp + 0x24]
xor ebx, ebx
push esi
mov esi, dword [esp + 0x2c]
push edi
push esi
push ebp
call fcn.004417a0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], ebx
mov byte [eax], bl
push dword [ebp + 0x10]
push esi
call fcn.004419b0
add esp, 0x10
test al, al
je 0x46b9eb
mov edi, dword [esp + 0x34]
mov eax, dword [edi + 0x78]
test eax, eax
je 0x46b9a1
nop dword [eax]
lea eax, [esp + 0x10]
push eax
push 1
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x24]
push esi
call fcn.004425c0
mov ebx, eax
add esp, 0x14
cmp ebx, 0x51
je 0x46b9eb
push esi
call fcn.00467040
add esp, 4
test eax, eax
jne 0x46b9de
test ebx, ebx
jne 0x46b9c6
cmp dword [esp + 0x10], ebx
jle 0x46b953
cmp dword [edi + 0x78], 2
jne 0x46b785
mov ecx, dword [edi + 0x80]
mov eax, ecx
mov edx, dword [edi + 0x84]
or eax, edx
je 0x46b747
sub ecx, 1
mov dword [edi + 0x80], ecx
sbb edx, ebx
mov dword [edi + 0x84], edx
js 0x46b734
jg 0x46b8f9
test ecx, ecx
jne 0x46b8f9
mov eax, dword [esp + 0x38]
mov dword [edi + 0x78], 0
mov byte [eax], 1
jmp 0x46b913
lea eax, [esp + 0x20]
mov dword [esp + 0x1c], 0
push eax
lea eax, [esp + 0x20]
push eax
push 1
lea eax, [esp + 0x3c]
push eax
push esi
call fcn.004690d0
add esp, 0x14
cmp eax, 0xffffffff
jne 0x46b8f9
push str.chunk_reading_DONE
push esi
call fcn.004421b0
add esp, 8
jmp 0x46b8f2
push 1
lea eax, [esp + 0x34]
push eax
lea ebp, [edi + 0x50]
push ebp
call fcn.0042f230
add esp, 0xc
test eax, eax
jne 0x46b938
cmp byte [esp + 0x30], 0xa
jne 0x46b8f9
inc dword [edi + 0x74]
push ebp
call fcn.0042f2a0
lea ecx, [edi + 0x50]
mov ebp, eax
push ecx
call fcn.0042f290
mov ebx, eax
push ebx
push ebp
push 1
push esi
call fcn.00442040
add esp, 0x18
cmp byte [esi + 0x6e4], 0
jne 0x46b7fb
xor eax, eax
cmp dword [edi + 0x74], 1
push ebx
sete al
push ebp
lea eax, [eax*8 + 0x14]
push eax
push esi
call fcn.00442510
add esp, 0x10
test eax, eax
jne 0x46b9ed
push 1
push ebx
push esi
call fcn.004594f0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x46b92e
mov al, byte [ebp]
cmp al, 0xd
je 0x46b846
cmp al, 0xa
je 0x46b846
push ebp
push edi
push esi
push dword [esp + 0x38]
call fcn.0046b410
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x46b92e
lea eax, [edi + 0x50]
push eax
call fcn.0042f2b0
add esp, 4
jmp 0x46b8f9
cmp dword [esi + 0xe0], 0x197
jne 0x46b8f2
cmp byte [esi + 0xd75], 0
jne 0x46b8f2
mov edx, dword [edi + 0x80]
mov eax, edx
mov ecx, dword [edi + 0x84]
or eax, ecx
mov dword [edi + 0x78], 2
je 0x46b88e
push ecx
push edx
push str.Ignore__I64d_bytes_of_response_body
push esi
call fcn.004421b0
add esp, 0x10
jmp 0x46b8f9
cmp byte [edi + 0x8c], 0
je 0x46b8e0
push str.Ignore_chunked_response_body
push esi
call fcn.004421b0
lea eax, [ebp + 1]
mov byte [esi + 0x145], 1
cmp byte [eax], 0xa
cmove ebp, eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x1c]
push eax
push 1
lea eax, [ebp + 1]
push eax
push esi
call fcn.004690d0
add esp, 0x1c
cmp eax, 0xffffffff
jne 0x46b8f9
push str.chunk_reading_DONE
push esi
call fcn.004421b0
add esp, 8
jmp 0x46b8f2
push str.CONNECT:_no_content_length_or_chunked
push dword [esp + 0x30]
push esi
call fcn.00442240
add esp, 0xc
mov dword [edi + 0x78], 0
mov eax, dword [edi + 0x78]
test eax, eax
jne 0x46b6b0
mov ecx, dword [esp + 0x38]
mov byte [ecx], 1
test ebx, ebx
jne 0x46b92e
test eax, eax
jne 0x46b92e
mov eax, dword [esi + 0xd94]
sub eax, 0xc8
cmp eax, 0x64
jb 0x46b92e
push esi
call fcn.00459a30
add esp, 4
mov ebx, eax
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x18
ret
push str.CONNECT_response_too_large
push esi
call fcn.004420e0
add esp, 8
mov eax, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
cmp dword [esi + 0x170], 0
je 0x46b982
cmp dword [esi + 0x988], 0
je 0x46b982
cmp dword [esi + 0xd34], 0
je 0x46b982
push str.Proxy_CONNECT_connection_closed
push esi
mov byte [edi + 0x8d], 1
call fcn.004421b0
jmp 0x46b995
push str.Proxy_CONNECT_aborted
push esi
mov dword [esp + 0x1c], 1
call fcn.004420e0
add esp, 8
mov dword [edi + 0x78], 0
xor eax, eax
cmp dword [esp + 0x14], 0
je 0x46b904
mov ecx, dword [esp + 0x38]
test eax, eax
pop edi
sete al
mov ebx, 0x38
pop esi
mov byte [ecx], al
mov eax, ebx
pop ebp
pop ebx
add esp, 0x18
ret
mov eax, dword [esp + 0x38]
mov dword [edi + 0x78], 0
pop edi
pop esi
mov byte [eax], 1
mov eax, ebx
pop ebp
pop ebx
add esp, 0x18
ret
pop edi
pop esi
pop ebp
mov eax, 0x2a
pop ebx
add esp, 0x18
ret
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret