Function at 0x10037f90
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 0x10037fea
cmp byte [ebp + 0x515], 0
je 0x10037fc6
cmp byte [ebp + 0x508], 0
jne 0x10037fea
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.1002e940
add esp, 4
test al, al
je 0x10037fee
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x10037fee
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x10038010
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x10038010
mov al, 1
jmp 0x10038012
xor al, al
cmp byte [ebp + 0x511], 0
mov byte [esp + 0x13], al
je 0x1003803b
test byte [ebx + 0xd80], 0x28
je 0x1003803b
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x1003803b
mov byte [esp + 0x11], 1
jmp 0x10038041
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.10036150
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x10038865
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.1003cfe0
add esp, 0x14
test esi, esi
je 0x10038129
mov eax, dword [edi]
test eax, eax
jne 0x100380e6
cmp byte [ebx + 0xb25], al
je 0x100380d0
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.1003cfe0
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.10036690
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.1003cfe0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x1003810e
push dword [ebx + 0x78]
call fcn.1002e940
add esp, 4
test al, al
jne 0x1003810e
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.1003cfe0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x10038129
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.1003cfe0
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x1003812d
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x10038865
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 0x100387ff
cmp byte [edi + 0x508], al
jne 0x100387ff
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x10038172
mov eax, dword [edi + 0x5dc]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x100381c6
test eax, eax
jne 0x100387ff
cmp byte [edi + 0x2c4], al
jne 0x1003819f
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.1003cfe0
add esp, 0xc
jmp 0x100387fb
cmp dword [edi + 0x420], 0xffffffff
jne 0x100381c6
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.1003cfe0
add esp, 0xc
jmp 0x100387fb
mov ecx, dword [ebp + 0x7e8]
mov eax, dword [edi + 0x7e8]
test ecx, ecx
je 0x1003821b
test eax, eax
je 0x100387fb
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10038200
test dl, dl
je 0x100381fc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10038200
add ecx, 2
add eax, 2
test dl, dl
jne 0x100381e0
xor eax, eax
jmp 0x10038205
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100387fb
mov al, byte [ebp + 0x7ec]
cmp al, byte [edi + 0x7ec]
jmp 0x1003821d
test eax, eax
jne 0x100387fb
mov ecx, dword [edi + 0x548]
mov edx, dword [ebp + 0x548]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x1003825a
push dword [ecx + 0x40]
call fcn.1003b0b0
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x100387fb
cmp byte [edi + 0x7ed], 0
je 0x100387fb
mov al, byte [ebp + 0x50e]
cmp al, byte [edi + 0x50e]
jne 0x100387fb
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x100387fb
test al, al
je 0x1003837e
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x100387fb
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x100387fb
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.100413c0
add esp, 8
test eax, eax
je 0x100387fb
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 0x100387f7
test edx, edx
je 0x1003831d
test esi, esi
je 0x1003831d
mov al, byte [edx]
cmp al, byte [esi]
jne 0x10038310
test al, al
je 0x1003830c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x10038310
add edx, 2
add esi, 2
test al, al
jne 0x100382f0
xor eax, eax
jmp 0x10038315
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100387f7
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 0x100387f7
test edx, edx
je 0x1003837a
test esi, esi
je 0x1003837a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x10038367
test al, al
je 0x10038363
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x10038367
add edx, 2
add esi, 2
test al, al
jne 0x10038347
xor eax, eax
jmp 0x1003836c
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x100387fb
jmp 0x1003837e
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x50b]
cmp al, byte [edi + 0x50b]
jne 0x100387fb
mov al, byte [ebp + 0x50c]
cmp al, byte [edi + 0x50c]
jne 0x100387fb
cmp byte [ebp + 0x50e], 0
je 0x10038468
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x100387fb
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x100387fb
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.100413c0
add esp, 8
test eax, eax
je 0x100387fb
mov al, byte [ebp + 0x517]
cmp al, byte [edi + 0x517]
jne 0x100387fb
cmp dword [ebp + 0x358], 2
jne 0x10038468
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x1003843d
lea eax, [edi + 0x4d8]
push eax
lea eax, [ebp + 0x4d8]
push eax
call fcn.100374f0
add esp, 8
test al, al
je 0x100387fb
cmp dword [edi + 0x488], 2
jmp 0x10038462
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.100374f0
add esp, 8
test al, al
je 0x100387fb
cmp dword [edi + 0x468], 2
jne 0x100387fb
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x1003847c
test eax, eax
jne 0x100387ff
jmp 0x1003848f
test eax, eax
je 0x1003848f
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x100387fb
mov ecx, dword [ebp + 0x7cc]
test ecx, ecx
jne 0x100384a2
cmp word [ebp + 0x7d0], cx
je 0x1003850d
mov ax, word [edi + 0x7d0]
cmp ax, word [ebp + 0x7d0]
jne 0x100387fb
mov eax, dword [edi + 0x7d4]
cmp eax, dword [ebp + 0x7d4]
jne 0x100387fb
test ecx, ecx
je 0x1003850d
mov eax, dword [edi + 0x7cc]
test eax, eax
je 0x100387fb
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10038500
test dl, dl
je 0x100384fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10038500
add eax, 2
add ecx, 2
test dl, dl
jne 0x100384e0
xor eax, eax
jmp 0x10038505
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100387fb
mov esi, dword [ebp + 0x548]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x1003858d
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10038546
test dl, dl
je 0x10038542
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10038546
add eax, 2
add ecx, 2
test dl, dl
jne 0x10038526
xor eax, eax
jmp 0x1003854b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100387f3
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10038580
test dl, dl
je 0x1003857c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10038580
add eax, 2
add ecx, 2
test dl, dl
jne 0x10038560
xor eax, eax
jmp 0x10038585
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100387f3
cmp byte [ebp + 0x50e], 0
je 0x100385a8
test bl, 1
jne 0x100385a8
cmp byte [ebp + 0x517], 0
je 0x10038696
mov eax, dword [edi + 0x548]
push dword [eax]
push dword [esi]
call fcn.100413f0
add esp, 8
test eax, eax
jne 0x100385eb
mov eax, dword [edi + 0x548]
push dword [eax + 0x40]
call fcn.1003b0b0
mov ecx, dword [ebp + 0x548]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x100387f3
cmp byte [edi + 0x7ed], 0
je 0x100387f3
cmp byte [ebp + 0x50b], 0
je 0x10038610
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.100413f0
add esp, 8
test eax, eax
je 0x100387f3
cmp byte [ebp + 0x50c], 0
je 0x1003862b
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x100387f3
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.100413f0
add esp, 8
test eax, eax
je 0x100387f3
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x100387f3
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x10038696
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.100374f0
add esp, 8
test al, al
je 0x100387f3
cmp dword [edi + 0x468], 2
je 0x10038696
mov byte [esp + 0x12], 1
jmp 0x100387f3
mov bh, byte [esp + 0x13]
test bh, bh
je 0x10038730
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100386d0
test dl, dl
je 0x100386cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100386d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100386b0
xor eax, eax
jmp 0x100386d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1003870e
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10038705
test dl, dl
je 0x10038701
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10038705
add eax, 2
add ecx, 2
test dl, dl
jne 0x100386e5
xor eax, eax
jmp 0x1003870a
sbb eax, eax
or eax, 1
test eax, eax
je 0x1003873d
cmp dword [edi + 0x5ec], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x100387ff
mov dword [esp + 0x18], edi
jmp 0x100387ff
cmp dword [edi + 0x5ec], 0
jne 0x100387f3
mov al, byte [esp + 0x11]
test al, al
je 0x10038809
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x100387f3
mov edx, dword [edi + 0x360]
test edx, edx
je 0x100387f3
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x10038790
test bl, bl
je 0x1003878c
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x10038790
add ecx, 2
add eax, 2
test bl, bl
jne 0x10038770
xor eax, eax
jmp 0x10038795
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100387f3
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x100387c0
test cl, cl
je 0x100387bc
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x100387c0
add eax, 2
add edx, 2
test cl, cl
jne 0x100387a0
xor eax, eax
jmp 0x100387c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100387f3
mov al, byte [esp + 0x11]
test bh, bh
jne 0x100387d5
test al, al
je 0x10038814
mov dword [esp + 0x18], edi
test bh, bh
je 0x100387e6
cmp dword [edi + 0x5ec], 0
jne 0x10038837
test al, al
je 0x100387f3
cmp dword [edi + 0x5f0], 0
jne 0x10038837
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x10038138
jmp 0x10038842
cmp dword [edi + 0x5f0], 0
jne 0x100387f3
jmp 0x100387cd
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x10038846
cmp dword [esp + 0x1c], 0
je 0x10038846
push str.Multiplexed_connection_found__n
push ebx
call fcn.1003cfe0
add esp, 8
jmp 0x10038846
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x10038865
push ebx
mov dword [edi], ebx
call fcn.10036690
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.10036690
add esp, 4
cmp byte [esp + 0x12], 0
je 0x10038893
cmp byte [ebx + 0xb25], 0
je 0x10038893
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.1003cfe0
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