Function at 0x4ef220
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 0x4ef27c
cmp byte [ebp + 0x267], 0
je 0x4ef258
cmp byte [ebp + 0x25d], 0
jne 0x4ef27c
mov edi, dword [esp + 0x2c]
push dword [edi + 0x70]
call fcn.004e5600
add esp, 4
test al, al
je 0x4ef280
cmp byte [edi + 0xc2c], 3
mov eax, 2
cmovae esi, eax
jmp 0x4ef280
mov edi, dword [esp + 0x2c]
test esi, esi
setne byte [esp + 0x30]
test byte [edi + 0x998], 0x28
je 0x4ef2a0
mov eax, dword [ebp + 0x2a0]
test byte [eax + 0x44], 3
je 0x4ef2a0
mov al, 1
jmp 0x4ef2a2
xor al, al
cmp byte [ebp + 0x25a], 0
mov byte [esp + 0x13], al
je 0x4ef2cb
test byte [edi + 0x9a8], 0x28
je 0x4ef2cb
mov eax, dword [ebp + 0x2a0]
test byte [eax + 0x44], 3
je 0x4ef2cb
mov byte [esp + 0x11], 1
jmp 0x4ef2d1
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.004ed180
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x24], ebx
test ebx, ebx
je 0x4efafe
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.004f3f50
add esp, 0x14
test esi, esi
je 0x4ef3c4
mov eax, dword [ebx]
test eax, eax
jne 0x4ef385
cmp byte [edi + 0x725], al
je 0x4ef370
push str.Server_doesnt_support_multiplex_yet__wait
push edi
call fcn.004f3f50
mov eax, dword [esp + 0x44]
add esp, 8
mov byte [eax], 1
cmp dword [edi + 0x78], 0
je 0x4efb65
push 5
push edi
call fcn.004f8a50
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.004f3f50
mov eax, dword [ebx]
add esp, 8
mov byte [esp + 0x30], 0
cmp eax, 2
jne 0x4ef3ac
push dword [edi + 0x70]
call fcn.004e5600
add esp, 4
test al, al
jne 0x4ef3ac
push str.Could_multiplex__but_not_asked_to_
push edi
call fcn.004f3f50
add esp, 8
mov byte [esp + 0x30], 0
cmp dword [ebx], 0xffffffff
jne 0x4ef3c4
push str.Can_not_multiplex__even_if_we_wanted_to_
push edi
call fcn.004f3f50
add esp, 8
mov byte [esp + 0x30], 0
mov esi, dword [ebx + 8]
mov dword [esp + 0x18], esi
test esi, esi
je 0x4efafe
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 0x4efaa3
cmp byte [esi + 0x25d], bl
jne 0x4efaa3
push edi
push esi
call fcn.004f21f0
add esp, 8
test al, al
je 0x4ef41d
push 1
push esi
push edi
call fcn.004f0150
add esp, 0xc
jmp 0x4efaa3
mov al, byte [edi + 0x4f0]
test al, al
je 0x4ef433
cmp al, byte [esi + 0x100]
jne 0x4efaa3
mov eax, dword [esp + 0x24]
cmp dword [eax], 2
jne 0x4ef446
mov ebx, dword [esi + 0x300]
mov dword [esp + 0x1c], ebx
cmp byte [esp + 0x30], 0
jne 0x4ef497
test ebx, ebx
jne 0x4efaa3
cmp byte [esi + 0xd2], bl
jne 0x4ef473
push dword [esi + 0x40]
push str.Connection__ld_is_still_name_resolving__cant_reuse
push edi
call fcn.004f3f50
add esp, 0xc
jmp 0x4efaa3
cmp dword [esi + 0x148], 0xffffffff
jne 0x4ef497
push dword [esi + 0x40]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse
push edi
call fcn.004f3f50
add esp, 0xc
jmp 0x4efaa3
mov ecx, dword [ebp + 0x4e8]
mov eax, dword [esi + 0x4e8]
test ecx, ecx
je 0x4ef4eb
test eax, eax
je 0x4efaa3
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4ef4d0
test dl, dl
je 0x4ef4cc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4ef4d0
add ecx, 2
add eax, 2
test dl, dl
jne 0x4ef4b0
xor eax, eax
jmp 0x4ef4d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4efaa3
mov al, byte [ebp + 0x277]
cmp al, byte [esi + 0x277]
jmp 0x4ef4ed
test eax, eax
jne 0x4efaa3
mov edx, dword [ebp + 0x2a0]
mov ecx, dword [esi + 0x2a0]
mov eax, dword [edx + 0x4c]
xor eax, dword [ecx + 0x4c]
test al, 1
je 0x4ef522
mov eax, dword [ecx + 0x48]
cmp eax, dword [edx + 0x44]
jne 0x4efaa3
cmp byte [esi + 0x278], 0
je 0x4efaa3
mov al, byte [ebp + 0x258]
cmp al, byte [esi + 0x258]
jne 0x4efaa3
mov al, byte [ebp + 0x259]
cmp al, byte [esi + 0x259]
jne 0x4efaa3
test al, al
je 0x4ef641
mov eax, dword [ebp + 0x98]
cmp eax, dword [esi + 0x98]
jne 0x4efaa3
mov eax, dword [ebp + 0x94]
cmp eax, dword [esi + 0x94]
jne 0x4efaa3
push dword [esi + 0x8c]
push dword [ebp + 0x8c]
call fcn.004f8270
add esp, 8
test eax, eax
je 0x4efaa3
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 0x4efaa3
test edx, edx
je 0x4ef5e5
test edi, edi
je 0x4ef5e5
mov al, byte [edx]
cmp al, byte [edi]
jne 0x4ef5d8
test al, al
je 0x4ef5d4
mov al, byte [edx + 1]
cmp al, byte [edi + 1]
jne 0x4ef5d8
add edx, 2
add edi, 2
test al, al
jne 0x4ef5b8
xor eax, eax
jmp 0x4ef5dd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4efaa3
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 0x4efaa3
test edx, edx
je 0x4ef63d
test edi, edi
je 0x4ef63d
nop
mov al, byte [edx]
cmp al, byte [edi]
jne 0x4ef630
test al, al
je 0x4ef62c
mov al, byte [edx + 1]
cmp al, byte [edi + 1]
jne 0x4ef630
add edx, 2
add edi, 2
test al, al
jne 0x4ef610
xor eax, eax
jmp 0x4ef635
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4efaa3
mov edi, dword [esp + 0x2c]
mov al, byte [ebp + 0x260]
cmp al, byte [esi + 0x260]
jne 0x4efaa3
mov al, byte [ebp + 0x261]
cmp al, byte [esi + 0x261]
jne 0x4efaa3
cmp byte [ebp + 0x258], 0
je 0x4ef709
lea eax, [esi + 0xa4]
push eax
lea eax, [ebp + 0xa4]
push eax
call fcn.004f3320
add esp, 8
test al, al
je 0x4efaa3
mov al, byte [ebp + 0x25b]
cmp al, byte [esi + 0x25b]
jne 0x4efaa3
cmp dword [ebp + 0xb8], 2
jne 0x4ef709
mov eax, dword [ebp + 0x2a0]
test byte [eax + 0x4c], 1
je 0x4ef6de
lea eax, [esi + 0x214]
push eax
lea eax, [ebp + 0x214]
push eax
call fcn.004ee540
add esp, 8
test al, al
je 0x4efaa3
cmp dword [esi + 0x1b0], 2
jmp 0x4ef703
lea eax, [esi + 0x1d4]
push eax
lea eax, [ebp + 0x1d4]
push eax
call fcn.004ee540
add esp, 8
test al, al
je 0x4efaa3
cmp dword [esi + 0x190], 2
jne 0x4efaa3
cmp byte [esp + 0x30], 0
jne 0x4ef71d
cmp dword [esi + 0x300], 0
jne 0x4efaa3
cmp dword [esi + 0x300], 0
je 0x4ef73a
mov eax, dword [esi + 0x2f4]
mov eax, dword [eax]
mov eax, dword [eax + 0x70]
cmp eax, dword [edi + 0x70]
jne 0x4efaa3
mov ecx, dword [ebp + 0x4ec]
test ecx, ecx
jne 0x4ef74d
cmp word [ebp + 0x504], cx
je 0x4ef7b2
mov ax, word [esi + 0x504]
cmp ax, word [ebp + 0x504]
jne 0x4efaa3
mov eax, dword [esi + 0x4f0]
cmp eax, dword [ebp + 0x4f0]
jne 0x4efaa3
test ecx, ecx
je 0x4ef7b2
mov eax, dword [esi + 0x4ec]
test eax, eax
je 0x4efaa3
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ef7a5
test dl, dl
je 0x4ef7a1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ef7a5
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ef785
xor eax, eax
jmp 0x4ef7aa
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4efaa3
mov edi, dword [ebp + 0x2a0]
mov ebx, dword [edi + 0x4c]
test bl, bl
js 0x4ef83d
mov ecx, dword [esi + 0x104]
mov eax, dword [ebp + 0x104]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ef7f0
test dl, dl
je 0x4ef7ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ef7f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ef7d0
xor eax, eax
jmp 0x4ef7f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4efaa3
mov ecx, dword [esi + 0x108]
mov eax, dword [ebp + 0x108]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ef830
test dl, dl
je 0x4ef82c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ef830
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ef810
xor eax, eax
jmp 0x4ef835
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4efaa3
test byte [edi + 0x44], 3
je 0x4ef85d
cmp byte [esi + 0x114], 0x14
jb 0x4ef85d
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0xc2c], 3
jb 0x4efaa3
test bl, 1
jne 0x4ef878
cmp byte [ebp + 0x258], 0
je 0x4ef878
cmp byte [ebp + 0x25b], 0
je 0x4ef952
mov eax, dword [esi + 0x2a0]
push dword [eax]
push dword [edi]
call fcn.004f82a0
add esp, 8
test eax, eax
jne 0x4ef8b3
mov eax, dword [esi + 0x2a0]
mov ecx, dword [ebp + 0x2a0]
mov eax, dword [eax + 0x48]
cmp eax, dword [ecx + 0x44]
jne 0x4efaa3
cmp byte [esi + 0x278], 0
je 0x4efaa3
cmp byte [ebp + 0x260], 0
je 0x4ef8d2
push dword [esi + 0x7c]
push dword [ebp + 0x7c]
call fcn.004f82a0
add esp, 8
test eax, eax
je 0x4efaa3
cmp byte [ebp + 0x261], 0
je 0x4ef8ed
mov eax, dword [ebp + 0xcc]
cmp eax, dword [esi + 0xcc]
jne 0x4efaa3
push dword [esi + 0x64]
push dword [ebp + 0x64]
call fcn.004f82a0
add esp, 8
test eax, eax
je 0x4efaa3
mov eax, dword [ebp + 0xc8]
cmp eax, dword [esi + 0xc8]
jne 0x4efaa3
mov eax, dword [ebp + 0x2a0]
test byte [eax + 0x4c], 1
je 0x4ef952
lea eax, [esi + 0x1d4]
push eax
lea eax, [ebp + 0x1d4]
push eax
call fcn.004ee540
add esp, 8
test al, al
je 0x4efaa3
cmp dword [esi + 0x190], 2
je 0x4ef952
mov byte [esp + 0x12], 1
jmp 0x4efaa3
mov bh, byte [esp + 0x13]
test bh, bh
je 0x4ef9e3
mov ecx, dword [esi + 0x104]
mov eax, dword [ebp + 0x104]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ef990
test dl, dl
je 0x4ef98c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ef990
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ef970
xor eax, eax
jmp 0x4ef995
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4ef9ce
mov ecx, dword [esi + 0x108]
mov eax, dword [ebp + 0x108]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ef9c5
test dl, dl
je 0x4ef9c1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ef9c5
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ef9a5
xor eax, eax
jmp 0x4ef9ca
sbb eax, eax
or eax, 1
test eax, eax
je 0x4ef9f0
cmp dword [esi + 0x310], 0
cmovne esi, dword [esp + 0x14]
mov dword [esp + 0x14], esi
jmp 0x4efaa3
cmp dword [esi + 0x310], 0
jne 0x4efaa3
mov al, byte [esp + 0x11]
test al, al
je 0x4efab4
mov eax, dword [esi + 0xbc]
test eax, eax
je 0x4efaa3
mov edx, dword [esi + 0xc0]
test edx, edx
je 0x4efaa3
mov ecx, dword [ebp + 0xbc]
nop
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x4efa40
test bl, bl
je 0x4efa3c
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x4efa40
add ecx, 2
add eax, 2
test bl, bl
jne 0x4efa20
xor eax, eax
jmp 0x4efa45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4efaa3
mov eax, dword [ebp + 0xc0]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4efa70
test cl, cl
je 0x4efa6c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4efa70
add eax, 2
add edx, 2
test cl, cl
jne 0x4efa50
xor eax, eax
jmp 0x4efa75
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4efaa3
mov al, byte [esp + 0x11]
test bh, bh
jne 0x4efa85
test al, al
je 0x4efabf
mov dword [esp + 0x14], esi
test bh, bh
je 0x4efa96
cmp dword [esi + 0x310], 0
jne 0x4efaed
test al, al
je 0x4efaa3
cmp dword [esi + 0x314], 0
jne 0x4efaed
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
test esi, esi
je 0x4efae7
jmp 0x4ef3d3
cmp dword [esi + 0x314], 0
jne 0x4efaa3
jmp 0x4efa7d
cmp byte [esp + 0x30], 0
mov edi, dword [esp + 0x2c]
je 0x4efad1
cmp dword [esp + 0x1c], 0
jne 0x4efad5
mov ebx, esi
jmp 0x4efb00
push str.Multiplexed_connection_found_
push edi
mov dword [esp + 0x1c], esi
call fcn.004f3f50
add esp, 8
mov ebx, dword [esp + 0x14]
jmp 0x4efb00
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
mov byte [eax], 1
jmp 0x4efb00
xor ebx, ebx
test ebx, ebx
je 0x4efb2f
push ebx
push edi
call fcn.004e50d0
add esp, 8
cmp dword [edi + 0x78], 0
je 0x4efb1f
push 5
push edi
call fcn.004f8a50
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 0x4efb40
push 5
push edi
call fcn.004f8a50
add esp, 8
cmp byte [esp + 0x12], 0
je 0x4efb65
cmp byte [edi + 0x725], 0
je 0x4efb65
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set
push edi
call fcn.004f3f50
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