Function at 0x4387a0
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 + 0x540]
xor esi, esi
mov dword [esp + 0x18], edi
test byte [eax + 0x40], 3
je 0x4387fa
cmp byte [ebp + 0x50d], 0
je 0x4387d6
cmp byte [ebp + 0x500], 0
jne 0x4387fa
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.0042f050
add esp, 4
test al, al
je 0x4387fe
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x4387fe
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x438820
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x438820
mov al, 1
jmp 0x438822
xor al, al
cmp byte [ebp + 0x509], 0
mov byte [esp + 0x13], al
je 0x43884b
test byte [ebx + 0xd80], 0x28
je 0x43884b
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x43884b
mov byte [esp + 0x11], 1
jmp 0x438851
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.004367b0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x439075
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.0043da40
add esp, 0x14
test esi, esi
je 0x438939
mov eax, dword [edi]
test eax, eax
jne 0x4388f6
cmp byte [ebx + 0xb25], al
je 0x4388e0
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.0043da40
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.00436cf0
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.0043da40
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x43891e
push dword [ebx + 0x78]
call fcn.0042f050
add esp, 4
test al, al
jne 0x43891e
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.0043da40
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x438939
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.0043da40
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x43893d
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x439075
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 + 0x51e], al
jne 0x43900f
cmp byte [edi + 0x500], al
jne 0x43900f
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x438982
mov eax, dword [edi + 0x5d4]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x4389d6
test eax, eax
jne 0x43900f
cmp byte [edi + 0x2c4], al
jne 0x4389af
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.0043da40
add esp, 0xc
jmp 0x43900b
cmp dword [edi + 0x420], 0xffffffff
jne 0x4389d6
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.0043da40
add esp, 0xc
jmp 0x43900b
mov ecx, dword [ebp + 0x7dc]
mov eax, dword [edi + 0x7dc]
test ecx, ecx
je 0x438a2b
test eax, eax
je 0x43900b
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x438a10
test dl, dl
je 0x438a0c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x438a10
add ecx, 2
add eax, 2
test dl, dl
jne 0x4389f0
xor eax, eax
jmp 0x438a15
sbb eax, eax
or eax, 1
test eax, eax
jne 0x43900b
mov al, byte [ebp + 0x7e0]
cmp al, byte [edi + 0x7e0]
jmp 0x438a2d
test eax, eax
jne 0x43900b
mov ecx, dword [edi + 0x540]
mov edx, dword [ebp + 0x540]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x438a6a
push dword [ecx + 0x40]
call fcn.0043bb10
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x43900b
cmp byte [edi + 0x7e1], 0
je 0x43900b
mov al, byte [ebp + 0x506]
cmp al, byte [edi + 0x506]
jne 0x43900b
mov al, byte [ebp + 0x507]
cmp al, byte [edi + 0x507]
jne 0x43900b
test al, al
je 0x438b8e
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x43900b
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x43900b
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.00441d90
add esp, 8
test eax, eax
je 0x43900b
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 0x439007
test edx, edx
je 0x438b2d
test esi, esi
je 0x438b2d
mov al, byte [edx]
cmp al, byte [esi]
jne 0x438b20
test al, al
je 0x438b1c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x438b20
add edx, 2
add esi, 2
test al, al
jne 0x438b00
xor eax, eax
jmp 0x438b25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x439007
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 0x439007
test edx, edx
je 0x438b8a
test esi, esi
je 0x438b8a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x438b77
test al, al
je 0x438b73
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x438b77
add edx, 2
add esi, 2
test al, al
jne 0x438b57
xor eax, eax
jmp 0x438b7c
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x43900b
jmp 0x438b8e
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x503]
cmp al, byte [edi + 0x503]
jne 0x43900b
mov al, byte [ebp + 0x504]
cmp al, byte [edi + 0x504]
jne 0x43900b
cmp byte [ebp + 0x506], 0
je 0x438c78
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x43900b
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x43900b
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.00441d90
add esp, 8
test eax, eax
je 0x43900b
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x43900b
cmp dword [ebp + 0x358], 2
jne 0x438c78
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x438c4d
lea eax, [edi + 0x4d0]
push eax
lea eax, [ebp + 0x4d0]
push eax
call fcn.00437bb0
add esp, 8
test al, al
je 0x43900b
cmp dword [edi + 0x480], 2
jmp 0x438c72
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.00437bb0
add esp, 8
test al, al
je 0x43900b
cmp dword [edi + 0x460], 2
jne 0x43900b
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x438c8c
test eax, eax
jne 0x43900f
jmp 0x438c9f
test eax, eax
je 0x438c9f
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x43900b
mov ecx, dword [ebp + 0x7c4]
test ecx, ecx
jne 0x438cb2
cmp word [ebp + 0x7c8], cx
je 0x438d1d
mov ax, word [edi + 0x7c8]
cmp ax, word [ebp + 0x7c8]
jne 0x43900b
mov eax, dword [edi + 0x7cc]
cmp eax, dword [ebp + 0x7cc]
jne 0x43900b
test ecx, ecx
je 0x438d1d
mov eax, dword [edi + 0x7c4]
test eax, eax
je 0x43900b
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x438d10
test dl, dl
je 0x438d0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x438d10
add eax, 2
add ecx, 2
test dl, dl
jne 0x438cf0
xor eax, eax
jmp 0x438d15
sbb eax, eax
or eax, 1
test eax, eax
jne 0x43900b
mov esi, dword [ebp + 0x540]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x438d9d
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x438d56
test dl, dl
je 0x438d52
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x438d56
add eax, 2
add ecx, 2
test dl, dl
jne 0x438d36
xor eax, eax
jmp 0x438d5b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x439003
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x438d90
test dl, dl
je 0x438d8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x438d90
add eax, 2
add ecx, 2
test dl, dl
jne 0x438d70
xor eax, eax
jmp 0x438d95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x439003
cmp byte [ebp + 0x506], 0
je 0x438db8
test bl, 1
jne 0x438db8
cmp byte [ebp + 0x50f], 0
je 0x438ea6
mov eax, dword [edi + 0x540]
push dword [eax]
push dword [esi]
call fcn.00441dc0
add esp, 8
test eax, eax
jne 0x438dfb
mov eax, dword [edi + 0x540]
push dword [eax + 0x40]
call fcn.0043bb10
mov ecx, dword [ebp + 0x540]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x439003
cmp byte [edi + 0x7e1], 0
je 0x439003
cmp byte [ebp + 0x503], 0
je 0x438e20
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.00441dc0
add esp, 8
test eax, eax
je 0x439003
cmp byte [ebp + 0x504], 0
je 0x438e3b
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x439003
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.00441dc0
add esp, 8
test eax, eax
je 0x439003
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x439003
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x438ea6
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.00437bb0
add esp, 8
test al, al
je 0x439003
cmp dword [edi + 0x460], 2
je 0x438ea6
mov byte [esp + 0x12], 1
jmp 0x439003
mov bh, byte [esp + 0x13]
test bh, bh
je 0x438f40
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x438ee0
test dl, dl
je 0x438edc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x438ee0
add eax, 2
add ecx, 2
test dl, dl
jne 0x438ec0
xor eax, eax
jmp 0x438ee5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x438f1e
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x438f15
test dl, dl
je 0x438f11
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x438f15
add eax, 2
add ecx, 2
test dl, dl
jne 0x438ef5
xor eax, eax
jmp 0x438f1a
sbb eax, eax
or eax, 1
test eax, eax
je 0x438f4d
cmp dword [edi + 0x5e4], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x43900f
mov dword [esp + 0x18], edi
jmp 0x43900f
cmp dword [edi + 0x5e4], 0
jne 0x439003
mov al, byte [esp + 0x11]
test al, al
je 0x439019
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x439003
mov edx, dword [edi + 0x360]
test edx, edx
je 0x439003
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x438fa0
test bl, bl
je 0x438f9c
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x438fa0
add ecx, 2
add eax, 2
test bl, bl
jne 0x438f80
xor eax, eax
jmp 0x438fa5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x439003
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x438fd0
test cl, cl
je 0x438fcc
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x438fd0
add eax, 2
add edx, 2
test cl, cl
jne 0x438fb0
xor eax, eax
jmp 0x438fd5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x439003
mov al, byte [esp + 0x11]
test bh, bh
jne 0x438fe5
test al, al
je 0x439024
mov dword [esp + 0x18], edi
test bh, bh
je 0x438ff6
cmp dword [edi + 0x5e4], 0
jne 0x439047
test al, al
je 0x439003
cmp dword [edi + 0x5e8], 0
jne 0x439047
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x438948
jmp 0x439052
cmp dword [edi + 0x5e8], 0
jne 0x439003
jmp 0x438fdd
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x439056
cmp dword [esp + 0x1c], 0
je 0x439056
push str.Multiplexed_connection_found__n
push ebx
call fcn.0043da40
add esp, 8
jmp 0x439056
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x439075
push ebx
mov dword [edi], ebx
call fcn.00436cf0
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.00436cf0
add esp, 4
cmp byte [esp + 0x12], 0
je 0x4390a3
cmp byte [ebx + 0xb25], 0
je 0x4390a3
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.0043da40
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