Function at 0x4781b0
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 + 0x540]
xor esi, esi
mov dword [esp + 0x18], edi
test byte [eax + 0x40], 3
je 0x47820a
cmp byte [ebp + 0x50d], 0
je 0x4781e6
cmp byte [ebp + 0x500], 0
jne 0x47820a
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.0046eab0
add esp, 4
test al, al
je 0x47820e
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x47820e
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x478230
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x478230
mov al, 1
jmp 0x478232
xor al, al
cmp byte [ebp + 0x509], 0
mov byte [esp + 0x13], al
je 0x47825b
test byte [ebx + 0xd80], 0x28
je 0x47825b
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x47825b
mov byte [esp + 0x11], 1
jmp 0x478261
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.004761c0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x478a85
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.0047d450
add esp, 0x14
test esi, esi
je 0x478349
mov eax, dword [edi]
test eax, eax
jne 0x478306
cmp byte [ebx + 0xb25], al
je 0x4782f0
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.0047d450
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.00476700
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.0047d450
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x47832e
push dword [ebx + 0x78]
call fcn.0046eab0
add esp, 4
test al, al
jne 0x47832e
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.0047d450
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x478349
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.0047d450
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x47834d
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x478a85
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 + 0x51e], al
jne 0x478a1f
cmp byte [edi + 0x500], al
jne 0x478a1f
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x478392
mov eax, dword [edi + 0x5d4]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x4783e6
test eax, eax
jne 0x478a1f
cmp byte [edi + 0x2c4], al
jne 0x4783bf
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.0047d450
add esp, 0xc
jmp 0x478a1b
cmp dword [edi + 0x420], 0xffffffff
jne 0x4783e6
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.0047d450
add esp, 0xc
jmp 0x478a1b
mov ecx, dword [ebp + 0x7dc]
mov eax, dword [edi + 0x7dc]
test ecx, ecx
je 0x47843b
test eax, eax
je 0x478a1b
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x478420
test dl, dl
je 0x47841c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x478420
add ecx, 2
add eax, 2
test dl, dl
jne 0x478400
xor eax, eax
jmp 0x478425
sbb eax, eax
or eax, 1
test eax, eax
jne 0x478a1b
mov al, byte [ebp + 0x7e0]
cmp al, byte [edi + 0x7e0]
jmp 0x47843d
test eax, eax
jne 0x478a1b
mov ecx, dword [edi + 0x540]
mov edx, dword [ebp + 0x540]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x47847a
push dword [ecx + 0x40]
call fcn.0047b520
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x478a1b
cmp byte [edi + 0x7e1], 0
je 0x478a1b
mov al, byte [ebp + 0x506]
cmp al, byte [edi + 0x506]
jne 0x478a1b
mov al, byte [ebp + 0x507]
cmp al, byte [edi + 0x507]
jne 0x478a1b
test al, al
je 0x47859e
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x478a1b
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x478a1b
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.00481770
add esp, 8
test eax, eax
je 0x478a1b
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 0x478a17
test edx, edx
je 0x47853d
test esi, esi
je 0x47853d
mov al, byte [edx]
cmp al, byte [esi]
jne 0x478530
test al, al
je 0x47852c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x478530
add edx, 2
add esi, 2
test al, al
jne 0x478510
xor eax, eax
jmp 0x478535
sbb eax, eax
or eax, 1
test eax, eax
jne 0x478a17
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 0x478a17
test edx, edx
je 0x47859a
test esi, esi
je 0x47859a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x478587
test al, al
je 0x478583
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x478587
add edx, 2
add esi, 2
test al, al
jne 0x478567
xor eax, eax
jmp 0x47858c
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x478a1b
jmp 0x47859e
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x503]
cmp al, byte [edi + 0x503]
jne 0x478a1b
mov al, byte [ebp + 0x504]
cmp al, byte [edi + 0x504]
jne 0x478a1b
cmp byte [ebp + 0x506], 0
je 0x478688
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x478a1b
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x478a1b
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.00481770
add esp, 8
test eax, eax
je 0x478a1b
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x478a1b
cmp dword [ebp + 0x358], 2
jne 0x478688
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x47865d
lea eax, [edi + 0x4d0]
push eax
lea eax, [ebp + 0x4d0]
push eax
call fcn.004775c0
add esp, 8
test al, al
je 0x478a1b
cmp dword [edi + 0x480], 2
jmp 0x478682
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.004775c0
add esp, 8
test al, al
je 0x478a1b
cmp dword [edi + 0x460], 2
jne 0x478a1b
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x47869c
test eax, eax
jne 0x478a1f
jmp 0x4786af
test eax, eax
je 0x4786af
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x478a1b
mov ecx, dword [ebp + 0x7c4]
test ecx, ecx
jne 0x4786c2
cmp word [ebp + 0x7c8], cx
je 0x47872d
mov ax, word [edi + 0x7c8]
cmp ax, word [ebp + 0x7c8]
jne 0x478a1b
mov eax, dword [edi + 0x7cc]
cmp eax, dword [ebp + 0x7cc]
jne 0x478a1b
test ecx, ecx
je 0x47872d
mov eax, dword [edi + 0x7c4]
test eax, eax
je 0x478a1b
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x478720
test dl, dl
je 0x47871c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x478720
add eax, 2
add ecx, 2
test dl, dl
jne 0x478700
xor eax, eax
jmp 0x478725
sbb eax, eax
or eax, 1
test eax, eax
jne 0x478a1b
mov esi, dword [ebp + 0x540]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x4787ad
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x478766
test dl, dl
je 0x478762
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x478766
add eax, 2
add ecx, 2
test dl, dl
jne 0x478746
xor eax, eax
jmp 0x47876b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x478a13
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4787a0
test dl, dl
je 0x47879c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4787a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x478780
xor eax, eax
jmp 0x4787a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x478a13
cmp byte [ebp + 0x506], 0
je 0x4787c8
test bl, 1
jne 0x4787c8
cmp byte [ebp + 0x50f], 0
je 0x4788b6
mov eax, dword [edi + 0x540]
push dword [eax]
push dword [esi]
call fcn.004817a0
add esp, 8
test eax, eax
jne 0x47880b
mov eax, dword [edi + 0x540]
push dword [eax + 0x40]
call fcn.0047b520
mov ecx, dword [ebp + 0x540]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x478a13
cmp byte [edi + 0x7e1], 0
je 0x478a13
cmp byte [ebp + 0x503], 0
je 0x478830
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.004817a0
add esp, 8
test eax, eax
je 0x478a13
cmp byte [ebp + 0x504], 0
je 0x47884b
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x478a13
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.004817a0
add esp, 8
test eax, eax
je 0x478a13
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x478a13
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x4788b6
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.004775c0
add esp, 8
test al, al
je 0x478a13
cmp dword [edi + 0x460], 2
je 0x4788b6
mov byte [esp + 0x12], 1
jmp 0x478a13
mov bh, byte [esp + 0x13]
test bh, bh
je 0x478950
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4788f0
test dl, dl
je 0x4788ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4788f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4788d0
xor eax, eax
jmp 0x4788f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47892e
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x478925
test dl, dl
je 0x478921
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x478925
add eax, 2
add ecx, 2
test dl, dl
jne 0x478905
xor eax, eax
jmp 0x47892a
sbb eax, eax
or eax, 1
test eax, eax
je 0x47895d
cmp dword [edi + 0x5e4], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x478a1f
mov dword [esp + 0x18], edi
jmp 0x478a1f
cmp dword [edi + 0x5e4], 0
jne 0x478a13
mov al, byte [esp + 0x11]
test al, al
je 0x478a29
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x478a13
mov edx, dword [edi + 0x360]
test edx, edx
je 0x478a13
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x4789b0
test bl, bl
je 0x4789ac
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x4789b0
add ecx, 2
add eax, 2
test bl, bl
jne 0x478990
xor eax, eax
jmp 0x4789b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x478a13
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4789e0
test cl, cl
je 0x4789dc
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4789e0
add eax, 2
add edx, 2
test cl, cl
jne 0x4789c0
xor eax, eax
jmp 0x4789e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x478a13
mov al, byte [esp + 0x11]
test bh, bh
jne 0x4789f5
test al, al
je 0x478a34
mov dword [esp + 0x18], edi
test bh, bh
je 0x478a06
cmp dword [edi + 0x5e4], 0
jne 0x478a57
test al, al
je 0x478a13
cmp dword [edi + 0x5e8], 0
jne 0x478a57
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x478358
jmp 0x478a62
cmp dword [edi + 0x5e8], 0
jne 0x478a13
jmp 0x4789ed
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x478a66
cmp dword [esp + 0x1c], 0
je 0x478a66
push str.Multiplexed_connection_found__n
push ebx
call fcn.0047d450
add esp, 8
jmp 0x478a66
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x478a85
push ebx
mov dword [edi], ebx
call fcn.00476700
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.00476700
add esp, 4
cmp byte [esp + 0x12], 0
je 0x478ab3
cmp byte [ebx + 0xb25], 0
je 0x478ab3
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.0047d450
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