Function at 0x4718d0
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 + 0x2a0]
xor esi, esi
mov dword [esp + 0x14], edi
test byte [eax + 0x44], 3
je 0x47192a
cmp byte [ebp + 0x267], 0
je 0x471906
cmp byte [ebp + 0x25d], 0
jne 0x47192a
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x70]
call fcn.00469800
add esp, 4
test al, al
je 0x47192e
cmp byte [ebx + 0xc34], 3
mov eax, 2
cmovae esi, eax
jmp 0x47192e
mov ebx, dword [esp + 0x2c]
test esi, esi
setne byte [esp + 0x30]
test byte [ebx + 0x9a0], 0x28
je 0x47194e
mov eax, dword [ebp + 0x2a0]
test byte [eax + 0x44], 3
je 0x47194e
mov al, 1
jmp 0x471950
xor al, al
cmp byte [ebp + 0x25a], 0
mov byte [esp + 0x13], al
je 0x471979
test byte [ebx + 0x9b0], 0x28
je 0x471979
mov eax, dword [ebp + 0x2a0]
test byte [eax + 0x44], 3
je 0x471979
mov byte [esp + 0x11], 1
jmp 0x47197f
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 + 0x24]
push eax
push dword [ebx + 0x8d8]
push ebp
push ebx
call fcn.0046f840
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
je 0x47218c
cmp dword [eax], 2
mov edx, str.serially
mov ecx, str.can_multiplex
cmovne ecx, edx
push ecx
push eax
push dword [esp + 0x2c]
push str.Found_bundle_for_host__s:__p___s_
push ebx
call fcn.004766a0
add esp, 0x14
test esi, esi
mov esi, dword [esp + 0x18]
je 0x471a70
cmp dword [esi], edi
jne 0x471a31
cmp byte [ebx + 0x731], 0
je 0x471a1e
push str.Server_doesnt_support_multiplex_yet__wait
push ebx
call fcn.004766a0
mov eax, dword [esp + 0x44]
add esp, 8
mov byte [eax], 1
cmp dword [ebx + 0x78], edi
je 0x47221e
push 5
push ebx
call fcn.0047b440
add esp, 8
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push str.Server_doesnt_support_multiplex__yet_
push ebx
call fcn.004766a0
add esp, 8
mov byte [esp + 0x30], 0
cmp dword [esi], 2
jne 0x471a58
push dword [ebx + 0x70]
call fcn.00469800
add esp, 4
test al, al
jne 0x471a58
push str.Could_multiplex__but_not_asked_to_
push ebx
call fcn.004766a0
add esp, 8
mov byte [esp + 0x30], 0
cmp dword [esi], 0xffffffff
jne 0x471a70
push str.Can_not_multiplex__even_if_we_wanted_to_
push ebx
call fcn.004766a0
add esp, 8
mov byte [esp + 0x30], 0
mov esi, dword [esi + 8]
mov dword [esp + 0x1c], esi
test esi, esi
je 0x47218c
nop
mov eax, dword [esp + 0x1c]
xor esi, esi
mov dword [esp + 0x20], esi
mov edi, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], eax
cmp byte [edi + 0x275], 0
jne 0x471ffd
cmp byte [edi + 0x25d], 0
jne 0x471ffd
push ebx
push edi
call fcn.00474980
add esp, 8
test al, al
je 0x471acc
push 1
push edi
push ebx
call fcn.00472830
add esp, 0xc
jmp 0x471ffd
mov al, byte [ebx + 0x4f8]
test al, al
je 0x471ae2
cmp al, byte [edi + 0x100]
jne 0x471ffd
mov eax, dword [esp + 0x18]
cmp dword [eax], 2
jne 0x471af5
mov esi, dword [edi + 0x300]
mov dword [esp + 0x20], esi
cmp byte [esp + 0x30], 0
jne 0x471b47
test esi, esi
jne 0x471ffd
cmp byte [edi + 0xd2], 0
jne 0x471b23
push dword [edi + 0x40]
push str.Connection__ld_is_still_name_resolving__cant_reuse
push ebx
call fcn.004766a0
add esp, 0xc
jmp 0x471ffd
cmp dword [edi + 0x148], 0xffffffff
jne 0x471b47
push dword [edi + 0x40]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse
push ebx
call fcn.004766a0
add esp, 0xc
jmp 0x471ffd
mov ecx, dword [ebp + 0x4e8]
mov eax, dword [edi + 0x4e8]
test ecx, ecx
je 0x471b9b
test eax, eax
je 0x471ffd
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x471b80
test dl, dl
je 0x471b7c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x471b80
add ecx, 2
add eax, 2
test dl, dl
jne 0x471b60
xor eax, eax
jmp 0x471b85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x471ffd
mov al, byte [ebp + 0x277]
cmp al, byte [edi + 0x277]
jmp 0x471b9d
test eax, eax
jne 0x471ffd
mov edx, dword [ebp + 0x2a0]
mov ecx, dword [edi + 0x2a0]
mov eax, dword [edx + 0x4c]
xor eax, dword [ecx + 0x4c]
test al, 1
je 0x471bd2
mov eax, dword [ecx + 0x48]
cmp eax, dword [edx + 0x44]
jne 0x471ffd
cmp byte [edi + 0x278], 0
je 0x471ffd
mov al, byte [ebp + 0x258]
cmp al, byte [edi + 0x258]
jne 0x471ffd
mov al, byte [ebp + 0x259]
cmp al, byte [edi + 0x259]
jne 0x471ffd
test al, al
je 0x471ced
mov eax, dword [ebp + 0x98]
cmp eax, dword [edi + 0x98]
jne 0x471ffd
mov eax, dword [ebp + 0x94]
cmp eax, dword [edi + 0x94]
jne 0x471ffd
push dword [edi + 0x8c]
push dword [ebp + 0x8c]
call fcn.0047aca0
add esp, 8
test eax, eax
je 0x471ffd
mov esi, dword [edi + 0x9c]
xor ecx, ecx
mov edx, dword [ebp + 0x9c]
test esi, esi
sete cl
xor eax, eax
test edx, edx
sete al
cmp eax, ecx
jne 0x471ffd
test edx, edx
je 0x471c95
test esi, esi
je 0x471c95
mov al, byte [edx]
cmp al, byte [esi]
jne 0x471c88
test al, al
je 0x471c84
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x471c88
add edx, 2
add esi, 2
test al, al
jne 0x471c68
xor eax, eax
jmp 0x471c8d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x471ffd
mov esi, dword [edi + 0xa0]
xor ecx, ecx
mov edx, dword [ebp + 0xa0]
test esi, esi
sete cl
xor eax, eax
test edx, edx
sete al
cmp eax, ecx
jne 0x471ffd
test edx, edx
je 0x471ced
test esi, esi
je 0x471ced
nop
mov al, byte [edx]
cmp al, byte [esi]
jne 0x471ce0
test al, al
je 0x471cdc
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x471ce0
add edx, 2
add esi, 2
test al, al
jne 0x471cc0
xor eax, eax
jmp 0x471ce5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x471ffd
mov al, byte [ebp + 0x260]
cmp al, byte [edi + 0x260]
jne 0x471ffd
mov al, byte [ebp + 0x261]
cmp al, byte [edi + 0x261]
jne 0x471ffd
cmp byte [ebp + 0x258], 0
je 0x471dd7
mov eax, dword [ebp + 0xb8]
cmp eax, dword [edi + 0xb8]
jne 0x471ffd
mov eax, dword [ebp + 0xb4]
cmp eax, dword [edi + 0xb4]
jne 0x471ffd
push dword [edi + 0xac]
push dword [ebp + 0xac]
call fcn.0047aca0
add esp, 8
test eax, eax
je 0x471ffd
mov al, byte [ebp + 0x25b]
cmp al, byte [edi + 0x25b]
jne 0x471ffd
cmp dword [ebp + 0xb8], 2
jne 0x471dd7
mov eax, dword [ebp + 0x2a0]
test byte [eax + 0x4c], 1
je 0x471dac
lea eax, [edi + 0x214]
push eax
lea eax, [ebp + 0x214]
push eax
call fcn.00470be0
add esp, 8
test al, al
je 0x471ffd
cmp dword [edi + 0x1b0], 2
jmp 0x471dd1
lea eax, [edi + 0x1d4]
push eax
lea eax, [ebp + 0x1d4]
push eax
call fcn.00470be0
add esp, 8
test al, al
je 0x471ffd
cmp dword [edi + 0x190], 2
jne 0x471ffd
cmp byte [esp + 0x30], 0
jne 0x471de7
cmp dword [edi + 0x300], 0
jmp 0x471dfe
cmp dword [edi + 0x300], 0
je 0x471e04
mov eax, dword [edi + 0x2f4]
mov eax, dword [eax]
mov eax, dword [eax + 0x70]
cmp eax, dword [ebx + 0x70]
jne 0x471ffd
mov ecx, dword [ebp + 0x4ec]
test ecx, ecx
jne 0x471e17
cmp word [ebp + 0x504], cx
je 0x471e7d
mov ax, word [edi + 0x504]
cmp ax, word [ebp + 0x504]
jne 0x471ffd
mov eax, dword [edi + 0x4f0]
cmp eax, dword [ebp + 0x4f0]
jne 0x471ffd
test ecx, ecx
je 0x471e7d
mov eax, dword [edi + 0x4ec]
test eax, eax
je 0x471ffd
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x471e70
test dl, dl
je 0x471e6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x471e70
add eax, 2
add ecx, 2
test dl, dl
jne 0x471e50
xor eax, eax
jmp 0x471e75
sbb eax, eax
or eax, 1
test eax, eax
jne 0x471ffd
mov esi, dword [ebp + 0x2a0]
mov ebx, dword [esi + 0x4c]
test bl, bl
js 0x471efd
mov ecx, dword [edi + 0x104]
mov eax, dword [ebp + 0x104]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x471eb6
test dl, dl
je 0x471eb2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x471eb6
add eax, 2
add ecx, 2
test dl, dl
jne 0x471e96
xor eax, eax
jmp 0x471ebb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x471ff9
mov ecx, dword [edi + 0x108]
mov eax, dword [ebp + 0x108]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x471ef0
test dl, dl
je 0x471eec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x471ef0
add eax, 2
add ecx, 2
test dl, dl
jne 0x471ed0
xor eax, eax
jmp 0x471ef5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x471ff9
test byte [esi + 0x44], 3
je 0x471f1d
cmp byte [edi + 0x114], 0x14
jb 0x471f1d
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0xc34], 3
jb 0x4721bf
test bl, 1
jne 0x471f38
cmp byte [ebp + 0x258], 0
je 0x471f38
cmp byte [ebp + 0x25b], 0
je 0x47200d
mov eax, dword [edi + 0x2a0]
push dword [eax]
push dword [esi]
call fcn.0047acd0
add esp, 8
test eax, eax
jne 0x471f73
mov eax, dword [edi + 0x2a0]
mov ecx, dword [ebp + 0x2a0]
mov eax, dword [eax + 0x48]
cmp eax, dword [ecx + 0x44]
jne 0x471ff9
cmp byte [edi + 0x278], 0
je 0x471ff9
cmp byte [ebp + 0x260], 0
je 0x471f8e
push dword [edi + 0x7c]
push dword [ebp + 0x7c]
call fcn.0047acd0
add esp, 8
test eax, eax
je 0x471ff9
cmp byte [ebp + 0x261], 0
je 0x471fa5
mov eax, dword [ebp + 0xcc]
cmp eax, dword [edi + 0xcc]
jne 0x471ff9
push dword [edi + 0x64]
push dword [ebp + 0x64]
call fcn.0047acd0
add esp, 8
test eax, eax
je 0x471ff9
mov eax, dword [ebp + 0xc8]
cmp eax, dword [edi + 0xc8]
jne 0x471ff9
mov eax, dword [ebp + 0x2a0]
test byte [eax + 0x4c], 1
je 0x47200d
lea eax, [edi + 0x1d4]
push eax
lea eax, [ebp + 0x1d4]
push eax
call fcn.00470be0
add esp, 8
test al, al
je 0x471ff9
cmp dword [edi + 0x190], 2
je 0x47200d
mov byte [esp + 0x12], 1
mov ebx, dword [esp + 0x2c]
cmp dword [esp + 0x1c], 0
jne 0x471a80
jmp 0x472188
mov bh, byte [esp + 0x13]
test bh, bh
je 0x4720a3
mov ecx, dword [edi + 0x104]
mov eax, dword [ebp + 0x104]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x472045
test dl, dl
je 0x472041
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x472045
add eax, 2
add ecx, 2
test dl, dl
jne 0x472025
xor eax, eax
jmp 0x47204a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x472089
mov ecx, dword [edi + 0x108]
mov eax, dword [ebp + 0x108]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x472080
test dl, dl
je 0x47207c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x472080
add eax, 2
add ecx, 2
test dl, dl
jne 0x472060
xor eax, eax
jmp 0x472085
sbb eax, eax
or eax, 1
test eax, eax
je 0x4720b0
cmp dword [edi + 0x310], 0
mov ebx, dword [esp + 0x2c]
jne 0x471ffd
mov dword [esp + 0x14], edi
jmp 0x471ffd
cmp dword [edi + 0x310], 0
jne 0x471ff9
mov al, byte [esp + 0x11]
test al, al
je 0x472146
mov eax, dword [edi + 0xbc]
test eax, eax
je 0x471ff9
mov edx, dword [edi + 0xc0]
test edx, edx
je 0x471ff9
mov ecx, dword [ebp + 0xbc]
nop
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x472100
test bl, bl
je 0x4720fc
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x472100
add ecx, 2
add eax, 2
test bl, bl
jne 0x4720e0
xor eax, eax
jmp 0x472105
sbb eax, eax
or eax, 1
test eax, eax
jne 0x471ff9
mov eax, dword [ebp + 0xc0]
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x472133
test cl, cl
je 0x47212f
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x472133
add eax, 2
add edx, 2
test cl, cl
jne 0x472113
xor eax, eax
jmp 0x472138
sbb eax, eax
or eax, 1
test eax, eax
jne 0x471ff9
mov al, byte [esp + 0x11]
jmp 0x472153
cmp dword [edi + 0x314], 0
jne 0x471ff9
test bh, bh
jne 0x47215b
test al, al
je 0x4721c6
mov dword [esp + 0x14], edi
test bh, bh
je 0x47216c
cmp dword [edi + 0x310], 0
jne 0x472181
test al, al
je 0x471ff9
cmp dword [edi + 0x314], 0
je 0x471ff9
mov eax, dword [esp + 0x38]
mov byte [eax], 1
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x2c]
test edi, edi
je 0x4721e8
push edi
push ebx
call fcn.004692d0
add esp, 8
cmp dword [ebx + 0x78], 0
je 0x4721af
push 5
push ebx
call fcn.0047b440
add esp, 8
mov eax, dword [esp + 0x34]
mov dword [eax], edi
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov ebx, eax
jmp 0x471ffd
cmp byte [esp + 0x30], 0
mov ebx, dword [esp + 0x2c]
je 0x472190
cmp dword [esp + 0x20], 0
je 0x472190
push str.Multiplexed_connection_found_
push ebx
call fcn.004766a0
add esp, 8
jmp 0x472190
cmp dword [ebx + 0x78], 0
je 0x4721f9
push 5
push ebx
call fcn.0047b440
add esp, 8
cmp byte [esp + 0x12], 0
je 0x47221e
cmp byte [ebx + 0x731], 0
je 0x47221e
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set
push ebx
call fcn.004766a0
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