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

Disassembly:
sub esp, 0x18
push ebx
push ebp
mov ebp, dword [esp + 0x28]
push esi
push edi
xor edi, edi
mov byte [esp + 0x12], 0
mov eax, dword [ebp + 0x548]
xor esi, esi
mov dword [esp + 0x18], edi
test byte [eax + 0x40], 3
je 0x4ab4aa
cmp byte [ebp + 0x515], 0
je 0x4ab486
cmp byte [ebp + 0x508], 0
jne 0x4ab4aa
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.004a20d0
add esp, 4
test al, al
je 0x4ab4ae
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x4ab4ae
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x4ab4d0
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x4ab4d0
mov al, 1
jmp 0x4ab4d2
xor al, al
cmp byte [ebp + 0x511], 0
mov byte [esp + 0x13], al
je 0x4ab4fb
test byte [ebx + 0xd80], 0x28
je 0x4ab4fb
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x4ab4fb
mov byte [esp + 0x11], 1
jmp 0x4ab501
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 [ebx + 0xcd0]
push ebp
call fcn.004a9620
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x4abd22
cmp dword [edi], 2
mov eax, str.serially
mov ecx, str.can_multiplex
cmovne ecx, eax
push ecx
push edi
push dword [esp + 0x28]
push str.Found_bundle_for_host__s:__p___s__n
push ebx
call fcn.004b04d0
add esp, 0x14
test esi, esi
je 0x4ab5e7
cmp dword [edi], 0
jne 0x4ab5a4
cmp byte [ebx + 0xb25], 0
je 0x4ab590
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.004b04d0
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.004a9b60
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push str.Server_doesnt_support_multiplex__yet__n
push ebx
call fcn.004b04d0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 2
jne 0x4ab5cc
push dword [ebx + 0x78]
call fcn.004a20d0
add esp, 4
test al, al
jne 0x4ab5cc
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.004b04d0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x4ab5e7
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.004b04d0
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x4ab5eb
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x4abd22
mov edi, dword [esi]
xor eax, eax
mov esi, dword [esi + 8]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], esi
cmp byte [edi + 0x526], al
jne 0x4abb49
cmp byte [edi + 0x508], al
jne 0x4abb49
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x4ab630
mov eax, dword [edi + 0x5dc]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x4ab684
test eax, eax
jne 0x4abb49
cmp byte [edi + 0x2c4], al
jne 0x4ab65d
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.004b04d0
add esp, 0xc
jmp 0x4abb45
cmp dword [edi + 0x420], 0xffffffff
jne 0x4ab684
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.004b04d0
add esp, 0xc
jmp 0x4abb45
mov ecx, dword [ebp + 0x7e8]
mov eax, dword [edi + 0x7e8]
test ecx, ecx
je 0x4ab6db
test eax, eax
je 0x4abb45
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4ab6c0
test dl, dl
je 0x4ab6bc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4ab6c0
add ecx, 2
add eax, 2
test dl, dl
jne 0x4ab6a0
xor eax, eax
jmp 0x4ab6c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4abb45
mov al, byte [ebp + 0x7ec]
cmp al, byte [edi + 0x7ec]
jmp 0x4ab6dd
test eax, eax
jne 0x4abb45
mov ecx, dword [edi + 0x548]
mov edx, dword [ebp + 0x548]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x4ab71a
push dword [ecx + 0x40]
call fcn.004ae590
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x4abb45
cmp byte [edi + 0x7ed], 0
je 0x4abb45
mov al, byte [ebp + 0x50e]
cmp al, byte [edi + 0x50e]
jne 0x4abb45
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x4abb45
test al, al
je 0x4ab83e
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x4abb45
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x4abb45
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.004b4850
add esp, 8
test eax, eax
je 0x4abb45
mov esi, dword [edi + 0x33c]
xor ecx, ecx
mov edx, dword [ebp + 0x33c]
test esi, esi
sete cl
xor eax, eax
test edx, edx
sete al
cmp eax, ecx
jne 0x4abb41
test edx, edx
je 0x4ab7dd
test esi, esi
je 0x4ab7dd
mov al, byte [edx]
cmp al, byte [esi]
jne 0x4ab7d0
test al, al
je 0x4ab7cc
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x4ab7d0
add edx, 2
add esi, 2
test al, al
jne 0x4ab7b0
xor eax, eax
jmp 0x4ab7d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4abb41
mov esi, dword [edi + 0x340]
xor ecx, ecx
mov edx, dword [ebp + 0x340]
test esi, esi
sete cl
xor eax, eax
test edx, edx
sete al
cmp eax, ecx
jne 0x4abb41
test edx, edx
je 0x4ab83a
test esi, esi
je 0x4ab83a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x4ab827
test al, al
je 0x4ab823
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x4ab827
add edx, 2
add esi, 2
test al, al
jne 0x4ab807
xor eax, eax
jmp 0x4ab82c
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x4abb45
jmp 0x4ab83e
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x50b]
cmp al, byte [edi + 0x50b]
jne 0x4abb45
mov al, byte [ebp + 0x50c]
cmp al, byte [edi + 0x50c]
jne 0x4abb45
cmp byte [ebp + 0x50e], 0
je 0x4ab928
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x4abb45
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x4abb45
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.004b4850
add esp, 8
test eax, eax
je 0x4abb45
mov al, byte [ebp + 0x517]
cmp al, byte [edi + 0x517]
jne 0x4abb45
cmp dword [ebp + 0x358], 2
jne 0x4ab928
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x4ab8fd
lea eax, [edi + 0x4d8]
push eax
lea eax, [ebp + 0x4d8]
push eax
call fcn.004aa9c0
add esp, 8
test al, al
je 0x4abb45
cmp dword [edi + 0x488], 2
jmp 0x4ab922
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.004aa9c0
add esp, 8
test al, al
je 0x4abb45
cmp dword [edi + 0x468], 2
jne 0x4abb45
mov cl, byte [esp + 0x30]
test cl, cl
jne 0x4ab93b
cmp dword [edi], 0
jne 0x4abb49
jmp 0x4ab950
mov eax, dword [edi]
test eax, eax
je 0x4ab950
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x4abb45
mov ecx, dword [ebp + 0x7cc]
test ecx, ecx
jne 0x4ab963
cmp word [ebp + 0x7d0], cx
je 0x4ab9cd
mov ax, word [edi + 0x7d0]
cmp ax, word [ebp + 0x7d0]
jne 0x4abb45
mov eax, dword [edi + 0x7d4]
cmp eax, dword [ebp + 0x7d4]
jne 0x4abb45
test ecx, ecx
je 0x4ab9cd
mov eax, dword [edi + 0x7cc]
test eax, eax
je 0x4abb45
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ab9c0
test dl, dl
je 0x4ab9bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ab9c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ab9a0
xor eax, eax
jmp 0x4ab9c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4abb45
mov esi, dword [ebp + 0x548]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x4aba4d
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4aba06
test dl, dl
je 0x4aba02
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4aba06
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ab9e6
xor eax, eax
jmp 0x4aba0b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4abb3d
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4aba40
test dl, dl
je 0x4aba3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4aba40
add eax, 2
add ecx, 2
test dl, dl
jne 0x4aba20
xor eax, eax
jmp 0x4aba45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4abb3d
cmp byte [ebp + 0x50e], 0
je 0x4aba68
test bl, 1
jne 0x4aba68
cmp byte [ebp + 0x517], 0
je 0x4abb56
mov eax, dword [edi + 0x548]
push dword [eax]
push dword [esi]
call fcn.004b4880
add esp, 8
test eax, eax
jne 0x4abaab
mov eax, dword [edi + 0x548]
push dword [eax + 0x40]
call fcn.004ae590
mov ecx, dword [ebp + 0x548]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x4abb3d
cmp byte [edi + 0x7ed], 0
je 0x4abb3d
cmp byte [ebp + 0x50b], 0
je 0x4abacc
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.004b4880
add esp, 8
test eax, eax
je 0x4abb3d
cmp byte [ebp + 0x50c], 0
je 0x4abae3
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x4abb3d
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.004b4880
add esp, 8
test eax, eax
je 0x4abb3d
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x4abb3d
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x4abb56
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.004aa9c0
add esp, 8
test al, al
je 0x4abb3d
cmp dword [edi + 0x468], 2
je 0x4abb56
mov byte [esp + 0x12], 1
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x4ab5f6
jmp 0x4abcdc
mov bh, byte [esp + 0x13]
test bh, bh
je 0x4abbf0
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4abb90
test dl, dl
je 0x4abb8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4abb90
add eax, 2
add ecx, 2
test dl, dl
jne 0x4abb70
xor eax, eax
jmp 0x4abb95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4abbce
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4abbc5
test dl, dl
je 0x4abbc1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4abbc5
add eax, 2
add ecx, 2
test dl, dl
jne 0x4abba5
xor eax, eax
jmp 0x4abbca
sbb eax, eax
or eax, 1
test eax, eax
je 0x4abbfd
cmp dword [edi + 0x5ec], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x4abb49
mov dword [esp + 0x18], edi
jmp 0x4abb49
cmp dword [edi + 0x5ec], 0
jne 0x4abb3d
mov al, byte [esp + 0x11]
test al, al
je 0x4abc96
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x4abb3d
mov edx, dword [edi + 0x360]
test edx, edx
je 0x4abb3d
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x4abc50
test bl, bl
je 0x4abc4c
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x4abc50
add ecx, 2
add eax, 2
test bl, bl
jne 0x4abc30
xor eax, eax
jmp 0x4abc55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4abb3d
mov eax, dword [ebp + 0x360]
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4abc83
test cl, cl
je 0x4abc7f
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4abc83
add eax, 2
add edx, 2
test cl, cl
jne 0x4abc63
xor eax, eax
jmp 0x4abc88
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4abb3d
mov al, byte [esp + 0x11]
jmp 0x4abca3
cmp dword [edi + 0x5f0], 0
jne 0x4abb3d
test bh, bh
jne 0x4abcab
test al, al
je 0x4abcff
mov dword [esp + 0x18], edi
test bh, bh
je 0x4abcbc
cmp dword [edi + 0x5ec], 0
jne 0x4abcd1
test al, al
je 0x4abb3d
cmp dword [edi + 0x5f0], 0
je 0x4abb3d
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x4abd22
push ebx
mov dword [edi], ebx
call fcn.004a9b60
mov eax, dword [esp + 0x38]
add esp, 4
mov dword [eax], edi
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x4abce0
cmp dword [esp + 0x1c], 0
je 0x4abce0
push str.Multiplexed_connection_found__n
push ebx
call fcn.004b04d0
add esp, 8
jmp 0x4abce0
push ebx
call fcn.004a9b60
add esp, 4
cmp byte [esp + 0x12], 0
je 0x4abd50
cmp byte [ebx + 0xb25], 0
je 0x4abd50
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.004b04d0
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