Function at 0x10025420
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 0x1002547a
cmp byte [ebp + 0x515], 0
je 0x10025456
cmp byte [ebp + 0x508], 0
jne 0x1002547a
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.1001bdd0
add esp, 4
test al, al
je 0x1002547e
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x1002547e
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x100254a0
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x100254a0
mov al, 1
jmp 0x100254a2
xor al, al
cmp byte [ebp + 0x511], 0
mov byte [esp + 0x13], al
je 0x100254cb
test byte [ebx + 0xd80], 0x28
je 0x100254cb
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x100254cb
mov byte [esp + 0x11], 1
jmp 0x100254d1
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.100235e0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x10025cf5
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.1002a470
add esp, 0x14
test esi, esi
je 0x100255b9
mov eax, dword [edi]
test eax, eax
jne 0x10025576
cmp byte [ebx + 0xb25], al
je 0x10025560
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.1002a470
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.10023b20
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.1002a470
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x1002559e
push dword [ebx + 0x78]
call fcn.1001bdd0
add esp, 4
test al, al
jne 0x1002559e
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.1002a470
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x100255b9
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.1002a470
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x100255bd
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x10025cf5
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 0x10025c8f
cmp byte [edi + 0x508], al
jne 0x10025c8f
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x10025602
mov eax, dword [edi + 0x5dc]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x10025656
test eax, eax
jne 0x10025c8f
cmp byte [edi + 0x2c4], al
jne 0x1002562f
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.1002a470
add esp, 0xc
jmp 0x10025c8b
cmp dword [edi + 0x420], 0xffffffff
jne 0x10025656
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.1002a470
add esp, 0xc
jmp 0x10025c8b
mov ecx, dword [ebp + 0x7e8]
mov eax, dword [edi + 0x7e8]
test ecx, ecx
je 0x100256ab
test eax, eax
je 0x10025c8b
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10025690
test dl, dl
je 0x1002568c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10025690
add ecx, 2
add eax, 2
test dl, dl
jne 0x10025670
xor eax, eax
jmp 0x10025695
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10025c8b
mov al, byte [ebp + 0x7ec]
cmp al, byte [edi + 0x7ec]
jmp 0x100256ad
test eax, eax
jne 0x10025c8b
mov ecx, dword [edi + 0x548]
mov edx, dword [ebp + 0x548]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x100256ea
push dword [ecx + 0x40]
call fcn.10028540
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x10025c8b
cmp byte [edi + 0x7ed], 0
je 0x10025c8b
mov al, byte [ebp + 0x50e]
cmp al, byte [edi + 0x50e]
jne 0x10025c8b
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x10025c8b
test al, al
je 0x1002580e
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x10025c8b
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x10025c8b
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.1002e860
add esp, 8
test eax, eax
je 0x10025c8b
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 0x10025c87
test edx, edx
je 0x100257ad
test esi, esi
je 0x100257ad
mov al, byte [edx]
cmp al, byte [esi]
jne 0x100257a0
test al, al
je 0x1002579c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x100257a0
add edx, 2
add esi, 2
test al, al
jne 0x10025780
xor eax, eax
jmp 0x100257a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10025c87
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 0x10025c87
test edx, edx
je 0x1002580a
test esi, esi
je 0x1002580a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x100257f7
test al, al
je 0x100257f3
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x100257f7
add edx, 2
add esi, 2
test al, al
jne 0x100257d7
xor eax, eax
jmp 0x100257fc
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x10025c8b
jmp 0x1002580e
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x50b]
cmp al, byte [edi + 0x50b]
jne 0x10025c8b
mov al, byte [ebp + 0x50c]
cmp al, byte [edi + 0x50c]
jne 0x10025c8b
cmp byte [ebp + 0x50e], 0
je 0x100258f8
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x10025c8b
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x10025c8b
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.1002e860
add esp, 8
test eax, eax
je 0x10025c8b
mov al, byte [ebp + 0x517]
cmp al, byte [edi + 0x517]
jne 0x10025c8b
cmp dword [ebp + 0x358], 2
jne 0x100258f8
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x100258cd
lea eax, [edi + 0x4d8]
push eax
lea eax, [ebp + 0x4d8]
push eax
call fcn.10024980
add esp, 8
test al, al
je 0x10025c8b
cmp dword [edi + 0x488], 2
jmp 0x100258f2
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.10024980
add esp, 8
test al, al
je 0x10025c8b
cmp dword [edi + 0x468], 2
jne 0x10025c8b
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x1002590c
test eax, eax
jne 0x10025c8f
jmp 0x1002591f
test eax, eax
je 0x1002591f
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x10025c8b
mov ecx, dword [ebp + 0x7cc]
test ecx, ecx
jne 0x10025932
cmp word [ebp + 0x7d0], cx
je 0x1002599d
mov ax, word [edi + 0x7d0]
cmp ax, word [ebp + 0x7d0]
jne 0x10025c8b
mov eax, dword [edi + 0x7d4]
cmp eax, dword [ebp + 0x7d4]
jne 0x10025c8b
test ecx, ecx
je 0x1002599d
mov eax, dword [edi + 0x7cc]
test eax, eax
je 0x10025c8b
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10025990
test dl, dl
je 0x1002598c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10025990
add eax, 2
add ecx, 2
test dl, dl
jne 0x10025970
xor eax, eax
jmp 0x10025995
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10025c8b
mov esi, dword [ebp + 0x548]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x10025a1d
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100259d6
test dl, dl
je 0x100259d2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100259d6
add eax, 2
add ecx, 2
test dl, dl
jne 0x100259b6
xor eax, eax
jmp 0x100259db
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10025c83
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10025a10
test dl, dl
je 0x10025a0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10025a10
add eax, 2
add ecx, 2
test dl, dl
jne 0x100259f0
xor eax, eax
jmp 0x10025a15
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10025c83
cmp byte [ebp + 0x50e], 0
je 0x10025a38
test bl, 1
jne 0x10025a38
cmp byte [ebp + 0x517], 0
je 0x10025b26
mov eax, dword [edi + 0x548]
push dword [eax]
push dword [esi]
call fcn.1002e890
add esp, 8
test eax, eax
jne 0x10025a7b
mov eax, dword [edi + 0x548]
push dword [eax + 0x40]
call fcn.10028540
mov ecx, dword [ebp + 0x548]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x10025c83
cmp byte [edi + 0x7ed], 0
je 0x10025c83
cmp byte [ebp + 0x50b], 0
je 0x10025aa0
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.1002e890
add esp, 8
test eax, eax
je 0x10025c83
cmp byte [ebp + 0x50c], 0
je 0x10025abb
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x10025c83
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.1002e890
add esp, 8
test eax, eax
je 0x10025c83
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x10025c83
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x10025b26
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.10024980
add esp, 8
test al, al
je 0x10025c83
cmp dword [edi + 0x468], 2
je 0x10025b26
mov byte [esp + 0x12], 1
jmp 0x10025c83
mov bh, byte [esp + 0x13]
test bh, bh
je 0x10025bc0
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10025b60
test dl, dl
je 0x10025b5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10025b60
add eax, 2
add ecx, 2
test dl, dl
jne 0x10025b40
xor eax, eax
jmp 0x10025b65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10025b9e
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10025b95
test dl, dl
je 0x10025b91
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10025b95
add eax, 2
add ecx, 2
test dl, dl
jne 0x10025b75
xor eax, eax
jmp 0x10025b9a
sbb eax, eax
or eax, 1
test eax, eax
je 0x10025bcd
cmp dword [edi + 0x5ec], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x10025c8f
mov dword [esp + 0x18], edi
jmp 0x10025c8f
cmp dword [edi + 0x5ec], 0
jne 0x10025c83
mov al, byte [esp + 0x11]
test al, al
je 0x10025c99
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x10025c83
mov edx, dword [edi + 0x360]
test edx, edx
je 0x10025c83
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x10025c20
test bl, bl
je 0x10025c1c
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x10025c20
add ecx, 2
add eax, 2
test bl, bl
jne 0x10025c00
xor eax, eax
jmp 0x10025c25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10025c83
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x10025c50
test cl, cl
je 0x10025c4c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x10025c50
add eax, 2
add edx, 2
test cl, cl
jne 0x10025c30
xor eax, eax
jmp 0x10025c55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10025c83
mov al, byte [esp + 0x11]
test bh, bh
jne 0x10025c65
test al, al
je 0x10025ca4
mov dword [esp + 0x18], edi
test bh, bh
je 0x10025c76
cmp dword [edi + 0x5ec], 0
jne 0x10025cc7
test al, al
je 0x10025c83
cmp dword [edi + 0x5f0], 0
jne 0x10025cc7
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x100255c8
jmp 0x10025cd2
cmp dword [edi + 0x5f0], 0
jne 0x10025c83
jmp 0x10025c5d
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x10025cd6
cmp dword [esp + 0x1c], 0
je 0x10025cd6
push str.Multiplexed_connection_found__n
push ebx
call fcn.1002a470
add esp, 8
jmp 0x10025cd6
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x10025cf5
push ebx
mov dword [edi], ebx
call fcn.10023b20
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.10023b20
add esp, 4
cmp byte [esp + 0x12], 0
je 0x10025d23
cmp byte [ebx + 0xb25], 0
je 0x10025d23
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.1002a470
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