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

Disassembly:
sub esp, 0x18
push ebx
push ebp
mov ebp, dword [esp + 0x28]
push esi
xor esi, esi
mov dword [esp + 0x10], 0
push edi
mov eax, dword [ebp + 0x2a0]
mov byte [esp + 0x12], 0
test byte [eax + 0x44], 3
je 0x4f8b2c
cmp byte [ebp + 0x267], 0
je 0x4f8b08
cmp byte [ebp + 0x25d], 0
jne 0x4f8b2c
mov edi, dword [esp + 0x2c]
push dword [edi + 0x70]
call fcn.004eeeb0
add esp, 4
test al, al
je 0x4f8b30
cmp byte [edi + 0xc2c], 3
mov eax, 2
cmovae esi, eax
jmp 0x4f8b30
mov edi, dword [esp + 0x2c]
test esi, esi
setne byte [esp + 0x30]
test byte [edi + 0x998], 0x28
je 0x4f8b50
mov eax, dword [ebp + 0x2a0]
test byte [eax + 0x44], 3
je 0x4f8b50
mov al, 1
jmp 0x4f8b52
xor al, al
cmp byte [ebp + 0x25a], 0
mov byte [esp + 0x13], al
je 0x4f8b7b
test byte [edi + 0x9a8], 0x28
je 0x4f8b7b
mov eax, dword [ebp + 0x2a0]
test byte [eax + 0x44], 3
je 0x4f8b7b
mov byte [esp + 0x11], 1
jmp 0x4f8b81
xor al, al
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x38]
mov byte [eax], 0
mov eax, dword [esp + 0x3c]
mov byte [eax], 0
lea eax, [esp + 0x20]
push eax
push dword [edi + 0x8d0]
push ebp
push edi
call fcn.004f6a30
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x24], ebx
test ebx, ebx
je 0x4f93ae
cmp dword [ebx], 2
mov eax, str.serially
mov ecx, str.can_multiplex
cmovne ecx, eax
push ecx
push ebx
push dword [esp + 0x28]
push str.Found_bundle_for_host__s:__p___s_
push edi
call fcn.004fd800
add esp, 0x14
test esi, esi
je 0x4f8c74
mov eax, dword [ebx]
test eax, eax
jne 0x4f8c35
cmp byte [edi + 0x725], al
je 0x4f8c20
push str.Server_doesnt_support_multiplex_yet__wait
push edi
call fcn.004fd800
mov eax, dword [esp + 0x44]
add esp, 8
mov byte [eax], 1
cmp dword [edi + 0x78], 0
je 0x4f9415
push 5
push edi
call fcn.00502300
add esp, 8
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push str.Server_doesnt_support_multiplex__yet_
push edi
call fcn.004fd800
mov eax, dword [ebx]
add esp, 8
mov byte [esp + 0x30], 0
cmp eax, 2
jne 0x4f8c5c
push dword [edi + 0x70]
call fcn.004eeeb0
add esp, 4
test al, al
jne 0x4f8c5c
push str.Could_multiplex__but_not_asked_to_
push edi
call fcn.004fd800
add esp, 8
mov byte [esp + 0x30], 0
cmp dword [ebx], 0xffffffff
jne 0x4f8c74
push str.Can_not_multiplex__even_if_we_wanted_to_
push edi
call fcn.004fd800
add esp, 8
mov byte [esp + 0x30], 0
mov esi, dword [ebx + 8]
mov dword [esp + 0x18], esi
test esi, esi
je 0x4f93ae
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov esi, dword [esi]
mov dword [esp + 0x1c], ebx
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
cmp byte [esi + 0x275], bl
jne 0x4f9353
cmp byte [esi + 0x25d], bl
jne 0x4f9353
push edi
push esi
call fcn.004fbaa0
add esp, 8
test al, al
je 0x4f8ccd
push 1
push esi
push edi
call fcn.004f9a00
add esp, 0xc
jmp 0x4f9353
mov al, byte [edi + 0x4f0]
test al, al
je 0x4f8ce3
cmp al, byte [esi + 0x100]
jne 0x4f9353
mov eax, dword [esp + 0x24]
cmp dword [eax], 2
jne 0x4f8cf6
mov ebx, dword [esi + 0x300]
mov dword [esp + 0x1c], ebx
cmp byte [esp + 0x30], 0
jne 0x4f8d47
test ebx, ebx
jne 0x4f9353
cmp byte [esi + 0xd2], bl
jne 0x4f8d23
push dword [esi + 0x40]
push str.Connection__ld_is_still_name_resolving__cant_reuse
push edi
call fcn.004fd800
add esp, 0xc
jmp 0x4f9353
cmp dword [esi + 0x148], 0xffffffff
jne 0x4f8d47
push dword [esi + 0x40]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse
push edi
call fcn.004fd800
add esp, 0xc
jmp 0x4f9353
mov ecx, dword [ebp + 0x4e8]
mov eax, dword [esi + 0x4e8]
test ecx, ecx
je 0x4f8d9b
test eax, eax
je 0x4f9353
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4f8d80
test dl, dl
je 0x4f8d7c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4f8d80
add ecx, 2
add eax, 2
test dl, dl
jne 0x4f8d60
xor eax, eax
jmp 0x4f8d85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4f9353
mov al, byte [ebp + 0x277]
cmp al, byte [esi + 0x277]
jmp 0x4f8d9d
test eax, eax
jne 0x4f9353
mov edx, dword [ebp + 0x2a0]
mov ecx, dword [esi + 0x2a0]
mov eax, dword [edx + 0x4c]
xor eax, dword [ecx + 0x4c]
test al, 1
je 0x4f8dd2
mov eax, dword [ecx + 0x48]
cmp eax, dword [edx + 0x44]
jne 0x4f9353
cmp byte [esi + 0x278], 0
je 0x4f9353
mov al, byte [ebp + 0x258]
cmp al, byte [esi + 0x258]
jne 0x4f9353
mov al, byte [ebp + 0x259]
cmp al, byte [esi + 0x259]
jne 0x4f9353
test al, al
je 0x4f8ef1
mov eax, dword [ebp + 0x98]
cmp eax, dword [esi + 0x98]
jne 0x4f9353
mov eax, dword [ebp + 0x94]
cmp eax, dword [esi + 0x94]
jne 0x4f9353
push dword [esi + 0x8c]
push dword [ebp + 0x8c]
call fcn.00501b20
add esp, 8
test eax, eax
je 0x4f9353
mov edx, dword [ebp + 0x9c]
xor ecx, ecx
mov edi, dword [esi + 0x9c]
test edx, edx
sete cl
xor eax, eax
test edi, edi
sete al
cmp ecx, eax
jne 0x4f9353
test edx, edx
je 0x4f8e95
test edi, edi
je 0x4f8e95
mov al, byte [edx]
cmp al, byte [edi]
jne 0x4f8e88
test al, al
je 0x4f8e84
mov al, byte [edx + 1]
cmp al, byte [edi + 1]
jne 0x4f8e88
add edx, 2
add edi, 2
test al, al
jne 0x4f8e68
xor eax, eax
jmp 0x4f8e8d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4f9353
mov edx, dword [ebp + 0xa0]
xor ecx, ecx
mov edi, dword [esi + 0xa0]
test edx, edx
sete cl
xor eax, eax
test edi, edi
sete al
cmp ecx, eax
jne 0x4f9353
test edx, edx
je 0x4f8eed
test edi, edi
je 0x4f8eed
nop
mov al, byte [edx]
cmp al, byte [edi]
jne 0x4f8ee0
test al, al
je 0x4f8edc
mov al, byte [edx + 1]
cmp al, byte [edi + 1]
jne 0x4f8ee0
add edx, 2
add edi, 2
test al, al
jne 0x4f8ec0
xor eax, eax
jmp 0x4f8ee5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4f9353
mov edi, dword [esp + 0x2c]
mov al, byte [ebp + 0x260]
cmp al, byte [esi + 0x260]
jne 0x4f9353
mov al, byte [ebp + 0x261]
cmp al, byte [esi + 0x261]
jne 0x4f9353
cmp byte [ebp + 0x258], 0
je 0x4f8fb9
lea eax, [esi + 0xa4]
push eax
lea eax, [ebp + 0xa4]
push eax
call fcn.004fcbd0
add esp, 8
test al, al
je 0x4f9353
mov al, byte [ebp + 0x25b]
cmp al, byte [esi + 0x25b]
jne 0x4f9353
cmp dword [ebp + 0xb8], 2
jne 0x4f8fb9
mov eax, dword [ebp + 0x2a0]
test byte [eax + 0x4c], 1
je 0x4f8f8e
lea eax, [esi + 0x214]
push eax
lea eax, [ebp + 0x214]
push eax
call fcn.004f7df0
add esp, 8
test al, al
je 0x4f9353
cmp dword [esi + 0x1b0], 2
jmp 0x4f8fb3
lea eax, [esi + 0x1d4]
push eax
lea eax, [ebp + 0x1d4]
push eax
call fcn.004f7df0
add esp, 8
test al, al
je 0x4f9353
cmp dword [esi + 0x190], 2
jne 0x4f9353
cmp byte [esp + 0x30], 0
jne 0x4f8fcd
cmp dword [esi + 0x300], 0
jne 0x4f9353
cmp dword [esi + 0x300], 0
je 0x4f8fea
mov eax, dword [esi + 0x2f4]
mov eax, dword [eax]
mov eax, dword [eax + 0x70]
cmp eax, dword [edi + 0x70]
jne 0x4f9353
mov ecx, dword [ebp + 0x4ec]
test ecx, ecx
jne 0x4f8ffd
cmp word [ebp + 0x504], cx
je 0x4f9062
mov ax, word [esi + 0x504]
cmp ax, word [ebp + 0x504]
jne 0x4f9353
mov eax, dword [esi + 0x4f0]
cmp eax, dword [ebp + 0x4f0]
jne 0x4f9353
test ecx, ecx
je 0x4f9062
mov eax, dword [esi + 0x4ec]
test eax, eax
je 0x4f9353
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4f9055
test dl, dl
je 0x4f9051
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4f9055
add eax, 2
add ecx, 2
test dl, dl
jne 0x4f9035
xor eax, eax
jmp 0x4f905a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4f9353
mov edi, dword [ebp + 0x2a0]
mov ebx, dword [edi + 0x4c]
test bl, bl
js 0x4f90ed
mov ecx, dword [esi + 0x104]
mov eax, dword [ebp + 0x104]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4f90a0
test dl, dl
je 0x4f909c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4f90a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4f9080
xor eax, eax
jmp 0x4f90a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4f9353
mov ecx, dword [esi + 0x108]
mov eax, dword [ebp + 0x108]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4f90e0
test dl, dl
je 0x4f90dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4f90e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4f90c0
xor eax, eax
jmp 0x4f90e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4f9353
test byte [edi + 0x44], 3
je 0x4f910d
cmp byte [esi + 0x114], 0x14
jb 0x4f910d
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0xc2c], 3
jb 0x4f9353
test bl, 1
jne 0x4f9128
cmp byte [ebp + 0x258], 0
je 0x4f9128
cmp byte [ebp + 0x25b], 0
je 0x4f9202
mov eax, dword [esi + 0x2a0]
push dword [eax]
push dword [edi]
call fcn.00501b50
add esp, 8
test eax, eax
jne 0x4f9163
mov eax, dword [esi + 0x2a0]
mov ecx, dword [ebp + 0x2a0]
mov eax, dword [eax + 0x48]
cmp eax, dword [ecx + 0x44]
jne 0x4f9353
cmp byte [esi + 0x278], 0
je 0x4f9353
cmp byte [ebp + 0x260], 0
je 0x4f9182
push dword [esi + 0x7c]
push dword [ebp + 0x7c]
call fcn.00501b50
add esp, 8
test eax, eax
je 0x4f9353
cmp byte [ebp + 0x261], 0
je 0x4f919d
mov eax, dword [ebp + 0xcc]
cmp eax, dword [esi + 0xcc]
jne 0x4f9353
push dword [esi + 0x64]
push dword [ebp + 0x64]
call fcn.00501b50
add esp, 8
test eax, eax
je 0x4f9353
mov eax, dword [ebp + 0xc8]
cmp eax, dword [esi + 0xc8]
jne 0x4f9353
mov eax, dword [ebp + 0x2a0]
test byte [eax + 0x4c], 1
je 0x4f9202
lea eax, [esi + 0x1d4]
push eax
lea eax, [ebp + 0x1d4]
push eax
call fcn.004f7df0
add esp, 8
test al, al
je 0x4f9353
cmp dword [esi + 0x190], 2
je 0x4f9202
mov byte [esp + 0x12], 1
jmp 0x4f9353
mov bh, byte [esp + 0x13]
test bh, bh
je 0x4f9293
mov ecx, dword [esi + 0x104]
mov eax, dword [ebp + 0x104]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4f9240
test dl, dl
je 0x4f923c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4f9240
add eax, 2
add ecx, 2
test dl, dl
jne 0x4f9220
xor eax, eax
jmp 0x4f9245
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4f927e
mov ecx, dword [esi + 0x108]
mov eax, dword [ebp + 0x108]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4f9275
test dl, dl
je 0x4f9271
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4f9275
add eax, 2
add ecx, 2
test dl, dl
jne 0x4f9255
xor eax, eax
jmp 0x4f927a
sbb eax, eax
or eax, 1
test eax, eax
je 0x4f92a0
cmp dword [esi + 0x310], 0
cmovne esi, dword [esp + 0x14]
mov dword [esp + 0x14], esi
jmp 0x4f9353
cmp dword [esi + 0x310], 0
jne 0x4f9353
mov al, byte [esp + 0x11]
test al, al
je 0x4f9364
mov eax, dword [esi + 0xbc]
test eax, eax
je 0x4f9353
mov edx, dword [esi + 0xc0]
test edx, edx
je 0x4f9353
mov ecx, dword [ebp + 0xbc]
nop
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x4f92f0
test bl, bl
je 0x4f92ec
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x4f92f0
add ecx, 2
add eax, 2
test bl, bl
jne 0x4f92d0
xor eax, eax
jmp 0x4f92f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4f9353
mov eax, dword [ebp + 0xc0]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4f9320
test cl, cl
je 0x4f931c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4f9320
add eax, 2
add edx, 2
test cl, cl
jne 0x4f9300
xor eax, eax
jmp 0x4f9325
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4f9353
mov al, byte [esp + 0x11]
test bh, bh
jne 0x4f9335
test al, al
je 0x4f936f
mov dword [esp + 0x14], esi
test bh, bh
je 0x4f9346
cmp dword [esi + 0x310], 0
jne 0x4f939d
test al, al
je 0x4f9353
cmp dword [esi + 0x314], 0
jne 0x4f939d
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
test esi, esi
je 0x4f9397
jmp 0x4f8c83
cmp dword [esi + 0x314], 0
jne 0x4f9353
jmp 0x4f932d
cmp byte [esp + 0x30], 0
mov edi, dword [esp + 0x2c]
je 0x4f9381
cmp dword [esp + 0x1c], 0
jne 0x4f9385
mov ebx, esi
jmp 0x4f93b0
push str.Multiplexed_connection_found_
push edi
mov dword [esp + 0x1c], esi
call fcn.004fd800
add esp, 8
mov ebx, dword [esp + 0x14]
jmp 0x4f93b0
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
mov byte [eax], 1
jmp 0x4f93b0
xor ebx, ebx
test ebx, ebx
je 0x4f93df
push ebx
push edi
call fcn.004ee980
add esp, 8
cmp dword [edi + 0x78], 0
je 0x4f93cf
push 5
push edi
call fcn.00502300
add esp, 8
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebp
mov dword [eax], ebx
mov al, 1
pop ebx
add esp, 0x18
ret
cmp dword [edi + 0x78], 0
je 0x4f93f0
push 5
push edi
call fcn.00502300
add esp, 8
cmp byte [esp + 0x12], 0
je 0x4f9415
cmp byte [edi + 0x725], 0
je 0x4f9415
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set
push edi
call fcn.004fd800
mov eax, dword [esp + 0x44]
add esp, 8
mov byte [eax], 1
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x18
ret