Function at 0x10029df0
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 0x10029e4a
cmp byte [ebp + 0x515], 0
je 0x10029e26
cmp byte [ebp + 0x508], 0
jne 0x10029e4a
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.10020790
add esp, 4
test al, al
je 0x10029e4e
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x10029e4e
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x10029e70
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x10029e70
mov al, 1
jmp 0x10029e72
xor al, al
cmp byte [ebp + 0x511], 0
mov byte [esp + 0x13], al
je 0x10029e9b
test byte [ebx + 0xd80], 0x28
je 0x10029e9b
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x10029e9b
mov byte [esp + 0x11], 1
jmp 0x10029ea1
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.10027fb0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x1002a6c5
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.1002ee40
add esp, 0x14
test esi, esi
je 0x10029f89
mov eax, dword [edi]
test eax, eax
jne 0x10029f46
cmp byte [ebx + 0xb25], al
je 0x10029f30
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.1002ee40
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.100284f0
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.1002ee40
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x10029f6e
push dword [ebx + 0x78]
call fcn.10020790
add esp, 4
test al, al
jne 0x10029f6e
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.1002ee40
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x10029f89
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.1002ee40
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x10029f8d
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x1002a6c5
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 0x1002a65f
cmp byte [edi + 0x508], al
jne 0x1002a65f
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x10029fd2
mov eax, dword [edi + 0x5dc]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x1002a026
test eax, eax
jne 0x1002a65f
cmp byte [edi + 0x2c4], al
jne 0x10029fff
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.1002ee40
add esp, 0xc
jmp 0x1002a65b
cmp dword [edi + 0x420], 0xffffffff
jne 0x1002a026
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.1002ee40
add esp, 0xc
jmp 0x1002a65b
mov ecx, dword [ebp + 0x7e8]
mov eax, dword [edi + 0x7e8]
test ecx, ecx
je 0x1002a07b
test eax, eax
je 0x1002a65b
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x1002a060
test dl, dl
je 0x1002a05c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x1002a060
add ecx, 2
add eax, 2
test dl, dl
jne 0x1002a040
xor eax, eax
jmp 0x1002a065
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002a65b
mov al, byte [ebp + 0x7ec]
cmp al, byte [edi + 0x7ec]
jmp 0x1002a07d
test eax, eax
jne 0x1002a65b
mov ecx, dword [edi + 0x548]
mov edx, dword [ebp + 0x548]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x1002a0ba
push dword [ecx + 0x40]
call fcn.1002cf10
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x1002a65b
cmp byte [edi + 0x7ed], 0
je 0x1002a65b
mov al, byte [ebp + 0x50e]
cmp al, byte [edi + 0x50e]
jne 0x1002a65b
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x1002a65b
test al, al
je 0x1002a1de
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x1002a65b
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x1002a65b
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.10033230
add esp, 8
test eax, eax
je 0x1002a65b
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 0x1002a657
test edx, edx
je 0x1002a17d
test esi, esi
je 0x1002a17d
mov al, byte [edx]
cmp al, byte [esi]
jne 0x1002a170
test al, al
je 0x1002a16c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x1002a170
add edx, 2
add esi, 2
test al, al
jne 0x1002a150
xor eax, eax
jmp 0x1002a175
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002a657
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 0x1002a657
test edx, edx
je 0x1002a1da
test esi, esi
je 0x1002a1da
mov al, byte [edx]
cmp al, byte [esi]
jne 0x1002a1c7
test al, al
je 0x1002a1c3
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x1002a1c7
add edx, 2
add esi, 2
test al, al
jne 0x1002a1a7
xor eax, eax
jmp 0x1002a1cc
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x1002a65b
jmp 0x1002a1de
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x50b]
cmp al, byte [edi + 0x50b]
jne 0x1002a65b
mov al, byte [ebp + 0x50c]
cmp al, byte [edi + 0x50c]
jne 0x1002a65b
cmp byte [ebp + 0x50e], 0
je 0x1002a2c8
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x1002a65b
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x1002a65b
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.10033230
add esp, 8
test eax, eax
je 0x1002a65b
mov al, byte [ebp + 0x517]
cmp al, byte [edi + 0x517]
jne 0x1002a65b
cmp dword [ebp + 0x358], 2
jne 0x1002a2c8
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x1002a29d
lea eax, [edi + 0x4d8]
push eax
lea eax, [ebp + 0x4d8]
push eax
call fcn.10029350
add esp, 8
test al, al
je 0x1002a65b
cmp dword [edi + 0x488], 2
jmp 0x1002a2c2
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.10029350
add esp, 8
test al, al
je 0x1002a65b
cmp dword [edi + 0x468], 2
jne 0x1002a65b
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x1002a2dc
test eax, eax
jne 0x1002a65f
jmp 0x1002a2ef
test eax, eax
je 0x1002a2ef
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x1002a65b
mov ecx, dword [ebp + 0x7cc]
test ecx, ecx
jne 0x1002a302
cmp word [ebp + 0x7d0], cx
je 0x1002a36d
mov ax, word [edi + 0x7d0]
cmp ax, word [ebp + 0x7d0]
jne 0x1002a65b
mov eax, dword [edi + 0x7d4]
cmp eax, dword [ebp + 0x7d4]
jne 0x1002a65b
test ecx, ecx
je 0x1002a36d
mov eax, dword [edi + 0x7cc]
test eax, eax
je 0x1002a65b
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002a360
test dl, dl
je 0x1002a35c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002a360
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002a340
xor eax, eax
jmp 0x1002a365
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002a65b
mov esi, dword [ebp + 0x548]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x1002a3ed
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002a3a6
test dl, dl
je 0x1002a3a2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002a3a6
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002a386
xor eax, eax
jmp 0x1002a3ab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002a653
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002a3e0
test dl, dl
je 0x1002a3dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002a3e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002a3c0
xor eax, eax
jmp 0x1002a3e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002a653
cmp byte [ebp + 0x50e], 0
je 0x1002a408
test bl, 1
jne 0x1002a408
cmp byte [ebp + 0x517], 0
je 0x1002a4f6
mov eax, dword [edi + 0x548]
push dword [eax]
push dword [esi]
call fcn.10033260
add esp, 8
test eax, eax
jne 0x1002a44b
mov eax, dword [edi + 0x548]
push dword [eax + 0x40]
call fcn.1002cf10
mov ecx, dword [ebp + 0x548]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x1002a653
cmp byte [edi + 0x7ed], 0
je 0x1002a653
cmp byte [ebp + 0x50b], 0
je 0x1002a470
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.10033260
add esp, 8
test eax, eax
je 0x1002a653
cmp byte [ebp + 0x50c], 0
je 0x1002a48b
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x1002a653
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.10033260
add esp, 8
test eax, eax
je 0x1002a653
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x1002a653
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x1002a4f6
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.10029350
add esp, 8
test al, al
je 0x1002a653
cmp dword [edi + 0x468], 2
je 0x1002a4f6
mov byte [esp + 0x12], 1
jmp 0x1002a653
mov bh, byte [esp + 0x13]
test bh, bh
je 0x1002a590
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002a530
test dl, dl
je 0x1002a52c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002a530
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002a510
xor eax, eax
jmp 0x1002a535
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002a56e
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002a565
test dl, dl
je 0x1002a561
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002a565
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002a545
xor eax, eax
jmp 0x1002a56a
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002a59d
cmp dword [edi + 0x5ec], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x1002a65f
mov dword [esp + 0x18], edi
jmp 0x1002a65f
cmp dword [edi + 0x5ec], 0
jne 0x1002a653
mov al, byte [esp + 0x11]
test al, al
je 0x1002a669
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x1002a653
mov edx, dword [edi + 0x360]
test edx, edx
je 0x1002a653
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x1002a5f0
test bl, bl
je 0x1002a5ec
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x1002a5f0
add ecx, 2
add eax, 2
test bl, bl
jne 0x1002a5d0
xor eax, eax
jmp 0x1002a5f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002a653
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x1002a620
test cl, cl
je 0x1002a61c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x1002a620
add eax, 2
add edx, 2
test cl, cl
jne 0x1002a600
xor eax, eax
jmp 0x1002a625
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002a653
mov al, byte [esp + 0x11]
test bh, bh
jne 0x1002a635
test al, al
je 0x1002a674
mov dword [esp + 0x18], edi
test bh, bh
je 0x1002a646
cmp dword [edi + 0x5ec], 0
jne 0x1002a697
test al, al
je 0x1002a653
cmp dword [edi + 0x5f0], 0
jne 0x1002a697
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x10029f98
jmp 0x1002a6a2
cmp dword [edi + 0x5f0], 0
jne 0x1002a653
jmp 0x1002a62d
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x1002a6a6
cmp dword [esp + 0x1c], 0
je 0x1002a6a6
push str.Multiplexed_connection_found__n
push ebx
call fcn.1002ee40
add esp, 8
jmp 0x1002a6a6
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x1002a6c5
push ebx
mov dword [edi], ebx
call fcn.100284f0
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.100284f0
add esp, 4
cmp byte [esp + 0x12], 0
je 0x1002a6f3
cmp byte [ebx + 0xb25], 0
je 0x1002a6f3
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.1002ee40
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