Function at 0x1002df50
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 0x1002dfaa
cmp byte [ebp + 0x515], 0
je 0x1002df86
cmp byte [ebp + 0x508], 0
jne 0x1002dfaa
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.100248e0
add esp, 4
test al, al
je 0x1002dfae
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x1002dfae
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x1002dfd0
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x1002dfd0
mov al, 1
jmp 0x1002dfd2
xor al, al
cmp byte [ebp + 0x511], 0
mov byte [esp + 0x13], al
je 0x1002dffb
test byte [ebx + 0xd80], 0x28
je 0x1002dffb
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x1002dffb
mov byte [esp + 0x11], 1
jmp 0x1002e001
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.1002c110
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x1002e825
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.10032fa0
add esp, 0x14
test esi, esi
je 0x1002e0e9
mov eax, dword [edi]
test eax, eax
jne 0x1002e0a6
cmp byte [ebx + 0xb25], al
je 0x1002e090
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.10032fa0
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.1002c650
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.10032fa0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x1002e0ce
push dword [ebx + 0x78]
call fcn.100248e0
add esp, 4
test al, al
jne 0x1002e0ce
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.10032fa0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x1002e0e9
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.10032fa0
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x1002e0ed
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x1002e825
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 0x1002e7bf
cmp byte [edi + 0x508], al
jne 0x1002e7bf
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x1002e132
mov eax, dword [edi + 0x5dc]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x1002e186
test eax, eax
jne 0x1002e7bf
cmp byte [edi + 0x2c4], al
jne 0x1002e15f
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.10032fa0
add esp, 0xc
jmp 0x1002e7bb
cmp dword [edi + 0x420], 0xffffffff
jne 0x1002e186
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.10032fa0
add esp, 0xc
jmp 0x1002e7bb
mov ecx, dword [ebp + 0x7e8]
mov eax, dword [edi + 0x7e8]
test ecx, ecx
je 0x1002e1db
test eax, eax
je 0x1002e7bb
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x1002e1c0
test dl, dl
je 0x1002e1bc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x1002e1c0
add ecx, 2
add eax, 2
test dl, dl
jne 0x1002e1a0
xor eax, eax
jmp 0x1002e1c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002e7bb
mov al, byte [ebp + 0x7ec]
cmp al, byte [edi + 0x7ec]
jmp 0x1002e1dd
test eax, eax
jne 0x1002e7bb
mov ecx, dword [edi + 0x548]
mov edx, dword [ebp + 0x548]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x1002e21a
push dword [ecx + 0x40]
call fcn.10031070
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x1002e7bb
cmp byte [edi + 0x7ed], 0
je 0x1002e7bb
mov al, byte [ebp + 0x50e]
cmp al, byte [edi + 0x50e]
jne 0x1002e7bb
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x1002e7bb
test al, al
je 0x1002e33e
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x1002e7bb
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x1002e7bb
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.10037380
add esp, 8
test eax, eax
je 0x1002e7bb
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 0x1002e7b7
test edx, edx
je 0x1002e2dd
test esi, esi
je 0x1002e2dd
mov al, byte [edx]
cmp al, byte [esi]
jne 0x1002e2d0
test al, al
je 0x1002e2cc
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x1002e2d0
add edx, 2
add esi, 2
test al, al
jne 0x1002e2b0
xor eax, eax
jmp 0x1002e2d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002e7b7
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 0x1002e7b7
test edx, edx
je 0x1002e33a
test esi, esi
je 0x1002e33a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x1002e327
test al, al
je 0x1002e323
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x1002e327
add edx, 2
add esi, 2
test al, al
jne 0x1002e307
xor eax, eax
jmp 0x1002e32c
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x1002e7bb
jmp 0x1002e33e
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x50b]
cmp al, byte [edi + 0x50b]
jne 0x1002e7bb
mov al, byte [ebp + 0x50c]
cmp al, byte [edi + 0x50c]
jne 0x1002e7bb
cmp byte [ebp + 0x50e], 0
je 0x1002e428
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x1002e7bb
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x1002e7bb
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.10037380
add esp, 8
test eax, eax
je 0x1002e7bb
mov al, byte [ebp + 0x517]
cmp al, byte [edi + 0x517]
jne 0x1002e7bb
cmp dword [ebp + 0x358], 2
jne 0x1002e428
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x1002e3fd
lea eax, [edi + 0x4d8]
push eax
lea eax, [ebp + 0x4d8]
push eax
call fcn.1002d4b0
add esp, 8
test al, al
je 0x1002e7bb
cmp dword [edi + 0x488], 2
jmp 0x1002e422
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.1002d4b0
add esp, 8
test al, al
je 0x1002e7bb
cmp dword [edi + 0x468], 2
jne 0x1002e7bb
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x1002e43c
test eax, eax
jne 0x1002e7bf
jmp 0x1002e44f
test eax, eax
je 0x1002e44f
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x1002e7bb
mov ecx, dword [ebp + 0x7cc]
test ecx, ecx
jne 0x1002e462
cmp word [ebp + 0x7d0], cx
je 0x1002e4cd
mov ax, word [edi + 0x7d0]
cmp ax, word [ebp + 0x7d0]
jne 0x1002e7bb
mov eax, dword [edi + 0x7d4]
cmp eax, dword [ebp + 0x7d4]
jne 0x1002e7bb
test ecx, ecx
je 0x1002e4cd
mov eax, dword [edi + 0x7cc]
test eax, eax
je 0x1002e7bb
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002e4c0
test dl, dl
je 0x1002e4bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002e4c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002e4a0
xor eax, eax
jmp 0x1002e4c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002e7bb
mov esi, dword [ebp + 0x548]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x1002e54d
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002e506
test dl, dl
je 0x1002e502
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002e506
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002e4e6
xor eax, eax
jmp 0x1002e50b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002e7b3
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002e540
test dl, dl
je 0x1002e53c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002e540
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002e520
xor eax, eax
jmp 0x1002e545
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002e7b3
cmp byte [ebp + 0x50e], 0
je 0x1002e568
test bl, 1
jne 0x1002e568
cmp byte [ebp + 0x517], 0
je 0x1002e656
mov eax, dword [edi + 0x548]
push dword [eax]
push dword [esi]
call fcn.100373b0
add esp, 8
test eax, eax
jne 0x1002e5ab
mov eax, dword [edi + 0x548]
push dword [eax + 0x40]
call fcn.10031070
mov ecx, dword [ebp + 0x548]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x1002e7b3
cmp byte [edi + 0x7ed], 0
je 0x1002e7b3
cmp byte [ebp + 0x50b], 0
je 0x1002e5d0
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.100373b0
add esp, 8
test eax, eax
je 0x1002e7b3
cmp byte [ebp + 0x50c], 0
je 0x1002e5eb
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x1002e7b3
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.100373b0
add esp, 8
test eax, eax
je 0x1002e7b3
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x1002e7b3
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x1002e656
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.1002d4b0
add esp, 8
test al, al
je 0x1002e7b3
cmp dword [edi + 0x468], 2
je 0x1002e656
mov byte [esp + 0x12], 1
jmp 0x1002e7b3
mov bh, byte [esp + 0x13]
test bh, bh
je 0x1002e6f0
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002e690
test dl, dl
je 0x1002e68c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002e690
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002e670
xor eax, eax
jmp 0x1002e695
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002e6ce
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002e6c5
test dl, dl
je 0x1002e6c1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002e6c5
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002e6a5
xor eax, eax
jmp 0x1002e6ca
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002e6fd
cmp dword [edi + 0x5ec], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x1002e7bf
mov dword [esp + 0x18], edi
jmp 0x1002e7bf
cmp dword [edi + 0x5ec], 0
jne 0x1002e7b3
mov al, byte [esp + 0x11]
test al, al
je 0x1002e7c9
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x1002e7b3
mov edx, dword [edi + 0x360]
test edx, edx
je 0x1002e7b3
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x1002e750
test bl, bl
je 0x1002e74c
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x1002e750
add ecx, 2
add eax, 2
test bl, bl
jne 0x1002e730
xor eax, eax
jmp 0x1002e755
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002e7b3
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x1002e780
test cl, cl
je 0x1002e77c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x1002e780
add eax, 2
add edx, 2
test cl, cl
jne 0x1002e760
xor eax, eax
jmp 0x1002e785
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002e7b3
mov al, byte [esp + 0x11]
test bh, bh
jne 0x1002e795
test al, al
je 0x1002e7d4
mov dword [esp + 0x18], edi
test bh, bh
je 0x1002e7a6
cmp dword [edi + 0x5ec], 0
jne 0x1002e7f7
test al, al
je 0x1002e7b3
cmp dword [edi + 0x5f0], 0
jne 0x1002e7f7
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x1002e0f8
jmp 0x1002e802
cmp dword [edi + 0x5f0], 0
jne 0x1002e7b3
jmp 0x1002e78d
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x1002e806
cmp dword [esp + 0x1c], 0
je 0x1002e806
push str.Multiplexed_connection_found__n
push ebx
call fcn.10032fa0
add esp, 8
jmp 0x1002e806
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x1002e825
push ebx
mov dword [edi], ebx
call fcn.1002c650
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.1002c650
add esp, 4
cmp byte [esp + 0x12], 0
je 0x1002e853
cmp byte [ebx + 0xb25], 0
je 0x1002e853
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.10032fa0
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