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

Disassembly:
sub esp, 0x14
push ebx
push ebp
mov ebp, dword [esp + 0x20]
xor ebx, ebx
push esi
push edi
mov edi, dword [esp + 0x2c]
push edi
push ebp
call fcn.1007c8d0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], ebx
mov byte [eax], bl
push dword [ebp + 0x10]
push edi
call fcn.1007cae0
add esp, 0x10
test al, al
je 0x100ae4f8
mov esi, dword [esp + 0x30]
mov eax, dword [esi + 0xb0]
test eax, eax
je 0x100ae4ab
nop dword [eax]
lea eax, [esp + 0x1c]
push eax
push 1
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x24]
push edi
call fcn.1007db10
mov ebx, eax
add esp, 0x14
cmp ebx, 0x51
je 0x100ae4f8
push edi
call fcn.1008dec0
add esp, 4
test eax, eax
jne 0x100ae4eb
test ebx, ebx
jne 0x100ae4d0
cmp dword [esp + 0x1c], ebx
jle 0x100ae45a
cmp dword [esi + 0xb0], 2
jne 0x100ae2ca
mov ecx, dword [esi + 0xb8]
mov eax, ecx
mov edx, dword [esi + 0xbc]
or eax, edx
je 0x100ae26d
sub ecx, 1
mov dword [esi + 0xb8], ecx
sbb edx, ebx
mov dword [esi + 0xbc], edx
js 0x100ae257
jg 0x100ae3fd
test ecx, ecx
jne 0x100ae3fd
mov eax, dword [esp + 0x34]
mov dword [esi + 0xb0], 0
mov byte [eax], 1
jmp 0x100ae41a
cmp byte [esi + 0xc4], 0
je 0x100ae3fd
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0
push eax
push 1
lea eax, [esp + 0x34]
push eax
lea ebp, [esi + 0x78]
push ebp
push edi
call fcn.100b1e60
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x100ae435
push ebp
push edi
call fcn.100b1e50
add esp, 8
test al, al
je 0x100ae3fd
push str.chunk_reading_DONE
push edi
call fcn.1007d470
add esp, 8
jmp 0x100ae3f3
push 1
lea eax, [esp + 0x30]
push eax
lea ebp, [esi + 0x50]
push ebp
call fcn.10071e30
add esp, 0xc
test eax, eax
jne 0x100ae43f
cmp byte [esp + 0x2c], 0xa
jne 0x100ae3fd
inc dword [esi + 0x74]
push ebp
call fcn.10071ea0
mov ebx, eax
push ebp
mov dword [esp + 0x28], ebx
call fcn.10071e90
push eax
push ebx
push 1
push edi
mov dword [esp + 0x28], eax
call fcn.1007d300
push dword [esp + 0x28]
xor ecx, ecx
cmp dword [esi + 0x74], 1
push ebx
sete cl
lea ecx, [ecx*8 + 0x14]
push ecx
push edi
call fcn.1007d910
add esp, 0x28
test eax, eax
jne 0x100ae4fa
push 1
push dword [esp + 0x14]
push edi
call fcn.10088660
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x100ae435
mov ecx, dword [esp + 0x20]
mov al, byte [ecx]
cmp al, 0xd
je 0x100ae385
cmp al, 0xa
je 0x100ae385
push ecx
push esi
push edi
push dword [esp + 0x34]
call fcn.100adf20
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x100ae435
push ebp
call fcn.10071eb0
add esp, 4
jmp 0x100ae3fd
cmp dword [edi + 0xd8], 0x197
jne 0x100ae3f3
cmp byte [edi + 0xd79], 0
jne 0x100ae3f3
mov edx, dword [esi + 0xb8]
mov eax, edx
mov ecx, dword [esi + 0xbc]
or eax, ecx
mov dword [esi + 0xb0], 2
je 0x100ae3c8
push ecx
push edx
push str.Ignore__lld_bytes_of_response_body
push edi
call fcn.1007d470
add esp, 0x10
jmp 0x100ae3fd
cmp byte [esi + 0xc4], 0
je 0x100ae3e1
push str.Ignore_chunked_response_body
push edi
call fcn.1007d470
add esp, 8
jmp 0x100ae3fd
push str.CONNECT:_no_content_length_or_chunked
push dword [esp + 0x2c]
push edi
call fcn.1007d500
add esp, 0xc
mov dword [esi + 0xb0], 0
mov eax, dword [esi + 0xb0]
test eax, eax
jne 0x100ae1d0
mov ecx, dword [esp + 0x34]
mov byte [ecx], 1
test ebx, ebx
jne 0x100ae435
test eax, eax
jne 0x100ae435
mov eax, dword [edi + 0xd9c]
sub eax, 0xc8
cmp eax, 0x64
jb 0x100ae435
push edi
call fcn.10088b70
add esp, 4
mov ebx, eax
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x14
ret
push str.CONNECT_response_too_large
push edi
call fcn.1007d3a0
add esp, 8
mov eax, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp dword [edi + 0x168], 0
je 0x100ae489
cmp dword [edi + 0x988], 0
je 0x100ae489
cmp dword [edi + 0xd38], 0
je 0x100ae489
push str.Proxy_CONNECT_connection_closed
push edi
mov byte [esi + 0xc5], 1
call fcn.1007d470
jmp 0x100ae49c
push str.Proxy_CONNECT_aborted
push edi
mov dword [esp + 0x1c], 1
call fcn.1007d3a0
add esp, 8
mov dword [esi + 0xb0], 0
xor eax, eax
cmp dword [esp + 0x14], 0
je 0x100ae40b
mov ecx, dword [esp + 0x34]
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, 0x14
ret
mov eax, dword [esp + 0x34]
pop edi
mov dword [esi + 0xb0], 0
pop esi
mov byte [eax], 1
mov eax, ebx
pop ebp
pop ebx
add esp, 0x14
ret
pop edi
pop esi
pop ebp
mov eax, 0x2a
pop ebx
add esp, 0x14
ret
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret