Function at 0x423ae0
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 0x423b3a
cmp byte [ebp + 0x515], 0
je 0x423b16
cmp byte [ebp + 0x508], 0
jne 0x423b3a
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.0041a780
add esp, 4
test al, al
je 0x423b3e
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x423b3e
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x423b60
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x423b60
mov al, 1
jmp 0x423b62
xor al, al
cmp byte [ebp + 0x511], 0
mov byte [esp + 0x13], al
je 0x423b8b
test byte [ebx + 0xd80], 0x28
je 0x423b8b
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x423b8b
mov byte [esp + 0x11], 1
jmp 0x423b91
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.00421c80
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x4243b5
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.00428b40
add esp, 0x14
test esi, esi
je 0x423c79
mov eax, dword [edi]
test eax, eax
jne 0x423c36
cmp byte [ebx + 0xb25], al
je 0x423c20
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.00428b40
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.004221c0
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.00428b40
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x423c5e
push dword [ebx + 0x78]
call fcn.0041a780
add esp, 4
test al, al
jne 0x423c5e
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.00428b40
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x423c79
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.00428b40
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x423c7d
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x4243b5
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 0x42434f
cmp byte [edi + 0x508], al
jne 0x42434f
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x423cc2
mov eax, dword [edi + 0x5dc]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x423d16
test eax, eax
jne 0x42434f
cmp byte [edi + 0x2c4], al
jne 0x423cef
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.00428b40
add esp, 0xc
jmp 0x42434b
cmp dword [edi + 0x420], 0xffffffff
jne 0x423d16
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.00428b40
add esp, 0xc
jmp 0x42434b
mov ecx, dword [ebp + 0x7e8]
mov eax, dword [edi + 0x7e8]
test ecx, ecx
je 0x423d6b
test eax, eax
je 0x42434b
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x423d50
test dl, dl
je 0x423d4c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x423d50
add ecx, 2
add eax, 2
test dl, dl
jne 0x423d30
xor eax, eax
jmp 0x423d55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42434b
mov al, byte [ebp + 0x7ec]
cmp al, byte [edi + 0x7ec]
jmp 0x423d6d
test eax, eax
jne 0x42434b
mov ecx, dword [edi + 0x548]
mov edx, dword [ebp + 0x548]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x423daa
push dword [ecx + 0x40]
call fcn.00426c10
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x42434b
cmp byte [edi + 0x7ed], 0
je 0x42434b
mov al, byte [ebp + 0x50e]
cmp al, byte [edi + 0x50e]
jne 0x42434b
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x42434b
test al, al
je 0x423ece
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x42434b
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x42434b
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.0042ba10
add esp, 8
test eax, eax
je 0x42434b
mov edx, dword [ebp + 0x33c]
xor ecx, ecx
mov esi, dword [edi + 0x33c]
test edx, edx
sete cl
xor eax, eax
test esi, esi
sete al
cmp ecx, eax
jne 0x424347
test edx, edx
je 0x423e6d
test esi, esi
je 0x423e6d
mov al, byte [edx]
cmp al, byte [esi]
jne 0x423e60
test al, al
je 0x423e5c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x423e60
add edx, 2
add esi, 2
test al, al
jne 0x423e40
xor eax, eax
jmp 0x423e65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x424347
mov edx, dword [ebp + 0x340]
xor ecx, ecx
mov esi, dword [edi + 0x340]
test edx, edx
sete cl
xor eax, eax
test esi, esi
sete al
cmp ecx, eax
jne 0x424347
test edx, edx
je 0x423eca
test esi, esi
je 0x423eca
mov al, byte [edx]
cmp al, byte [esi]
jne 0x423eb7
test al, al
je 0x423eb3
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x423eb7
add edx, 2
add esi, 2
test al, al
jne 0x423e97
xor eax, eax
jmp 0x423ebc
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x42434b
jmp 0x423ece
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x50b]
cmp al, byte [edi + 0x50b]
jne 0x42434b
mov al, byte [ebp + 0x50c]
cmp al, byte [edi + 0x50c]
jne 0x42434b
cmp byte [ebp + 0x50e], 0
je 0x423fb8
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x42434b
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x42434b
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.0042ba10
add esp, 8
test eax, eax
je 0x42434b
mov al, byte [ebp + 0x517]
cmp al, byte [edi + 0x517]
jne 0x42434b
cmp dword [ebp + 0x358], 2
jne 0x423fb8
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x423f8d
lea eax, [edi + 0x4d8]
push eax
lea eax, [ebp + 0x4d8]
push eax
call fcn.00423040
add esp, 8
test al, al
je 0x42434b
cmp dword [edi + 0x488], 2
jmp 0x423fb2
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.00423040
add esp, 8
test al, al
je 0x42434b
cmp dword [edi + 0x468], 2
jne 0x42434b
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x423fcc
test eax, eax
jne 0x42434f
jmp 0x423fdf
test eax, eax
je 0x423fdf
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x42434b
mov ecx, dword [ebp + 0x7cc]
test ecx, ecx
jne 0x423ff2
cmp word [ebp + 0x7d0], cx
je 0x42405d
mov ax, word [edi + 0x7d0]
cmp ax, word [ebp + 0x7d0]
jne 0x42434b
mov eax, dword [edi + 0x7d4]
cmp eax, dword [ebp + 0x7d4]
jne 0x42434b
test ecx, ecx
je 0x42405d
mov eax, dword [edi + 0x7cc]
test eax, eax
je 0x42434b
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x424050
test dl, dl
je 0x42404c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x424050
add eax, 2
add ecx, 2
test dl, dl
jne 0x424030
xor eax, eax
jmp 0x424055
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42434b
mov esi, dword [ebp + 0x548]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x4240dd
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x424096
test dl, dl
je 0x424092
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x424096
add eax, 2
add ecx, 2
test dl, dl
jne 0x424076
xor eax, eax
jmp 0x42409b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x424343
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4240d0
test dl, dl
je 0x4240cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4240d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4240b0
xor eax, eax
jmp 0x4240d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x424343
cmp byte [ebp + 0x50e], 0
je 0x4240f8
test bl, 1
jne 0x4240f8
cmp byte [ebp + 0x517], 0
je 0x4241e6
mov eax, dword [edi + 0x548]
push dword [eax]
push dword [esi]
call fcn.0042ba40
add esp, 8
test eax, eax
jne 0x42413b
mov eax, dword [edi + 0x548]
push dword [eax + 0x40]
call fcn.00426c10
mov ecx, dword [ebp + 0x548]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x424343
cmp byte [edi + 0x7ed], 0
je 0x424343
cmp byte [ebp + 0x50b], 0
je 0x424160
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.0042ba40
add esp, 8
test eax, eax
je 0x424343
cmp byte [ebp + 0x50c], 0
je 0x42417b
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x424343
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.0042ba40
add esp, 8
test eax, eax
je 0x424343
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x424343
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x4241e6
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.00423040
add esp, 8
test al, al
je 0x424343
cmp dword [edi + 0x468], 2
je 0x4241e6
mov byte [esp + 0x12], 1
jmp 0x424343
mov bh, byte [esp + 0x13]
test bh, bh
je 0x424280
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x424220
test dl, dl
je 0x42421c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x424220
add eax, 2
add ecx, 2
test dl, dl
jne 0x424200
xor eax, eax
jmp 0x424225
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42425e
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x424255
test dl, dl
je 0x424251
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x424255
add eax, 2
add ecx, 2
test dl, dl
jne 0x424235
xor eax, eax
jmp 0x42425a
sbb eax, eax
or eax, 1
test eax, eax
je 0x42428d
cmp dword [edi + 0x5ec], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x42434f
mov dword [esp + 0x18], edi
jmp 0x42434f
cmp dword [edi + 0x5ec], 0
jne 0x424343
mov al, byte [esp + 0x11]
test al, al
je 0x424359
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x424343
mov edx, dword [edi + 0x360]
test edx, edx
je 0x424343
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x4242e0
test bl, bl
je 0x4242dc
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x4242e0
add ecx, 2
add eax, 2
test bl, bl
jne 0x4242c0
xor eax, eax
jmp 0x4242e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x424343
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x424310
test cl, cl
je 0x42430c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x424310
add eax, 2
add edx, 2
test cl, cl
jne 0x4242f0
xor eax, eax
jmp 0x424315
sbb eax, eax
or eax, 1
test eax, eax
jne 0x424343
mov al, byte [esp + 0x11]
test bh, bh
jne 0x424325
test al, al
je 0x424364
mov dword [esp + 0x18], edi
test bh, bh
je 0x424336
cmp dword [edi + 0x5ec], 0
jne 0x424387
test al, al
je 0x424343
cmp dword [edi + 0x5f0], 0
jne 0x424387
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x423c88
jmp 0x424392
cmp dword [edi + 0x5f0], 0
jne 0x424343
jmp 0x42431d
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x424396
cmp dword [esp + 0x1c], 0
je 0x424396
push str.Multiplexed_connection_found__n
push ebx
call fcn.00428b40
add esp, 8
jmp 0x424396
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x4243b5
push ebx
mov dword [edi], ebx
call fcn.004221c0
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
push ebx
call fcn.004221c0
add esp, 4
cmp byte [esp + 0x12], 0
je 0x4243e3
cmp byte [ebx + 0xb25], 0
je 0x4243e3
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.00428b40
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